[sdiy] Controller design
Thomas Burdick
thomas at burdick.fr
Wed Dec 30 11:11:58 CET 2015
Thanks, this sounds like a good direction to try. There are 10 buttons on the right hand and two on the left, so a 3x4 matrix sounds like exactly what I'd need.
The bellows will be an analog signal: I need to know both direction and pressure, in order to get the note, but also control the volume; after a certain threshold pressure, I'll want to both modulate the PWM portion of the VCO, and bend the pitch. I'm thinking of using two LED-photoresistor pairs--one for each direction--to measure the amount that an air-blown valve moves, and use them to watch the bellows.
Having the processor tune the CVs sounds like a fair amount of programming, considering I have not only the nominal notes, but pitch bend to contend with, but is something to think about. I have a PWM component to the VCO, so getting a square wave to the digital input would be no problem.
Thanks for mentioning the possibility of using a single DAC to feed multiple S&Hs: I'd like to think that would have occurred to me, but it hadn't so far.
-Thomas
> Subject: Re: [sdiy] Controller design
> From: rsdio at audiobanshee.com
> Date: Tue, 29 Dec 2015 22:48:47 -0800
> CC: synth-diy at dropmix.xs4all.nl
> To: thomas at burdick.fr
>
> 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.
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20151230/bacd23f1/attachment.htm>
More information about the Synth-diy
mailing list