[sdiy] Polyphonic keyboard scanner

Eric Brombaugh ebrombaugh1 at cox.net
Fri Jul 31 19:23:50 CEST 2009


David G. Dixon wrote:
> I know this will earn the scorn and derision of the programmers on the list,
> but I'm wondering:  Does anyone here know of a polyphonic keyboard scanner
> circuit based on logic IC's (non-programmable)?  Is this even feasible
> without a massive pile of chips?  If so, I'd be very interested to learn
> what the algorithm is.  The approaches I've been thinking about are all
> fairly complicated (one scanner (counter + 2 multiplexers), but 8 separate
> latches and ladders with data comparators to compare the count to the
> latched data for preventing double latching and controlling note-off -- I
> haven't worked out all the gory details yet).  I'd like to design something
> that will send out 8 CV's, 8 triggers, and one gate.

No scorn or derision here - sounds like an interesting exercise in 
creative anachronism. I imagine that a basic 64-key scanner would need a 
6-bit counter with the top 3 bits coupled to a 3->8 decoder for a column 
driver. A switch matrix with diodes at each crossing so that multiple 
keys could be down without creating phantom closures. That feeds into an 
8->1 mux driven from the low 3 bits of the counter to detect closures in 
each row.

At that point you've detected all the key closures but you still have to 
prioritize them and convert them to CVs. That requires some sort of 
memory stack for the priorities as well as an accurate DAC and 
potentially some sort of lookup-table ROM for the CV conversion.

When all is said and done you've probably got at least 15 - 20 sq in of 
PCB space, along with $5 - $10 worth of logic ICs. Contrast that with 
the $2 you'd pay for a low-end MCU that could do the job and you've got 
to ask yourself if you're doing it to scan a keyboard, or for the 'stone 
knives & bearskins' experience. Both are perfectly valid in a hobby 
context (witness the all-transistor clock projects that are floating 
around).

Eric



More information about the Synth-diy mailing list