Subject: Re: NetBSD plays .wav ultra fast
To: Andreas Gustafsson <firstname.lastname@example.org>
From: Brett Lymn <email@example.com>
Date: 07/20/2001 12:07:11
According to Andreas Gustafsson:
>There is a problem with using these instructions in the NetBSD kernel:
>they use the floating point registers,
True for the older processors - I believe that later processors do not
overload the FPU registers in this manner.
>None of this matters if we only need to deal with the specific case of
>8 kHz -> 48 kHz - that's simple enough that you should be able to get
>decent quality using a reasonable amount of CPU with a filter based on
>integer multiplies, adds and shifts, and/or lookup tables. As you
>say, handling arbitrary frequency ratios is the hard part.
Yes, especially the mentioned 44.1kHz -> 48kHz conversion which is an
8% frequency shift. I am not 100% certain but my gut feeling is that
the human ear would manage to spot that pitch variation with no
problem. This does cause me to wonder how the Windoze driver people
cope with this issue. Doing a 27 interpolate followed by a 25
decimate looks like the smallest you could get away with. If you
stick to fixed frequency conversions then a lookup table of filter
coefficients would be the easiest thing to do.
Brett Lymn, Computer Systems Administrator, BAE SYSTEMS