[sdiy] Controller design

rsdio at audiobanshee.com rsdio at audiobanshee.com
Wed Dec 30 07:48:47 CET 2015


Personally, I'd recommend using a processor (like the AVR in the Arduino, or any of a number of small 8-bit chips) to scan the 10 buttons and bellows inputs. Polyphony has been well served by digital keyboard scanning since Dave Smith first helped E-mu Systems develop such a thing.

You'd only need 7 or 8 GPIO pins to manage a 3x4 matrix (12 buttons) or 4x4 matrix (16 buttons). You could certainly dedicate 10 GPIO pins, one to each button, but the scanned matrix makes its easier to squeeze in a lot more buttons for other functions, even if your GPIO pins are limited in number. Not sure how you plan on reading the bellows - will it be a binary signal or analog?

As for tuning, you could borrow a trick from synths like the Prophet 5 and use analog multiplexing to connect any of the VCOs to an input on the processor so that it could measure the frequency and build a compensation table for the DAC. Then, your CV would automatically produce the correct voltage for each pitch. You'd either need to process the VCO waveform and turn it into a 5 V square wave for a processor digital input, or even feed it to an ADC input pin for analyzing the unshaped waveform. Then, if you decide to add more than 4 VCOs, you can keep them all in tune - provided that your analog mux can route any one VCO to the processor at a time.

Another trick from poly-synths is to use a single, high-precision DAC feeding multiple sample-and-hold channels to get the number of CV outputs you need. Again, this is more easily expandable when you decide to add more than 4 voices.

Brian Willoughby
Sound Consulting


On Dec 29, 2015, at 10:39 AM, Thomas Burdick <thomas at burdick.fr> wrote:
> I'm working on an electronic melodeon/cajun accordion (10 push buttons). Concentrating on the left hand only at the moment, I'd like to have 4-voice polyphony, to avoid having to tune 20 VCOs. So I have 10 switches and I'd like to have 4 CVs with gates. I don't particularly need triggers, as the bellows pressure will directly control the VCA for all four voices. One little wrinkle is that the keys play different notes depending on the direction of the bellows pressure.
> 
> Does anyone have any pointers to anything I should read before diving into this controller design? Should I try this with analog circuitry (which I find more fun as a general rule), or is that more trouble than it's worth? I suppose I could just wire everything up to an arduino and have that drive some DACs. Any advice or resources would be appreciated.
> 




More information about the Synth-diy mailing list