[sdiy] How to make wavetables? What size?
phillip m gallo
philgallo at attglobal.net
Fri May 20 06:25:14 CEST 2005
CJ,
PROM's addressing is simpler than it may seem.
Every location in a prom has an explicit address and these address are "zero
based". The first locations are 0,1,2,3,4... I'll bet this much you've
gathered. I'll also bet you've figured that reading data out (or writing
data into) is just a matter of putting the address onto the address lines.
The addressing is done in binary where 0=00,1=01,2=10,3=11... So for address
0 ,all address lines low, 1=all lines low except A0 line, 2 all lines low
but the A1, 3= all lines low except A0-A1, etc...
Say you've constructed a sine wave with a start angle of 0 and a finish
angle of 259 (figuring 360 degrees for a full wave cycle) but also specified
256 data points to represent this wave cycle. So the 256 bytes of date
generated represent 360 degrees divided by 256 data points so each data
value advance thru the sine by 1.4 degrees.
Now if you've "prom'd" these values where the 1st data value is at address
0, the next address 1, .. continuing to address 255. It's common to call
256 bytes a "page". So you have a page of sine data.
Now all you need is a "counter circuit" that will generate a cycle where 0
thru 255 is output to the PROM address lines "rolling" over to zero after
255. An 8 bit binary counter will do this. Now since your PROM is probably
bigger than 256 location all not used address lines would need to be set to
zero so that you are always "addressing page zero".
If you would like to have 2 waveforms to choose from you could now add a
second page. Everything stay the same except those left over address lines
need to point to "page 1". Again thinking in binary (0=00,1=01,2=10,3=11,
4=100...) , those "page address lines" would be all low for page0, all low
except A9 for page 1, all low except A9-A8 for page 3, all low except A10
for page 4....
So your 8 bit counter just cycles producing 0-255 of "sample address" while
a switch or latch could put out the "page address".
Now all the above had an 8 bit context, the selection of 256 entries is due
to it's being "even factor of two" making hardware simple to implement. The
selection of you "scan rate" (sample rate), weather this scan rate is fixed
or variable, the bit depth of each value, and the accuracy of you conversion
to analog values determine the "quality" of what you hear. This is in the
literal sense of the word as real low rates, with small words, and funky
DACs can have a certain charm for those who appreciate mean edge grunge and
birdie chirps.
regards,
p
-----Original Message-----
From: owner-synth-diy at dropmix.xs4all.nl
[mailto:owner-synth-diy at dropmix.xs4all.nl]On Behalf Of Metrophage
Sent: Thursday, May 19, 2005 4:46 PM
To: synth-diy at dropmix.xs4all.nl
Subject: Re: [sdiy] How to make wavetables? What size?
There's a lot to think about!
Thanks to Phil and Ken for the tools.
Some interesting meditation on Nyquist.
Much thanks to Paul Maddox, Peter Blackett, and Harry Bissell for
helping me to understand what my issue is here. Simply put, I don't
understand EPROM addressing at all! That is basically what I am trying
to figure out, why I don't know how to organize the banks, waves, or
table data. I have read a few explanations of wavetable synths which
explain the circuitry, but without understanding the addressing it
doesn't seem that I can make EPROMs with table data of the right type,
in the right place. This is my first attempt to build anything digital
(apart from a kit), so at least now I have some idea of what I need to
learn. Like I said, "something obvious"!
And Harry, I >am< also very much interested in implementing quantizers
this way. Those are the next such project. How did you use Wave256 to
draw(?) musical scales? Now that I have EPROMs I must dust off my
windoze box again and look at all of this software so I can see what
you cats are talking about. I probably need to read some 27XXX data
sheets also.
I am not very concerned about the sampling theorem issues here, I know
- even I was able to do the math. This is just the line between whether
or not you want a basic VCDO or a "real sampler. Who says that a wave
bank in a modular even needs to be done with old 8-bit technology?
Personally, I like my digital stuff to be very un-smooth. Crazy
parameter jumps, discrete values, ultimately what characterizes the
medium, I think. I am not aiming for a device with faithful
reproduction, but for more harmonic complexity and weirdness.
Thanks for chiming in with interesting food for thought!
CJ
Yahoo! Mail
Stay connected, organized, and protected. Take the tour:
http://tour.mail.yahoo.com/mailtour.html
--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.322 / Virus Database: 266.11.13 - Release Date: 5/19/05
More information about the Synth-diy
mailing list