[sdiy] Communications with voices in a polyphonic synth
Tom Wiltshire
tom at electricdruid.net
Wed Mar 10 20:15:33 CET 2010
Hi all,
I'm currently tackling the above problem.
I've already asked about SPI after encountering problems with it. It
seems to me that some of the problems that I'm having are because it
isn't really designed for single-master/multiple-slave communications
over distances of a couple of feet. I've used it to talk to DACs and
such like, which is fine, because you've got a single master and
single slave and they're more or less next to each other (distances
of a few centimetres, not tens of centimetres).
What I'm looking for is a way of talking to the voices. It needs to
be as fast as possible (no-one likes latency), robust (there will be
other electronic circuits in close proximity!) and as simple as
possible (but not simpler).
There are two aspects to this; the hardware level and the protocol.
I'm currently not really sure where I'm at with either, and I'd like
to hear people's views and experiences. Usually (I've found) there is
a wealth of previous experience to learn from, both on this list and
by digging through the circuit diagrams left to us by synth engineers
of old, who have already faced these same challenges.
Neil Johnson suggested RS485 to me as a possible hardware option.
This seems like it would be good from the robustness point of view,
since it is a differential signal, but I don't how it would do for
speed, and it might require extra driver chips. I've looked at SPI
since it's what I know best. I2C is the other one I've heard of. What
else is there hardware wise?
Protocol-wise, I need to be able to send parameter and control
information to single voices or groups of voices. How is this
typically done? I can see easily enough how I can give each voice an
address, and then send an address message ahead of a data message (or
group of messages, I suppose), but how do I talk to a couple of
voices without repeating the message for each?
Sorry to be asking so many questions, but this sort of stuff is
where googling isn't so good, because (1) it's pretty specialised and
(2) I don't really know what I'm asking.
Any relevant experiences or pointers to useful material would be
greatly appreciated.
Thanks,
Tom
More information about the Synth-diy
mailing list