Saturday, July 20, 2013

Polysix - Adding Single-Trigger Mode

Returning to my long string of modifications (most recently adding a sustain pedal), I'd like to talk about a new trigger mode that I added to my Korg Polysix.  As you likely know, the Polysix can be played as a 6-voice polyphonic synth or, using the "Unison" or "Chord Memory" buttons, can be played as a monophonic synth.  For basses and leads, monophone mode is often more fun for me.  The problem for me comes with how the Polysix retriggers its envelopes.  Whether you're playing legato (notes are connected) or staccato (space between the notes), the Polysix always re-triggers its note envelope with each key press.  This behavior is called "multiple trigger" mode and it really interferes with making swooping/soaring legato lines.  Instead, I'd like the option of "single trigger" mode, which prevents the envelopes from re-triggering until all keys have been released.  Because the envelope triggering is handled by the Key Assigner, and because I've replaced the Key Assigner with an Arduino, it means I can do my triggering however I'd like.  So, I added a "single trigger" mode in addition to the default "multiple trigger" mode.  Here's a demo.


Triggering an Envelope with a Single Note:  The Polysix, and most other synthesizers, have their filter (VCF) or their volume (VCA) controllable by an envelope.  Usually, it's an an envelope with four parameters that can be controlled -- attack, decay, sustain, and release -- which is why they are called ADSR envelope.  The envelope starts (is "triggered") whenever you press a key (as shown in the figure below).  It runs through the attack and decay phases and sits in the sustain phase until the key is released.  Then it completes the release phase and is done.  In a polyphonic synth like the Polysix (when in "Poly" mode), each voice has its own envelope, so whenever a key is pressed, a voice is allocated, and its envelope is triggered.  That that key is released, that voice enters its release phase and is done.  Easy.


Triggering with Multiple Notes:  For monophonic synthesizers (and for the Polysix when in "Unison" or "Chord Memory" modes), the synth has to decide what to do if the player has two keys depressed.  This happens all the time during single-note runs when the player might press the next key before he has had time to release the previous key.  Many synths behave like the stock Polysix does, which is each new keypress retriggers the envelope.  This is shown in the figure below where the 2nd key press (which preceeds the first key release) causes the trigger to re-start its attack phase.   This is called "multiple trigger" mode because multiple notes cause multiple triggers.  Notice that the first key release has absolutely no effect.  It's only the last key release that finally initiates the release phase.  In the early days of synths, this "multiple trigger" behavior was one of the most famous differences between old Arp synths (which are "multiple trigger") and old Moog synths (which were "single trigger").  The benefit of the "multiple trigger" mode is that it makes a run of fast notes sound very articulate and punchy because the envelopes adds dynamics to every note, regardless of whether you're articulate and playing staccato or you're a bit sloppy and playing legato.  As a result, players across a range of skill levels (or sobriety levels) really sound like they're shredding when using "multiple trigger" mode.


"Single Trigger" Mode:  The alternative to "multiple trigger" mode is "single trigger" mode.  Here, only the first key press causes the envelope to trigger.  The envelope will not be retriggered until all notes have been released.  As a result, multiple notes will only cause that single trigger event (hence the name).  This is shown in the figure below.  The benefit of this mode is that the attack and decay can be set to long values so that a filter sweeps in a slow soaring fashion while the players musical phrase plays underneath.  It can be a very nice effect.  If the player wants to retrigger with every note, he must use his skill to be sure to release his key before pressing the next one.  So, with multiple triggers, good keyboard skills allows you to have it both ways.


Implementing on the Polysix:  To be clear, I do not have good keyboard playing skills.  But, I do like to occasionally play those kind of soaring "single trigger" kind of synth lines.  So, I modified the software on my Arduino Key Assigner to let me toggle between the two modes.  When I press either the "Unison" or "Chord Memory" buttons, my Polysix defaults to "Multiple Trigger" mode, like normal.  If I press the button again, however, the LED dims and I know that I've switched to "Single Trigger" mode.  If I want to switch back to "Multiple Trigger", I simply press the button again and the LED brightens to indicate the return to normal operation.  As you can see in the video at the top, I enjoy having this flexibility.

Are there any other triggering modes out there that I should consider?

Update: I shared my Arduino code here

1 comment:

  1. Question: do you think there's a relatively 'easy' way to do this WITHOUT an arduino? I'd rather not get into the whole arduino thing but rather prefer to mount an interrupt switch somewhere on the deck where i could possibly turn retriggering on or off (?) thanks

    ReplyDelete