[Fpga-synth] Try out spartan3e projects, questions

Scott Gravenhorst music.maker at gte.net
Tue Jul 1 16:21:50 CEST 2008


"The making of synthesizers in FPGAs." wrote:
>Dear Forum and mr Scott Gravenhorst,

Hi Theo,

>With great interest I´ve read the wiki (though I wonder if it is a wiki 
>in the sense of being somehow writable) and the Spartan 3E designs.

I believe that Magnus Danielson can grant edit privilege.

>I´ve made a page about my last night experiments, including some 
>polysynth patches:
>
>    http://www.theover.org/Fpgasynth

Very nice, I had a brief look, but I need to look at and listen to sound samples and 
patches.

>I also made an analog synthesizer emulation using a Analog Devices DSP 
>Blackfin board, and I have made a working bus connection with (albeit 
>another) Xilinx FPGA board, so that in principle FPGA blocks could be 
>combined with DSP and the AD/DA converters of that board:
>
>    http://www.theover.org/Synth
>
>I there would be interest in that.
>
>I have two questions:
>
>    Would it be hard to make a flexible combination of (existing) blocks 
>in to a working FPGA design (compile or runtime for starters wouldn´t 
>matter), for instance using a block composition program I made ( 
>http://wiki.tcl.tk/bwise )?
>
>    What is the format of the GatemanPoly programmer, over the serial 
>link: a raw dump of the parameters or a midi exclusive format, and if 
>the latter, can I use it to send single parameter changes? I´d like to 
>make a Tcl programmer script, because that would be flexible and more 
>and easily portable.

This I can answer, the patch editor program communicates over a serial link as you
state, the data stream is identical to what would be used as system exclusive
messages.  I did this so that system exclusive messages could be used via MIDI or the
serial port.  Just recently, I successfully tested sysex messages over MIDI using
CakeWalk to send to the board.  The synth doesn't support dump (from the synth hardware).

The structure of a "patch" is a set of many individual sysex messages, each affecting
one synth parameter.  So yes, you can update a single parameter, though I do know that
if MIDI data is received at the same time that serial port data is received, the synth
can get confused and require a reset (North pushbutton).  This is because the MIDI
controller code is rather simplistic and interleaves the data from both ports at once
on a first come, first served basis.  I've not tried using MIDI sysex messages during
MIDI performance, only as setup preamble in a sequence.  - however - (c: the PicoBlaze
assembly language source code is there for you to modify and improve.

I'm interested in the Tcl code idea.

>
>Kind regards,
>
>    Theo Verelst
>    theover at tiscali.nl
>    http://www.theover.org
>
>_______________________________________________
>Fpga-synth mailing list
>Fpga-synth at rubidium.dyndns.org
>http://rubidium.dyndns.org/cgi-bin/mailman/listinfo/fpga-synth
>

-- ScottG

-----------------------------------------------------------------

-- Scott Gravenhorst
-- GateManPoly - FPGA Based Polyphonic MIDI LA/FM Synthesizer
-- GateMan-III - FPGA Based Monophonic MIDI LA/FM Synthesizer
-- PolyDaWG/8 - FPGA Based 8 Voice Polyphonic MIDI Synthesizer
-- FatMan: home1.gte.net/res0658s/fatman/
-- NonFatMan: home1.gte.net/res0658s/electronics/
-- When the going gets tough, the tough use the command line.



More information about the Fpga-synth mailing list