ScottG FPGA MIDI Synthesizer Information and Source Files

  • Digital Waveguide Information
    General digital waveguide information plus 8 voice Polyphonic Karplus-Strong string physical model synth for Spartan-3E Starter Kit development board
  • Avnet Board PolyDaWG/8 Synth Details and Source
    8 voice Polyphonic Karplus-Strong string physical model synth redesigned for the small Avnet Spartan-3A development board.
    There is also a version that works on a Spartan-3E Starter Kit board.
    Sample rate up to 826 KHz for the Spartan-3E board
    Sample rate 200 KHz for the Avnet Spartan-3A board

  • GateMan I FPGA MIDI Monosynth
    Linear Arithmetic Subtractive Monosynth, 4 NCOs with 4 waveforms each. This is the first version of the GateMan synths.
    Sample rate: 1.0 MHz

  • GateMan II, III & IV FPGA MIDI Monosynths
    Linear Arithmetic Subtractive Monosynth, 4 NCOs with 4 waveforms each. GateMan II contains a state variable filter which replaces the simple IIR filter in GateMan I. GateMan III is also described, the major difference being better use of RAM and fewer flip flops in the design.
    Sample rate: 1.0 MHz

  • GateManPoly
    Linear Arithmetic Subtractive Polysynth (8 voice), 4 NCOs per voice, each NCO supports 4 waveforms.
    Sample rate: 250 KHz

  • Xarp-56
    Xarp-56 (pronounced 'harp fiftysix') is a 56 voice physical model using the Karplus-Strong string model. Each of the 56 strings is implemented as an individual digital waveguide and not multiplexed/reused as in the PolyDaWG synths.
    Sample rate: 198.143 KHz

  • 8vFM-2x4 8 voice 4 x 2-operator FM MIDI Polysynth
    Four 2 operator FM sound generators per voice, each generator is index modulated by an ADSR, amplitude of each generator is modulated by an ADSR. Both ADSRs (per generator) have selectable linear or exponential release.
  • 16 Voice 4 x 2-OP FM Synthesizer
    This is essentially the same synth as above, but expanded to 16 voices. This synth will compile and run on a Spartan-3E Starter Kit (using the onboard 12 bit DAC) or on an Avnet Spartan-3A 400 development board with an external 24 bit stereo DAC (Eric Brombaugh)
    The current version of this synthesizer is capable of 96ET, 48ET and 24ET microtonal tuning per note-on event.
    A stereo looping delay effect of up to 220 mS has been added.
    Sample rate: 65.0141 KHz (Spartan-3E & Spartan-3A)

  • An 8 Operator FM Synthesizer Currently under development
  • Sine Synth
    This is a small additive monosynth (32 sinewave oscillators) meant for producing drone sounds. Each oscillator is controlled by a harmonic multiplier, fine tuning, portamento time and noise/filter parameters. The noise and filters provide amplitude modulation for the oscillators producing a randomly evolving timbre.
    Sample rate: 250 KHz
  • PolyDrum
    PolyDrum is a 32 voice tonal drum synth. Each drum is made of a state variable filter and can be tuned to generate desired pitches and Q adjusted to provide control over the decay envelope. There are no envelope generators per se, nor are there any oscillators. The drums are excited with a programmable width rectangular pulse applied to the filter's input.
    Sample rate: 307+ KHz (Spartan-3E Starter Kit)
    55 voices implemented in the Avnet Spartan-3A 400K version with sample rate of 50 kHz.
Music made with FPGA synthesizers
  • J. S. Bach Brandenburg Concerto Number 5 Movement 1
    • Xarp-56 - Xilinx xc3sd1800a - 56 string Karplus-Strong harp model
    • PolyDrum - Xilinx xc3s500e - 55 resonant impulse excited state variable bandpass filters
    • FM Bell - Xilinx xc3s400a - 16 voice 8 operator FM bell synth

Good Stuff

Eric Brombaugh's Cirrus DAC Page