libpipewire-module-echo-cancel - Man Page

Echo Cancel

Description

The echo-cancel module performs echo cancellation. The module creates virtual echo-cancel-capture source and echo-cancel-playback sink nodes and the associated streams.

The echo-cancel module is mostly used in video or audio conference applications. When the other participants talk and the audio is going out to the speakers, the signal will be picked up again by the microphone and sent back to the other participants (along with your talking), resulting in an echo. This is annoying because the other participants will hear their own echo from you.

Conceptually the echo-canceler is composed of 4 streams:

.--------.     .---------.     .--------.     .----------.     .-------.
|  mic   | --> | capture | --> |        | --> |  source  | --> |  app  |
                               | cancel |
.--------.     .---------.     |        |     .----------.     .---------.
|  app   | --> |  sink   | --> |        | --> | playback | --> | speaker |

Module Name

libpipewire-module-echo-cancel

Module Options

Options specific to the behavior of this module

General Options

Options with well-known behavior:

Example Configuration

 # ~/.config/pipewire/pipewire.conf.d/my-echo-cancel.conf

 context.modules = [
  {   name = libpipewire-module-echo-cancel
      args = {
          # library.name  = aec/libspa-aec-webrtc
          # node.latency = 1024/48000
          # monitor.mode = false
          capture.props = {
             node.name = "Echo Cancellation Capture"
          }
          source.props = {
             node.name = "Echo Cancellation Source"
          }
          sink.props = {
             node.name = "Echo Cancellation Sink"
          }
          playback.props = {
             node.name = "Echo Cancellation Playback"
          }
      }
  }
]

Referenced By

libpipewire-modules(7).

1.2.6 PipeWire