[Speex-dev] Sampling Rate

Tom Grandgent tgrand at canvaslink.com
Mon Dec 11 13:49:01 PST 2006


Speex was designed for 8kHz, 16kHz, and 32kHz sample rates.  If you 
don't use one of these sample rates, you'll be messing up important 
assumptions deep within the codec.  Why these sample rates?  It's 
telecommunications tradition, rather than PC audio tradition.

If you want an efficient and high quality format for voice chat, try 
16kHz with VBR quality 6.  You should see around a 10:1 compression 
ratio when someone is talking.  That is, around 25kbps would be a 
rough peak using these settings.

If that's too much bandwidth for you, you can cut it by almost half 
using VBR quality 2.  (The loss of quality will be noticible to most 
people using headsets.  It is less noticible when using speakers.)  
For further bandwidth savings you could use 8kHz, but it's too much 
of a quality hit to be worth it in my opinion.


<khaynes at kirkgames.com> wrote:
> Hi,
> I'm attempting to use speex for voice chat in my game.
> I'm capturing audio from the mic using OpenAL 1.1 in 16 bit mono. What 
> sample rate is recommended for capturing from the mic? Which would be 
> better: 11025 samples per second, or 22050 samples per second of 16 bit 
> mono audio with respect to then encoding/decoding it with speex? I'm 
> using 11025 to reduce bandwidth at the moment to capture.
> Given your answer to the above question, what is the most efficient 
> frame size for encoding the samples to speex frames? The sample code 
> uses 160 samples (320 bytes) of 16 bit audio samples, which are then 
> encoded to 200 bytes of encoded data. Is a 30% reduction in data pretty 
> standard? How do I use speex most efficiently?
> Kirk
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev

More information about the Speex-dev mailing list