The audio frame speex generates sounds pretty terrible most of the time, and I don't use it for jitter correction instead I just use it for dropped packets - so I usually drop the late packet. It sounds acceptable as long as I drop less than 5% of traffic (dropping 2 in a row makes a bad robot noise, so I reset the stream in that case). The good news is that on an unsaturated DSL line jitter and packet loss are basically 0.[1] In my experience dropping a packet without decoding NULL or without playing the gap packet make a really bad tick. John [1] The bad news is on a saturated DSL connection - it's basically unusable without a second of jitter buffering.> -----Original Message----- > From: owner-speex-dev@xiph.org [mailto:owner-speex-dev@xiph.org]On > Behalf Of Chris Flerackers > Sent: Tuesday, May 20, 2003 9:05 AM > To: speex-dev@xiph.org > Subject: [speex-dev] Speex settings and jitter > > > Hi, > > Is there are document where the interaction between all the configuration > options of speex is explained? > Speex seems to have CBR, VBR and ABR. You can also use SPEEX_SET_QUALITY > (SPEEX_SET_VBR_QUALITY) and SPEEX_SET_BITRATE which I suppose can't be set > at the same time. Is there a list of possible combinations somewhere? > > I also have another question related to jitter. To minimize jitter, you > usually need to make the audio > shorter and longer and preferably while keeping it sound smooth. > What is the > best way to do this > with speex? I saw that you can pass NULL to the decode function > to generate > an audio frame which > might be used to make the audio longer. Will speex always generate a > "fluent" audio stream (without ticks, ...) > when inserting these NULLs. And is dropping a packet a viable way to make > the audio shorter? > > Best regards, > Chris--- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'speex-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
In my experience most of the jitter related issues are because people are using too small of audio buffer sizes that match the framing size of Speex - particularly in Windows. This isn't a problem with Speex, but as a programmer you should collect and append a few frames to match the size of your output audio frame buffer before attempting to play the sound. -----Original Message----- From: owner-speex-dev@xiph.org [mailto:owner-speex-dev@xiph.org] On Behalf Of John Hayes Sent: Tuesday, May 20, 2003 11:12 AM To: speex-dev@xiph.org Subject: RE: [speex-dev] Speex settings and jitter The audio frame speex generates sounds pretty terrible most of the time, and I don't use it for jitter correction instead I just use it for dropped packets - so I usually drop the late packet. It sounds acceptable as long as I drop less than 5% of traffic (dropping 2 in a row makes a bad robot noise, so I reset the stream in that case). The good news is that on an unsaturated DSL line jitter and packet loss are basically 0.[1] In my experience dropping a packet without decoding NULL or without playing the gap packet make a really bad tick. John [1] The bad news is on a saturated DSL connection - it's basically unusable without a second of jitter buffering.> -----Original Message----- > From: owner-speex-dev@xiph.org [mailto:owner-speex-dev@xiph.org]On > Behalf Of Chris Flerackers > Sent: Tuesday, May 20, 2003 9:05 AM > To: speex-dev@xiph.org > Subject: [speex-dev] Speex settings and jitter > > > Hi, > > Is there are document where the interaction between all the configuration > options of speex is explained? > Speex seems to have CBR, VBR and ABR. You can also use SPEEX_SET_QUALITY > (SPEEX_SET_VBR_QUALITY) and SPEEX_SET_BITRATE which I suppose can't be set > at the same time. Is there a list of possible combinations somewhere? > > I also have another question related to jitter. To minimize jitter, you > usually need to make the audio > shorter and longer and preferably while keeping it sound smooth. > What is the > best way to do this > with speex? I saw that you can pass NULL to the decode function > to generate > an audio frame which > might be used to make the audio longer. Will speex always generate a > "fluent" audio stream (without ticks, ...) > when inserting these NULLs. And is dropping a packet a viable way to make > the audio shorter? > > Best regards, > Chris--- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'speex-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered. <p>--- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'speex-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
Hi, Is there are document where the interaction between all the configuration options of speex is explained? Speex seems to have CBR, VBR and ABR. You can also use SPEEX_SET_QUALITY (SPEEX_SET_VBR_QUALITY) and SPEEX_SET_BITRATE which I suppose can't be set at the same time. Is there a list of possible combinations somewhere? I also have another question related to jitter. To minimize jitter, you usually need to make the audio shorter and longer and preferably while keeping it sound smooth. What is the best way to do this with speex? I saw that you can pass NULL to the decode function to generate an audio frame which might be used to make the audio longer. Will speex always generate a "fluent" audio stream (without ticks, ...) when inserting these NULLs. And is dropping a packet a viable way to make the audio shorter? Best regards, Chris --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'speex-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
On Tue, May 20, 2003 at 06:04:39PM +0200, Chris Flerackers wrote:> Hi, > > Is there are document where the interaction between all the configuration > options of speex is explained? > Speex seems to have CBR, VBR and ABR. You can also use SPEEX_SET_QUALITY > (SPEEX_SET_VBR_QUALITY) and SPEEX_SET_BITRATE which I suppose can't be set > at the same time. Is there a list of possible combinations somewhere?Hi Chris, not sure if there's a document describing this, I got the info from the mail archives and emails with Jean-Marc. This is pretty important for writing a GUI of course, so here's what I know (as implemented in Sweep). nb. this also takes into account DTX, which is basically optional on top of VAD (setting VBR implies VAD). As of 1.0, the following option combinations are valid: CBR CBR + VAD CBR + VAD + DTX VBR + VAD (or "VBR without DTX", added in speex-1.0rc3) VBR + VAD + DTX (ie. normal VBR) Quality/bitrate: for CBR: either SPEEX_SET_QUALITY (int) or SPEEX_SET_BITRATE for VBR: either SPEEX_SET_VBR_QUALITY (float) or SPEEX_SET_ABR AFAIK setting BITRATE or ABR will _override_ QUALITY or VBR_QUALITY respectively. Conrad. --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'speex-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.