Scott Gravenhorst is a contractor - find out more.

ScottG/JovianPyx FPGA MIDI Synthesizer Information and Source Files


Electronic Musical Instrument Projects
  • Random Timbre Synth
    VB.NET Patch Editor Screen Shot
    A MIDI Synthesizer that can change it's timbre to a randomly generated waveform on MIDI clock. Designed for Spartan-3E Starter Kit board.
    Portamento is supported.
    DDR SDRAM used for looped delay effect (up to) 67+ seconds.
    100 kHz sample rate.

  • Xarp-56
    Xarp-56 (pronounced 'harp fiftysix') is a 56 voice synthesizer using the Karplus-Strong string physical 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

  • Xarp-61
    Xarp-61 is a 61 voice synthesizer using the Karplus-Strong string physical model. Each of the 61 strings is implemented as an individual digital waveguide and not multiplexed/reused as in the PolyDaWG synths.
    Written for Spartan-3E Starter Kit. This design uses shorter waveguides with lagrange interpolators for fractional tuning.
    DDR SDRAM is used for a (up to) 16.77 second looped delay effect.
    Sample rate: 96.0 KHz

  • Three Xarp-61 synths in one FPGA
    Three Xarp-61 synths in one FPGA which can be tuned with a patch editor for various tuning effects. Among the many tuning effects possible is a nice piano like beating that is quite evident on sustained notes.
  • GateManPoly
    Linear Arithmetic Subtractive Polysynth (8 voice), 4 NCOs per voice, each NCO supports 4 waveforms. Designed for the Spartan-3E Starter Kit board.
    DDR SDRAM is used to provide (up to) 16+ seconds of looped delay effect.
    Sample rate: 250 KHz

  • PolyDrum
    PolyDrum is a 55 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.
    Avnet Spartan-3A 400K version with sample rate of 50 kHz.
    Spartan-3E Starter Kit board version with sample rate of 150.602 kHz.
  • 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
    Added 32 Kwords SPI SRAM. At 50 kHz, .655 seconds of delay is provided. The synth runs 4 samples for each DAC sample, thus decimating from 200 kHz to 50 kHz.

  • 8 Voice 8-op FM Bell Synth
    Several Samples
    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.
  • 8-op FM Bell Synth with Chaos Modulation
    Lorenz Attractor Modulated Demo
    Lorenz Attractor Modulated Drone
    Four 2 operator FM sound generators monosynth, In this design, the FM parameters are modulated by a Lorenz Attractor chaos system. The link above gives some detail about the FM portion. The chaos generator is simply a Lorenz attractor who's out put is connected to various modulation inputs of the FM synth.
  • 16 Voice 8-OP FM Bell 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.
    Sample rate: 65.0141 KHz (Spartan-3E & Spartan-3A)
    Version ver_j for the Spartan-3E Starter Kit uses the DDR SDRAM for stereo looped delay effect (257+ sec).

  • Tonal Noise Synth
    This monosynth uses state variable filters and a noise source to generate tonal noise which can be used to play melodies.
    DDR SDRAM is used for (up to) 10+ seconds of looped delay effect.
    Sample rate is 806.451 KHz which facilitates wide frequency range for the state variable filters.

  • Sine Synth
    Sine Synth Drones (demo)
    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.
    ver_e uses DDR SDRAM for (up to) 67+ seconds of delay/echo effect.
    Sample rate: 250 KHz
  • Additive Flute Model Synth
    Additive Flute Model Synth uses 4 voices (3 sines, 1 noise) to model the sound of a flute.
    Designed for Spartan-3E Starter Kit board.
    DDR SDRAM is used for looped delay effect (up to) 41+ seconds.
    Sample rate is 100 kHz.
  • 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

  • Digital Waveguide Information
    General digital waveguide information plus 8 voice Polyphonic Karplus-Strong string physical model synth for Spartan-3E Starter Kit development board

    Projects Currently Under Development:

  • An 8 Operator FM Synthesizer
    A chain of 8 operators allowing many of the most common algorithms
Music made with ScottG/JovianPyx FPGA synthesizers

Good Stuff

Eric Brombaugh's Cirrus DAC Page