Usind sod2 with SB/SB Pro/SB16 on Linux
---------------------------------------

Some Soundblasters (the boring old mono ones, not "Pro" or "16", etc.)
can playback samples at about 44kHz. You can see which version
Soundblaster you have by doing `cat /dev/sndstat' and looking under
the `PCM devices' line. If the version number is 2.1 or greater, you
can play 44kHz samples; otherwise, you're stuck with 22kHz as the
fastest sample rate.

Note that these are not exact figures, as there's a certain
granularity to the possible playback rates. As far as I can tell,
Soundblasters can (theoretically) play at any sample rate possible
with 1<=x<=255 in this equation:

		 1000000
	rate =	---------
		 256 - x

Here's a short C program to generate a table of these:

  main(){int f;for(f=1;f<256;f++)printf("%f\n",1000000./(256.-(double)f));}

(Told you it was short. :-))

Bear in mind that rates less than 4kHz are not supported by any SB
(nor less than 5kHz on SB16); none greater than 44.1kHz are supported,
either. Hence the `theoretically' above.

Many rates are possible, but some nice round sample rates you can use
include:

For any SB/SB Pro/SB16:		 8000Hz, 10000Hz, 12500Hz
For SB v2.01+/SB Pro/SB16:	15625Hz, 20000Hz, 25000Hz, 31250Hz,
				40000Hz, 43478Hz (not `nice', but top speed)

(NB: SB Pros can't play more than 22kHz in stereo.)

Now, I know for a fact that all the above applies to SBs and SB Pros.
But I'm not sure if it applies to SB16s. It *seems* to, but only when
playing stereo. (Go figure.)

So, why is all this important? Well, the sound driver has to round
requested sample rates to the rates which are physically possible.
Normally the physical sample rate is returned to the program (this is
the rate reported by sod2), which can adjust things accordingly. sod2
does this. BUT, on the SB16, this physical sample rate isn't returned!
So, unless you want the csf to sound rather sharp or flat (effectively
out of tune), you have to use one of the valid sample rates.

-Rus.
