<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40" dir="ltr"><head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-GB" style="text-align:left; direction:ltr;"><div>Hi Stuart,</div><div><br></div><div>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.</div><div>
Anyhow, I could work around the race for default sink by disabling the manual module-alsa-sink and adding the "tsched=off" option to <span style="font-family: monospace;">load-module module-udev-detect tsched=off</span></div><div>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.<br></div><div>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.</div><div>The set-default-sink and set-default-source are now correctly used.</div><div><br></div><div>I can see some drops sink and drop source in the pa logs.</div><div>I'll investigate into that and there must be some tweaking to do. </div><div><br></div><div>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.</div><div>I couldn't find any docs on the speex module so i didn't really look into it </div><div><br></div><div>So far so good.</div><div><br></div><div>PS i just started with all the pulseaudio and aec so i'll do as much testing and reading. </div><div>I'll come back with more results soon.</div><div><br></div><div>Thanks for the advice.</div><div><br></div><div>Monkey</div><div><br></div><div>On Fri, 2020-05-22 at 13:28 +0000, Stuart Naylor wrote:</div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex">
<div class="WordSection1">
<p class="MsoNormal">You are supposed to be able to define the master source & sink
<br>
<br>
My usual is <br>
<br>
>>>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</p>
<p class="MsoNormal">>>><o:p> </o:p></p>
<p class="MsoNormal">>>>set-default-source echoCancel_source</p>
<p class="MsoNormal">>>>set-default-sink echoCancel_sink</p>
<p class="MsoNormal"><br>
use_master_format=1 just seemed easier than the problems I had in attaining a working defined sink/source<br>
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.<br>
<br>
I also got into some problems as wanted to have asound.conf that would use pulse.<br>
<br>
Using pulseaudio_alsa and<br>
<br>
>>># Use PulseAudio by default</p>
<p class="MsoNormal">>>>pcm.!default {</p>
<p class="MsoNormal">  >>>type pulse</p>
<p class="MsoNormal">  >>>fallback "sysdefault"</p>
<p class="MsoNormal">  >>>hint {</p>
<p class="MsoNormal">  >>>  show on</p>
<p class="MsoNormal">  >>>  description "Default ALSA Output (currently PulseAudio Sound Server)"</p>
<p class="MsoNormal">  >>>}</p>
<p class="MsoNormal">>>>}</p>
<p class="MsoNormal">>>><o:p> </o:p></p>
<p class="MsoNormal">>>>ctl.!default {</p>
<p class="MsoNormal">>>> type pulse</p>
<p class="MsoNormal">>>> fallback "sysdefault"</p>
<p class="MsoNormal">>>>}<br>
<br>
But seemed to get stuck in this tail chasing of default sound on reboots.<br>
<br>
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.<br>
I am using soundcards with a singular clock and card for sink/source and getting similar results which has me head scratching.<br>
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)<br>
<br>
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.<br>
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.<br>
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.<br>
Really the gain shouldn’t be there are its problematic anyway.<br>
<br>
Stuart<br>
<br>
</p>
<p class="MsoNormal">Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">
Mail</a> for Windows 10</p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>


</blockquote></body></html>