Re: [stella] One Bit Sound?

Subject: Re: [stella] One Bit Sound?
From: Lord Spambraticus of Borg <lord-of-hell@xxxxxxxxxxxxxxxx>
Date: Fri, 12 Feb 1999 02:40:06 +1000
>Also you should use a higher sample rate. Noone could undestand the words
>in say.bin at 4000 Hz. I think even telephones have a sample rate of
>6000 Hz or so.

Telephones sample 8000 times/second, to reproduce up to 4000Hz (theoretically) -
- they also employ a logarithmic scheme (A-law in Europe, u-law in the US), 7
bits/sample effective.  Sampling at 4000Hz (2000Hz reproduction) is pretty bad,
but it should be able to reproduce speech ok.... chances are very that the
person who made the sample to be played back with say.bin didn't pre-filter the
sample.... if you don't, you'll get aliasing noise which is very harsh and
nasty.

Assuming you have access to some reasonably professional audio processing tools,
do the following:

1) Record a clear "neutral" passage of speech...  try not to overdo the
sibiliant sounds (sss, shhhhh, etc), those are spectrally "complex" and high
frequency.  Record it at some rate an integer multiple of the destination VCS
playback rate [if you have 22 Khz recording hardware, try to playback at 7.3Khz
on the VCS] -- try to get a "full range" (amplitude wise) in the recording...

2) Using a proper multi-pole digital filter, filter the sample as follows:

-8 dB/Octave below 120Hz, flat to 1000Hz, apply -12 dB/octave from there up.
You should have almost no spectral content past 3000Hz.... [I'm assuming a
7.3kHz playback rate]

3) Downsample the data to the destination rate.

4) Convert the resulting audio data to 4 (or 5) bits. 

Make no mistake, this will suck rocks, but it should maximise the quality.
Playing back the sample in your audio program as you do this will show how it
degrades, but male speech should be intelligible even with just 4 kilosamples/
second.  One thing.... are the volume settings linear on the VCS?  If not,
you'll get even more distortion, though if you could work out the model, you
could "reverse" some of its effects with your audio program.... But geez. :)

> Sorry, I've bin posting nonsense again. Of course this method will not
> get you 8 bit output from two added 4 bit outputs. But you can almost
> get a 5 bit output.

It's ok, Eckhard... you're not the first person to slip that up....  besides...
depending on how the audio's mixed, you might not even get an additional bit
[assuming perfection]... but yes, you have essentially 5ish bit device with the
pair.... you could probably minimise overhead and only change one of the volumes
until a "bit overflow" occurs, and then you whack a $8000 into the second, etc.
You don't need to update both continually since this is a SUM approximator....

For instance:

Sample Sequence(5 bit)   Chan 1   Chan 2
-------------------------------------------------------
$08                         8       0
$0D                         D       0
$0E                         E       0
$11                         F       2
$18                         F       9
$1e                         F       F
$10                         F       1
$0f                         F       0

Most of the time, you'd just need one write....  and yes, folks, $1e would have
to do for $1f.

Ick

=Rob=


--
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/

Current Thread