[sdiy] BLIT/BLEP virtual analogue synthesis

Eric Brombaugh ebrombaugh1 at cox.net
Wed Aug 4 21:43:31 CEST 2010


On 08/04/2010 11:49 AM, Olivier Gillet wrote:
> I'm curious about the FPGA bit, and can't help asking a very naive
> question. If a FPGA was to be used for waveform generation, wouldn't
> it make more sense to use it to render at a 10 MHz or 20 Mhz clock
> rate the very naive things (phase_<  0x800000 ? -32768 : 32767 for
> square, etc...) like older sound chips did?

Depends on what you're trying to do in the FPGA. If you're interested in 
generating massive numbers of oscillators via resource sharing as Jim 
Patchell was doing (512 oscillators at once) then you don't have the 
option to run them all at 10 or 20 MHz without spending a lot on your 
FPGA. For systems like this a simple anti-aliasing approach would be 
highly desirable.

On the other hand, if your goals are to have just a few oscillators then 
it's fairly trivial to run them at a very high sample rate and use 
bandlimited decimation to get them down to rates that a common audio DAC 
can accomodate. I've got some prototype designs that generate a small 
number of simple sawtooths at around 1MHz, sum them together and 
downsample to 48kHz which sound quite good. Rough estimate at these 
rates suggest that for a 1kHz saw the in-band aliases will be about 60dB 
down - not too bad in comparison to the spectra in Antti's IEEE paper.

Eric



More information about the Synth-diy mailing list