[Fpga-synth] ARM+FPGA board update

Eric Brombaugh ebrombaugh1 at cox.net
Sat Mar 28 21:24:27 CET 2009


It's been a while since I updated on the ARM+FPGA project, but things 
haven't been standing still. I've spent the last few weekends getting a 
simple monosynth working with the following features:

* 64 kHz sample rate, 24-bit, two channels output

* MIDI input, including notes (with one-key rollover), pitch bend (+/-2 
half-tone range) and CCs for some parameters of the synth.

* 2-op FM waveform, with 1/32 subharmonic and +/-8x range on the 
mod/carrier ratio. Mod index is controlled by CC#1 - modwheel for 
dynamic timbre control, while mod/carrier ratio is run from a knob on my 
E-mu controller. This gives access to a wide range of sounds from deep 
growly waves with subharmonics, broadband screamers and high-pitched 
twinkles and lots of real-time dynamics.

* Standard ADSR with exponential response with range to support 
extremely fast, clicky attacks through long release out to several seconds.

* Delay line with feedback for simple reverb, doubling and zzzing effects.

So far the hardware is working well. Only one board-level bug has been 
found so far - two of the external SRAM data lines were accidentally 
routed to input-only pins (symbol labeling error), so only 14-bit data 
can be read/written in one cycle. This isn't a show-stopper, especially 
since the fully dynamic range of the CODEC requires two accesses 
regardless.

The CODEC audio input channel hasn't been tested yet and is the 
principle function that's still outstanding. I hope to get a crack at 
that in the next few weeks. Other minor things to check are the MCU ADC 
inputs and auxiliary FPGA I/Os.

Future firmware plans include expanding the monosynth out to 32 voices, 
trying wavetable storage in the external SRAM and experiments with some 
more esoteric synthesis techniques. For hardware, I may try respinning 
the board to fix the RAM addressing, as well as add some extra MCU I/O 
lines to the expansion connector in order to support off-board I2C.

When I get a bit further along I'll post some audio samples.

Eric


More information about the Fpga-synth mailing list