libpipewire-module-echo-cancel(7) Miscellaneous Information Manual libpipewire-module-echo-cancel(7)

libpipewire-module-echo-cancel - Echo Cancel

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 |

libpipewire-module-echo-cancel

Options specific to the behavior of this module

Options with well-known behavior:

 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"
          }
      }
  }
]

1.0.5 PipeWire