[Fpga-synth] Try out spartan3e projects, questions
Theo Verelst
theover at tiscali.nl
Wed Jul 2 14:55:48 CEST 2008
On Tue, 2008-07-01 at 07:21 -0700, Scott Gravenhorst wrote:
> "The making of synthesizers in FPGAs." wrote:
> >Dear Forum and mr Scott Gravenhorst,
>
> Hi Theo,
>
> >With great interest Ive 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.
>
> >Ive 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.
>
Thank you, I'm sure the patches were tryouts, some better than others, I
did listen on a good monitoring system. There's some noise in the
recording but probably because of the high sample rate I thought it
sounded good, too.
> > 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? Id 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).
>
But is that over the serial link just a long list of parameters, or with
the sysex wrapping included? And are the parameters naturally 7 bits
encoded, or is this an extra step. Well, maybe I'll dive into the
picoblaze assembly, which I've used before, to find out.
Maybe it's fun to couple the Xilinx with a Fox board (small linux board)
which has a serial link, to couple to ethernet, and of course store
loads of sound on for instance a usb stick (see e.g.
http://wiki.tcl.tk/19503 ).
> 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.
Cool, which one, the block editor or the sound programmer? I can start
the latter up fairly easily once I know which bytes to send over the
serial link, or possibly to the patch file format, which I got lost
yesterday late trying to follow...
Theo
More information about the Fpga-synth
mailing list