DSPRelated.com
Forums

Audio pops in live audio streaming system.

Started by Unknown December 23, 2007
In a live audio streaming system, audio pops are caused by network
packet delay. How to smooth the sharp decay, and what stuff should be
filled in the empty buffer?
?? wrote:
> In a live audio streaming system, audio pops are caused by network > packet delay .
and other things How to smooth the sharp decay, and what stuff should be
> filled in the empty buffer?
You should keep enough data on hand so there are no gaps. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
On Dec 24, 11:24&#4294967295;am, Jerry Avins <j...@ieee.org> wrote:
> ?? wrote: > > In a live audio streaming system, audio pops are caused by network > > packet delay &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295;. > > &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295;and other things > > &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295;How to smooth the sharp decay, and what stuff should be > > > filled in the empty buffer? > > You should keep enough data on hand so there are no gaps. > > Jerry > -- > Engineering is the art of making what you want from things you can get.
> &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Well, that will cause longer delay, what can be done if I can't change the size of the buffer.
"??" <iseelinden@gmail.com> wrote in message
news:40d75fab-b655-4b84-87a2-318919e6a637@a35g2000prf.googlegroups.com...
> In a live audio streaming system, audio pops are caused by network > packet delay. How to smooth the sharp decay, and what stuff should be > filled in the empty buffer?
The common solution is replaying the last packet several times with the gradual decrease in the volume. Vladimir Vassilevsky DSP and Mixed Signal Consultant www.abvolt.com
&#20309;&#24517; wrote:
> On Dec 24, 11:24 am, Jerry Avins <j...@ieee.org> wrote: >> ?? wrote: >>> In a live audio streaming system, audio pops are caused by network >>> packet delay . >> and other things >> >> How to smooth the sharp decay, and what stuff should be >> >>> filled in the empty buffer? >> You should keep enough data on hand so there are no gaps. >> >> Jerry >> -- >> Engineering is the art of making what you want from things you can get. > >> &macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr; > > Well, that will cause longer delay, what can be done if I can't change > the size of the buffer.
Let the buffer get half full before you begin to empty it. If it starts to fill up, empty it a bit faster. If it gets too empty, slow the output down. A gradual change of a few percent will probably not be noticed. Jerry -- Engineering is the art of making what you want from things you can get. &macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;
Vladimir Vassilevsky wrote:
> "??" <iseelinden@gmail.com> wrote in message > news:40d75fab-b655-4b84-87a2-318919e6a637@a35g2000prf.googlegroups.com... >> In a live audio streaming system, audio pops are caused by network >> packet delay. How to smooth the sharp decay, and what stuff should be >> filled in the empty buffer? > > The common solution is replaying the last packet several times with the > gradual decrease in the volume.
Does that sound like a STUTT-TT-tt-tter? Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
"Jerry Avins" <jya@ieee.org> wrote in message
news:0JKdnSZfvPxBo_LanZ2dnUVZ_gCdnZ2d@rcn.net...
> Vladimir Vassilevsky wrote: > > "??" <iseelinden@gmail.com> wrote in message > >
news:40d75fab-b655-4b84-87a2-318919e6a637@a35g2000prf.googlegroups.com...
> >> In a live audio streaming system, audio pops are caused by network > >> packet delay. How to smooth the sharp decay, and what stuff should be > >> filled in the empty buffer? > > > > The common solution is replaying the last packet several times with the > > gradual decrease in the volume. > > Does that sound like a STUTT-TT-tt-tter? >
Actually, the short replays sound like an echo in a metal pipe. There are more sophisticated methods of extrapolation also (similar to what is used for the pitch/speed shifting). The degradation is not very annoying till the packet loss does not exceed 10% or so. Vladimir Vassilevsky DSP and Mixed Signal Consultant www.abvolt.com
On Dec 23, 8:22 pm, "Vladimir Vassilevsky"
<antispam_bo...@hotmail.com> wrote:
> "??" <iseelin...@gmail.com> wrote in message > > news:40d75fab-b655-4b84-87a2-318919e6a637@a35g2000prf.googlegroups.com... > > > In a live audio streaming system, audio pops are caused by network > > packet delay. How to smooth the sharp decay, and what stuff should be > > filled in the empty buffer? > > The common solution is replaying the last packet several times with the > gradual decrease in the volume.
That would still allow a pop if the beginning and end of the last packet have quite different amplitudes. If you have a lot of extra processing capability, you could try continuing the waveform forward using an LPC or phase vocoder to essentially time stretch the last packet while doing a gradual fade out. If that packet is already compressed using some form of LPC or frequency domain encoding, then your guesswork might already be partially accomplished. But what if the audio contained in the last packet really is some sort of "pop" sound? IMHO. YMMV. -- rhn A.T nicholson d.0.t C-o-M
Hi,

Jerry Avins schrieb:
> Let the buffer get half full before you begin to empty it. If it starts > to fill up, empty it a bit faster. If it gets too empty, slow the output > down. A gradual change of a few percent will probably not be noticed.
I have to contradict. A few percent streching in the timeline /is/ significantly audiable (one half-step is about 6%). You have to stay in a range of about +-1% (music a bit less, speech a bit more) to be non-audiable. But furthermore you won't get a significant amount of time by this method unless you have large buffer, what is not intended. However, introducing the derired latency from the beginnig is usually a good idea. Marcel
Marcel M&uuml;ller wrote:
> Hi, > > Jerry Avins schrieb: >> Let the buffer get half full before you begin to empty it. If it >> starts to fill up, empty it a bit faster. If it gets too empty, slow >> the output down. A gradual change of a few percent will probably not >> be noticed. > > I have to contradict. A few percent streching in the timeline /is/ > significantly audiable (one half-step is about 6%). You have to stay in > a range of about +-1% (music a bit less, speech a bit more) to be > non-audiable. > But furthermore you won't get a significant amount of time by this > method unless you have large buffer, what is not intended. > > However, introducing the derired latency from the beginnig is usually a > good idea.
1% is about what I had in mind. That's about ten cents. Few people can match pitch better than that. (1200 cents/octave.) Jerry -- Engineering is the art of making what you want from things you can get. &macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;