[pulseaudio] module.c: Failed to load module "module-echo-cancel" (argument: "aec_method=webrtc"): initia lization failed.

Bug #1261666 reported by sles
74
This bug affects 16 people
Affects Status Importance Assigned to Milestone
pulseaudio (Ubuntu)
Fix Released
Undecided
David Henningsson

Bug Description

Hello!
13.10.
Trying to load module-echo-cancel with webrtc and get:

[pulseaudio] module.c: Failed to load module "module-echo-cancel" (argument: "aec_method=webrtc"): initia
lization failed.

I guess this is wrong...

Revision history for this message
sles (slesru) wrote :

btw, asked colleague to try on his suse:

pactl load-module module-echo-cancel aec_method=webrtc
28

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in pulseaudio (Ubuntu):
status: New → Confirmed
Revision history for this message
tomcrus (tomcrus) wrote :

I tried echo-cancellation with pulseaudio using an ubuntu 13.10 live-session (booting a live-session from usb-stick).

Loading module-echo-cancel without specifying canceller works like expected (propably using speex canceller-implementation; I also verified this by using gstreamer-properties, which echoes back to speaker what is recorded from the mic. Using echo-cancellation will reduce the echo-loop)

But specifying canceller 'webrtc' which should be included in pulseaudio since version 2.0 (see http://www.freedesktop.org/wiki/Software/PulseAudio/Notes/2.0/) gave me a syslog-error, stating webrtc is an unknown canceller impementation.

When looking at the pulseaudio package-dependencies I can't find libwebrtc-audio-processing-0 opposed to debians pulseaudio-package (see http://packages.debian.org/de/sid/pulseaudio). This leads me to the conclusion that it's a package-build-failure.

See also attached log of console-output.

tomcrus (tomcrus)
tags: added: module-echo-cancel webrtc
Revision history for this message
David Henningsson (diwic) wrote :

Hi.

Due to the security concerns (and disk space) of bringing a new package into main, and due to low demand, I've skipped the webrtc echo canceller so far. But I don't mind adding it if someone has a practical use case for it?

Changed in pulseaudio (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Reagan Sanders (vexo) wrote :

While it is true that this will probably always be low demand, I think many find that webrtc produces (subjectively) nicer sounding results that the speex canceler. The difference in performance is especially pronounced when the input and output sound devices do not share the same clock source (such as when a USB mic is in use). Speex is known for not handling the resync when the clocks drift too far out of alignment as smoothly as webrtc does.

It would be nice to have some way of getting this functionality without having to build from source or other work-arounds.

Revision history for this message
David Henningsson (diwic) wrote :

I mean, what application are you using that appears to be benefiting from an echo canceler? Some VOIP software I assume? Is the application using an echo canceler by default, or do you have to load it manually somehow?

Revision history for this message
Reagan Sanders (vexo) wrote :

I believe Empathy does request whatever echo-cancellation filter PA has available for VOIP calls.

Ultimately, this is somewhat of a chicken-and-egg problem - without a decent echo-canceler within PA (and the speex implementation currently available in PA doesn't really count), no one will write apps to use it. The webrtc stuff has been in Debian stable for awhile now.

Revision history for this message
Tino Lange (tlange) wrote :

I would also like to have webrtc for echo cancellation in pulseaudio.

Currently pulseaudio with webrtc is the best choice as echo canceller for mumble.
(The mumble built in echo canceller is really bad compared to having pulse echo cancellation "before").

But one system with speex and another with webrtc show significant differences, webrtc is much better. This is unfortunately missing under ubuntu. Could it be added?

Revision history for this message
Puyol (paul9510) wrote :

Hello, I'm using ubuntu 13.04 and pulseaudio 3.0, i tried to use echo cancellation of WebRTC :
pactl load-module module-echo-cancel aec_method=WebRTC
but it return :
Échec : Échec lors de l'initialisation du module
Any one have an idea how to fix this?
Thanks

Revision history for this message
David Henningsson (diwic) wrote :

Ok, first step is to get the webrtc dependency into main. Waiting for ubuntu-mir team here: bug 1325859

Changed in pulseaudio (Ubuntu):
assignee: nobody → David Henningsson (diwic)
status: Triaged → In Progress
Revision history for this message
Matthias Hoffmann (matze150) wrote :

Please increase the importance further,
I think the demand for a thing like the webrtc echo cancellator is higher than you expect. I know a few people who stay with windows because of the noise-reduction in the realtek audio driver, which removes the crackling noise in teamspeak/skype they have in linux (see http://unix.stackexchange.com/questions/115433/microphone-static-background-noise-suppression-on-linux for a longer dicussion).
I compiled pulseaudio myself to check if that module would solve the problem ... and indeed, with that plugin the quality of my microfone input can be improved to the quality it has in windows with the realtek driver.

Revision history for this message
David Henningsson (diwic) wrote :

 > Please increase the importance further,

From what I can tell, we're currently waiting for a security review by the security team.

Revision history for this message
Thomas Seliger (neovatar) wrote :

First: Thanks for your work!

Any news on this issue? I am also in need of a good noise cancelation option for pulseaudio (using Mumble and Teamspeak 3).

Revision history for this message
David Henningsson (diwic) wrote :

News is that we're planning to roll this out as part of the upgrade to PulseAudio 6.0, which hopefully will happen during the 15.04 cycle. If you'd like to help by testing to make sure that we got the stuff right, we're testing PA 6.0 (and Bluez 5) in a ppa here: https://launchpad.net/~ubuntu-desktop/+archive/ubuntu/transitions

Revision history for this message
David Henningsson (diwic) wrote :

Landed in vivid now, enjoy!

Changed in pulseaudio (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Jenni (m-jk-n) wrote :

Still seems broken in Vivid?

$ pulseaudio --version
pulseaudio 6.0
(it's the pulseaudio 1:6.0-0ubuntu4 package)

$ pactl load-module module-echo-cancel aec_method=WebRTC
Failure: Module initialization failed

libwebrtc is installed:
libwebrtc-audio-processing-dev
libwebrtc-audio-processing-0

Revision history for this message
David Henningsson (diwic) wrote :

"webrtc" is lowercase, this works for me:

$ pactl load-module module-echo-cancel aec_method=webrtc

Revision history for this message
Boris Hollas (borish) wrote :

Same problem with 14.04:

~$ pactl load-module module-echo-cancel source_name=echosource aec_method=webrtc
Failure: Module initialization failed

From the syslog:
pulseaudio[7477]: [pulseaudio] module-echo-cancel.c: Invalid echo canceller implementation 'webrtc'

Revision history for this message
David Henningsson (diwic) wrote :

 > Same problem with 14.04:

It's fixed in 15.04, which is to be released this month.

Revision history for this message
Boris Hollas (borish) wrote :

Will there be an update for 14.04 as well?

Revision history for this message
David Henningsson (diwic) wrote :

 > Will there be an update for 14.04 as well?

Probably not, sorry.

Revision history for this message
Boris Hollas (borish) wrote :

So what can I do to fix this problem on 14.04?

Revision history for this message
Supersaiyan_IV (saiyan-iv) wrote :

~$ pactl load-module module-echo-cancel aec_method=webrtc
Failure: Module initialization failed
~$ uname -a
Linux kuba-LIFEBOOK-NH532 4.2.0-16-generic #19-Ubuntu SMP Thu Oct 8 15:35:06 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Ubuntu MATE 15.10

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.