[sdiy] How to make wavetables? What size?

Paul Maddox P.Maddox at signal.QinetiQ.com
Thu May 19 10:50:19 CEST 2005


Hi,

> Yes, it is a nice tool, except that I don't know how to make a circuit
> for 256 byte tables!

couple of options,
1) make an oscillator that runs at 256 times the audio rate you want, feed 
theoutput (should be square) into a binary counter (4024) and use this to 
drive the lower 8bits of the eprom. the upper nBits select the different 
waveforms.
2) Use and ADC, feed a sawtooth oscillator in, scaled correctly (thats the 
hard part!) and take the 8 bits from the ADC, again, into the lower 8bits of 
your eprom.

> As I was
> saying, various circuits expect the ROMs to be organized in different
> ways - they are not all cross-compatable.

yep, most of the time the lower nBits are the sample within the waveform, 
and the upper nBits are the waveform number. In the case of the monowave, 
8bits for sample number, 8 bits for wave number (256 waveforms, each with 
256 samples).
If I recall the Digisound one used 4bits for sample number and 4 bits for 
wavenumber.

> Most
> software which I have played with tables are just lists of frequencies
> in Hertz, I don't know what kind of numbers a plain DAC0800 is
> expecting.

hehe, this is the joy of 'sample rates', pitches and samples per wave.

The DAC0800 is expecting a stream of data, it doesn't care what rate (ok, up 
to its maximum limit).
most computers run at 44.1Khz, so, if you're using 256 byte samples per 
wave, the 'pitch' you need to 'play' to get EXACTLY 256 samples per wave 
cycle is - 1.72265625Khz (ie 44100/256)

hope this helps
Paul




More information about the Synth-diy mailing list