Re: pa echo-cancel module and alsa

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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=off
I 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

 

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux