30 lines
1.2 KiB
Text
30 lines
1.2 KiB
Text
|
|
# Acoustic echo cancellation for VoLTE speakerphone calls (journal/ims.md s43).
|
||
|
|
# Creates a virtual pair: ec_sink (play here; forwarded to the speakers and
|
||
|
|
# used as the AEC reference) and ec_source (mic with the speaker signal
|
||
|
|
# subtracted, WebRTC AEC). capture/playback are pinned to the hardware nodes
|
||
|
|
# so making ec_* the defaults cannot loop the module into itself.
|
||
|
|
context.modules = [
|
||
|
|
{ name = libpipewire-module-echo-cancel
|
||
|
|
args = {
|
||
|
|
library.name = aec/libspa-aec-webrtc
|
||
|
|
source.props = {
|
||
|
|
node.name = "ec_source"
|
||
|
|
node.description = "Echo-cancelled microphone"
|
||
|
|
}
|
||
|
|
sink.props = {
|
||
|
|
node.name = "ec_sink"
|
||
|
|
node.description = "Echo-cancelled speakers"
|
||
|
|
}
|
||
|
|
capture.props = {
|
||
|
|
node.name = "ec_capture"
|
||
|
|
target.object = "alsa_input.platform-sound.capture.1.0"
|
||
|
|
node.passive = true
|
||
|
|
}
|
||
|
|
playback.props = {
|
||
|
|
node.name = "ec_playback"
|
||
|
|
target.object = "alsa_output.platform-sound.playback.0.0"
|
||
|
|
node.passive = true
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
]
|