Hi, On Sat, 6 Mar 2021, at 1:09 AM, Giovanni Campagna wrote: > Hello all, > > I'm the developer of Almond (https://almond.stanford.edu), an open- > source voice assistant, that is, an application that listens for > commands from the user in voice (continuously until a specific word is > heard) and then executes actions and replies. > > Our assistant makes use of PulseAudio for audio frontend processing. I > have enabled echo cancellation by setting "filter.want=echo-cancel" on > both the record and playback streams, and the echo cancellation modules > seem to load correctly, but it seems that echo cancellation is only > performed between those two streams. Music or other audio that is not > assistant speech will not be echo cancelled. > > For the voice assistant use case, we would like to echo cancel against > all outputs currently playing from the speaker where we're recording > audio, so we have the clearest input from the user to convert to text. > > Is it possible to implement that using PulseAudio? What would be the > best way to do so? > > Thanks in advance for the kind reply, and best, For your sort of use-case, a static configuration to load module-echo-cancel and route the outputs you want to cancel to the echo-cancel sink should work better than using the filter.want property (which you'll need to set on _all_ streams that you intend to have participate in echo cancellation). Cheers, Arun _______________________________________________ pulseaudio-discuss mailing list pulseaudio-discuss@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss