On Tue, Sep 23, 2003 at 03:24:20PM -0700, Rob Leslie wrote:
You can experiment with building an equalizer using just the provided subband samples, but experience has shown this does not always produce optimal results.
You are probably better off operating on the final output PCM samples. (You can use the extra resolution provided to avoid any loss of quality.)
By the way, if anyone knows of fast (eg. fast enough to run a stream, possibly two, in realtime in a game), acceptable-quality, BSD-licensed or similar[1] implementations of an equalizer or resampler, I'd love to know of it. I don't know enough on the topic to write my own.
The only equalizer code I've looked at is the ones FB2k uses, but that takes about 8% CPU on my K7/1000 for a single stream, which is far too much.
I've looked at lots of resampling code, but most fall over on 44.1<->48khz. FB2k's does it, but it's also too expensive (also about 8% on my machine). I need arbitrary rate changes, as the game has modes which play music at variable rates (but it doesn't need to be able to change resample rates smoothly).
[1] or LGPL or GPL--beggars and choosers and so on--but permissive is preferable