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.
Tom
<khaynes@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