[Speex-dev] Sampling Rate

Tom Grandgent tgrand at canvaslink.com
Mon Dec 11 15:42:36 PST 2006

That's pretty bad.  Both DirectSoundCapture and WinMM are capable of 
recording at 16kHz.  I don't know why OpenAL would be incapable of 
handling it.  It's not like it's at all rare or new.  I would try 
16000 and see if it works.  Maybe the docs are wrong?

Note that one option to retain high quality is to capture at a higher 
rate and then downsample using a resampling algorithm.  You can use 
your own or find one online.  Secret Rabbit Code is supposedly the 
best, but there are others.

As for settings, I already mentioned 16kHz and VBR quality 6, but 
you should take a look at the other features Speex has to offer - 
at the very least, denoising is a must.  Then there's VAD, AGC, 
perceptual enhancement, PLC, and so on.

For frame size, take a look at section 5.1 of the Speex manual 
("Encoding").  It tells you how to determine the correct frame size 
programmatically for the mode you're using.


<khaynes at kirkgames.com> wrote:
> It seems that I only have the following values available for sampling from 
> the mic.
> "The value must be 8000, 11025, 22050, 32000, 44100, or 48000"
> Which leaves 8000 and 32000 for use with speex. I think since this is a game 
> and not a voice application, I'm stuck using the 8kHz rate. What speex 
> setting would you recommend I use for the best quality/performace, what 
> frame size (number of samples) to send to the encoder, etc..
> > Kirk,
> >
> > 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.
> >
> > Tom

More information about the Speex-dev mailing list