[Scriptlet] Channel Round Robin

This scriptlet will redirect incoming MIDI notes into a given MIDI channel, cycling channels each time a note is received Channel Round Robin.rackspace (6.3 KB). The scriptlet is in a rackspace, as I can’t upload .gpscript files.

This is a simple but powerful idea: for example, I can use it to give 3 polyphonic “voices” to a monophonic synth patch, using the pattern below:

Other use cases:

  • Increase clarity when playing chords using a distorted sound, because the distortion will be applied on individual notes;
  • Send notes into a synth panned hard left and a synth panned hard right in alternance, giving a “ping-pong” effect while not relying on a tempo-based LFO;
  • Experimental patch design


  • Will probably produce hanging notes if multiple MIDI sources are fed into the scriptlet;
  • Will crash if all channel widgets are set to “Off” and a note is played (I had a hard time debugging this one, it could be useful if GP showed the script line number in the script logger when an error occurs)

That should be investigated.
How are steps to exactly reproduce that?

On Mac I get no crash but a runtime error

Runtime error is what I should’ve said (I meant crash as in scriptlet crash, not GP crash), so it’s not a big deal, the scriptlet can’t crash GP.

I’ve not check your scriptlet (as of yet) but I recall working with similar scriptlet with @pianopaul
Maybe its useful…
Its here on the new forum category

And I also made one I called “Polyphony Dispatcher” which is intended to extend the polyphony of some synth by using several identical synth plugin over different MIDI channels, It also does MIDI channels cycling… :stuck_out_tongue_winking_eye:
The original idea was indeed a divisi Scriptlet from @pianopaul.


Ahh, so I reinvented the wheel!