Archived from groups: rec.audio.tech,comp.dsp (
More info?)
Curious wrote:
> I am looking for audio software that allows conversion of 16-bit WAVs
> and 8-bit WAVs to 1-bit WAVs. I have used Adobe Audition and CakeWalk
> Pyro. Neither of them work. CakeWalk does have a "bit-depth converter"
> as a FX, however, when I try to use it, I get a runtime error and
> Cakewalk automatically closes.
A + Comparator FlipFlop
I/P -------|\ +------+ Q
| >----------| D Q|---+---- Bitstream out
B +--|/ C +--|> | |
| - | +------+ |
| | |
+-/\/\/\-----)-------------+
| R |
C === |
| Fs---+
0V
Several years ago I made a delay line to delay the audio for a walkie-talkie
so that the Tx VOX voice operated switch and Rx unmute operation would be
completed before the leading word spoken by the operator was transmitted.
I tried a bucket brigade device (MN3001) but had troubles with noise and
limitations on maximum delay.
I tried the cct above as a 1-bit encoder (mentioned in a mag somewhere),
clocked at over 200KHz. I do not know if the cct has a name.
The Q o/p will be either high or low during a clk period, such as to force
the RC LPF voltage at B to trend towards a match with i/p sig A. O/p Q
tends to be strings of 1's or 0's until match is achieved, then become
alternating 1's & 0's (50% PWM) until the i/p signal changes again.
+------+
BitStream --->-----|D Q|--------> ZQ Delayed BitStream
| |
+------+ | |
Fs----| |---->|/RAS |
| |---->|/CAS |
| |---->|/WE |
| | | |
| |---->|A0 |
| PAL |-- |A1 |
| |-- | " |
| |-- | " |
| |-- | " |
| |---->|An |
+------+ +------+
The above cct used a PAL to read the data bit at the current single bit wide
DRAM chip address, the bit thus read having been written on the previous
"lap" of the address counter. The PAL then operated /WE to write the
current Bitstream i/p (0/1) into the current RAM address.
The number of address lines & clock frequency determine the delay and
fidelity which can be achieved. In your application this delay line block
diagram could be implemented by 2 weeks of storage on your hard drive.
R
Delayed BitStream ------/\/\/\----+-----> Recovered audio
|
=== C
|
0V
Recovery of the signal back to analog was by means of another RC LPF of
identical time constant to the one used in the encoder. The idea is that
if BitStream Q LPF's to imitate i/p signal A, then the identical but
delayed BitStream ZQ should LPF to create a signal that looks like A also.
I did once implement the above with a 56K DSP because I could not get
samples of the intended ADC chip. It used software (RC LPF's etc.) for
everything except the comparator (op-amp). It sort of worked, nearly, just
about, almost, but the high interrupt rate interfered with other
interrupt-driven processes, causing jitter & noise on the recovered audio.
It did work well enough to get on with the job until the proper CODEC
arrived.
I think that using the above building blocks, you could write a prog to
encode a WAV file & create a bitstream file. Converting back again should
be quite simple.
Jim Adamthwaite.