Friday, February 8, 2013

Polysix Plan -- Replacing the Key Assigner

As introduced earlier, I'm replacing the keybed in my Korg Polysix with a keybed that has velocity and aftertouch sensitivity.  My first step is to figure out how to wire the new keybed into the keyboard so that the keys work.  Forget aftertouch and velocity for the moment, I need to start with getting the new keybed to simply trigger notes on the Polysix.  How do I do that?

Connector to the Keybed in the Korg Polysix
The simplest approach would be to wire the keybed into the existing keybed connector on the KLM-366 PCB.  A picture of this connector is shown above.  From the Polysix group on Yahoo Groups, one can get the wiring schematic for the existing keybed so that, in theory, I could connect the correct pins on my new keybed to the correct pins on the Polysix header.  Sounds pretty easy, right?  Well, the downside of this approach is that it precludes the addition of velocity sensitivity to the Polysix.

The Polysix, of course, has no velocity sensitivity.  It has no circuitry to effect any velocity-driven changes to the VCF or VCA.  I'll have to add that circuitry.  That'll be a challenge.  It'll be a challenge even more than aftertouch because the velocity sensitivity is a per-note effect (if I hit one note hard, only that one note's sound should be affected).  Therefore, I'll need to know which of the Polysix's six voices are assigned to each key press.  If I just plug into the existing keybed connector, there is no way for me to know which voice the Polysix's "Key Assigner" has chosen to associate with each of my key presses.  It will be impossible to implement velocity sensitivity if I connect to the existing keybed connector.  Therefore, I think that I need to take a different that gets me deeper access.

The "Key Assigner" region of target!  The big chip is the microprocessor that I will replace.
After deeply studying of the Polysix schematic, the only way that I can see to get access to the voice allocation is to actually do the voice allocation myself.  This means replacing the "Key Assigner" portion of the KLM-366 PCB.  The "Key Assigner" consists of a microprocessor and a bunch of other digital control elements.  The microprocessor performs a number of functions...most relevant to this conversation is that it scans the keybed to see which keys are being pressed, it decides which of the Polysix's six voices it should be assigned to, and it generates the digital signals necessary to create the correct pitches for all of the voices. If I replace this circuitry with my own (say, by using an Arduino in place of the existing microprocessor), I can assign the voices myself, which means that I'll know which voice goes with each key press, which means that I can apply any velocity-sensitive modulations to the correct note (via additional circuitry that I've yet to build).

Is it a good plan?  Sure.  Is it a feasible plan?  That's still unknown.  Helping me believe that this it is feasible is that there are a number of "MIDI Retrofit" kits available for the Polysix.  Several of them appear to replace the Key Assigner with a new microprocessor that has been programmed to receive MIDI commands as well as to scan the keybed.  If they can figure out how to replace the Key Assigner, I can too!

Edit: Here's the next step...Key Assigner Timing

No comments:

Post a Comment