<div dir="ltr">David,<div><br></div><div>Sounds like you've found the root cause of this and have a fix is the works.<div><br></div><div>Excellent!</div><div><br></div><div>I think this same problem is happening with RTCM's as well. I does seem less frequent or harder to detect by ear. That may have more to do with using ACID on Intel Atom hardware than it does with RTCM's, don't know. </div><div><br></div><div>Is your fix only to simpleUSB, or is there a chance it will help RTCM's as well? </div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 31, 2015 at 11:24 PM, David McGough <span dir="ltr"><<a href="mailto:kb4fxc@inttek.net" target="_blank">kb4fxc@inttek.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Hi Bob,<br>
<br>
The variable audio delay issue is occasionally seen on PC-computer<br>
platforms, too, particularly with the simpleusb driver. This is NOT the<br>
audio delay that is unavoidable due to buffering as the audio samples pass<br>
through Asterisk. Nor is this issue related to the Asterisk jitter buffer,<br>
etc.<br>
<br>
Basically stated, the problem is that the input sample rate -dynamically-<br>
varies from the output sample rate. Depending on various factors, you may<br>
have too many samples, or too few, at any given moment. With the current<br>
code, the main issue seen is that too many output sound frames get queued,<br>
causing a frequently increasing in length input to output audio<br>
delay--sometimes with delays of maybe as much as one second (really<br>
annoying!). If there is an output buffer under-run, you hear a pop/click<br>
due to running out of samples.<br>
<br>
Initially, I suspected some kind of subtle bug in the simpleusb sound<br>
code. But, after experimentation, I've been able to easily duplicate this<br>
issue using my native ALSA stand-alone test software or even ALSA<br>
applications like arecord and aplay, etc.<br>
<br>
One solution to this problem is to use a dynamic buffer that effectively<br>
re-samples the audio, gently up-sampling or down-sampling, depending on<br>
the current trends for overrun or under-run.  I've got working software<br>
that accomplishes this now. And, it runs full-duplex beautifully for 24+<br>
hours with no change in audio delay and no logged clicks or pops.<br>
<br>
Hopefully, I'll get a few days time when I'm rested to focus on completing<br>
the integration of this code into simpleusb.  So far, I've had no time at<br>
all to complete this.<br>
<br>
But, hopefully soon.<br>
<br>
73, David KB4FXC<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
On Mon, 31 Aug 2015, kk6ecm wrote:<br>
<br>
> Couple of questions:<br>
><br>
> 1) Is this audio delay the same as experienced with ACID?<br>
><br>
> 2) What is the nature of the fix that reduces the delay?<br>
><br>
> Thanks,<br>
> Bob<br>
> kk6ecm<br>
><br>
> Sent from iPad<br>
><br>
><br>
> > On Aug 27, 2015, at 9:33 AM, David McGough <<a href="mailto:kb4fxc@inttek.net">kb4fxc@inttek.net</a>> wrote:<br>
> ><br>
> ><br>
> > Hi LaRoy,<br>
> ><br>
> > Progress has been slow in recent weeks, due primarily to family<br>
> > commitments that I've got. At this point, the update is waiting on me.<br>
> ><br>
> > I am hopeful to minimally have a bug-fix interim release soon. The big<br>
> > item on the list being resolution for the variable audio delay.<br>
> ><br>
> > I hope to have more details soon.<br>
> ><br>
> ><br>
> > 73, David KB4FXC<br>
> ><br>
> ><br>
> ><br>
> >> On Thu, 27 Aug 2015, LaRoy McCann wrote:<br>
> >><br>
> >> Doug,<br>
> >> Just curious on how things are progressing with a new software update<br>
> >> for the PI2?<br>
> >><br>
> >> Thanks,<br>
> >><br>
> >> LaRoy McCann, K5TW<br>
> >><br>
> >><br>
> >><br>
> >><br>
> >> ---<br>
> >> This email has been checked for viruses by Avast antivirus software.<br>
> >> <a href="https://www.avast.com/antivirus" rel="noreferrer" target="_blank">https://www.avast.com/antivirus</a><br>
> >><br>
> >> _______________________________________________<br>
> >><br>
> >> arm-allstar mailing list<br>
> >> <a href="mailto:arm-allstar@hamvoip.org">arm-allstar@hamvoip.org</a><br>
> >> <a href="http://lists.hamvoip.org/cgi-bin/mailman/listinfo/arm-allstar" rel="noreferrer" target="_blank">http://lists.hamvoip.org/cgi-bin/mailman/listinfo/arm-allstar</a><br>
> >><br>
> >> Visit the BBB and RPi2 web page - <a href="http://hamvoip.org" rel="noreferrer" target="_blank">http://hamvoip.org</a><br>
> ><br>
> > _______________________________________________<br>
> ><br>
> > arm-allstar mailing list<br>
> > <a href="mailto:arm-allstar@hamvoip.org">arm-allstar@hamvoip.org</a><br>
> > <a href="http://lists.hamvoip.org/cgi-bin/mailman/listinfo/arm-allstar" rel="noreferrer" target="_blank">http://lists.hamvoip.org/cgi-bin/mailman/listinfo/arm-allstar</a><br>
> ><br>
> > Visit the BBB and RPi2 web page - <a href="http://hamvoip.org" rel="noreferrer" target="_blank">http://hamvoip.org</a><br>
> _______________________________________________<br>
><br>
> arm-allstar mailing list<br>
> <a href="mailto:arm-allstar@hamvoip.org">arm-allstar@hamvoip.org</a><br>
> <a href="http://lists.hamvoip.org/cgi-bin/mailman/listinfo/arm-allstar" rel="noreferrer" target="_blank">http://lists.hamvoip.org/cgi-bin/mailman/listinfo/arm-allstar</a><br>
><br>
> Visit the BBB and RPi2 web page - <a href="http://hamvoip.org" rel="noreferrer" target="_blank">http://hamvoip.org</a><br>
><br>
<br>
_______________________________________________<br>
<br>
arm-allstar mailing list<br>
<a href="mailto:arm-allstar@hamvoip.org">arm-allstar@hamvoip.org</a><br>
<a href="http://lists.hamvoip.org/cgi-bin/mailman/listinfo/arm-allstar" rel="noreferrer" target="_blank">http://lists.hamvoip.org/cgi-bin/mailman/listinfo/arm-allstar</a><br>
<br>
Visit the BBB and RPi2 web page - <a href="http://hamvoip.org" rel="noreferrer" target="_blank">http://hamvoip.org</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>--<br></div><div>Tim</div></div></div></div></div>
</div>