[Coco] Orchestra 90CC

Jeff Teunissen deek at d2dc.net
Mon Jan 29 11:23:19 EST 2007


Robert Gault wrote:
> Jeff Teunissen wrote:
> 
>><snip>
>> Say you want to play back 8-bit stereo data at 8000 samples per second of raw
>> audio data;
>  ><snip>
> 
> That being the case, you want to realize your frequency response without 
> aliasing would be limited to 2,000Hz. You need to sample at twice the 
> desired upper frequency to prevent significant distortion. Even a mono 
> signal would not get above 4,000Hz and would still not equal AM radio 
> quality.

Certainly, due to the Nyquist limit. But I was not referring to 8000 total
samples per second, but 16000 -- one for each channel, playing back two at a
time at 8KHz.

I simply chose to use those numbers because that's the base rate of the old
Sun μ-Law "format" (which itself was chosen because it fits the narrowband
signal of a telephone call), or at least the base rate assumed without
information telling the decoder to play at a different rate.

You'd get the same amount of time between "uploads" if you were running mono
output at 16KHz.

A 256 byte ring buffer being drained by 8KHz mono has to be updated at least
every 32ms. For 22050Hz stereo it's a much tighter 5.8ms...but that should be
well within the capability of, say, a 28.63636MHz (heh) C5 even while
multitasking in NitrOS-9.

Obviously, this all assumes that the sound hardware (like the VDG in a
CoCo1/2) is accessing RAM when the '09 isn't, and also that there's a reliable
and accessible clock source (no halting floppy interface allowed, or you'd get
the same endlessly-repeating samples that you get when a Windows box hangs
while there is sound playing).

-- 
| Jeff Teunissen -=- Pres., Dusk To Dawn Computing -=- deek at d2dc.net
| GPG: 1024D/9840105A 7102 808A 7733 C2F3 097B 161B 9222 DAB8 9840 105A
| Core developer, The QuakeForge Project     http://www.quakeforge.net/
| Specializing in Debian GNU/Linux           http://www.d2dc.net/~deek/



More information about the Coco mailing list