[pulseaudio-discuss] pa echo-cancel module and alsa

Monkey Bizness monkey at infra-monkey.com
Fri May 22 18:06:19 UTC 2020


Hi Stuart,
I've tried to specify sink_master=alsa_output.default which is the sink
create by the alsa-sink module but wierdly my echoCanel_sink is slaved
to the alsa_input of the usb webcam.... 
I'll probably do more testing and file a bug report is needed.
Anyhow, I could work around the race for default sink by disabling the
manual module-alsa-sink and adding the "tsched=off" option to load-
module module-udev-detect tsched=offI just hope it doesn't mess with
the usb mic. The capture was working well. If it is messed up i'll have
to go back to setting the sinks manually or find a way to deal with it
through autodetect module.
Now the autodetected sinks use this option. The echo-cancel module uses
the autodetected sink and source and default masters. This means i
don't have to modify the alsa configuration.The set-default-sink and
set-default-source are now correctly used.
I can see some drops sink and drop source in the pa logs.I'll
investigate into that and there must be some tweaking to do. 
webrtc seems to have some interesting additional features i want to try
like noise suppression and mobile loud-speakerphone profile i want to
try out.I couldn't find any docs on the speex module so i didn't really
look into it 
So far so good.
PS i just started with all the pulseaudio and aec so i'll do as much
testing and reading. I'll come back with more results soon.
Thanks for the advice.
Monkey
On Fri, 2020-05-22 at 13:28 +0000, Stuart Naylor wrote:
> You are supposed to be able to define the master source & sink
> 
> 
> 
> 
> My usual is 
> 
> 
> 
> >>>load-module module-echo-cancel use_master_format=1
> aec_method=webrtc aec_args=“analog_gain_control=0
> digital_gain_control=1 agc_start_volume=85”
> source_name=echoCancel_source sink_name=echoCancel_sink
> >>> 
> >>>set-default-source echoCancel_source
> >>>set-default-sink echoCancel_sink
> 
> 
> use_master_format=1 just seemed easier than the problems I had in
> attaining a working defined sink/source
> 
> I have forgot where I found the details for master_sink &
> master_source parameters maybe its in the code but going to have a
> good look again at PA webrtc.
> 
> 
> 
> I also got into some problems as wanted to have asound.conf that
> would use pulse.
> 
> 
> 
> Using pulseaudio_alsa and
> 
> 
> 
> >>># Use PulseAudio by default
> >>>pcm.!default {
>   >>>type pulse
>   >>>fallback "sysdefault"
>   >>>hint {
>   >>>  show on
>   >>>  description "Default ALSA Output (currently PulseAudio Sound
> Server)"
>   >>>}
> >>>}
> >>> 
> >>>ctl.!default {
> >>> type pulse
> >>> fallback "sysdefault"
> >>>}
> 
> 
> 
> But seemed to get stuck in this tail chasing of default sound on
> reboots.
> 
> 
> 
> As said this weekend going to have another good look at PA Webrtc AEC
> on the Pi but I found when using the Pi output and usb mic the clock
> drift was quite excessive.
> 
> I am using soundcards with a singular clock and card for sink/source
> and getting similar results which has me head scratching.
> 
> You can wire up 2x I2s mics to a Pi quite easily and that would share
> the same clock as the Pi output (doesn’t work pi4 sadly)
> 
> 
> 
> I will look forward to how you get on as my SpeexEc results have been
> quite good on the Pi and expected PA WebRTC AEC to be better but
> actually seems worse.
> 
> PS both of us are setting autogain and from speex that isn’t really a
> good idea as it makes thing much harder for the adaptive FFT routine.
> 
> AGC needs really long attack/delay values in fact with voice in
> manner of speech its hard to use AGC and not just amplify noise.
> 
> Really the gain shouldn’t be there are its problematic anyway.
> 
> 
> 
> Stuart
> 
> 
> 
> 
> Sent from 
> Mail for Windows 10
>  
> 
> 
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20200522/5cf73dcc/attachment.htm>


More information about the pulseaudio-discuss mailing list