MIDI Note Shifter

Transpose notes passing through the plugin by the number of semitones away from a configurable center note.

• CONTROL CH: Channel to listen to for the incoming control notes, or ANY for all channels.
• CENTER ♪: The note to be the center of the transpose range. (See Note 4)
• RANGE +/-: Range of octaves to use for the transpose range. This is mainly useful if you’re using the same MIDI channel to transpose and for the transposed notes.
• OUTPUT CH: Output channel for transposed notes. Set to ANY to leave channel unchanged.
• BEHAVIOR: If set to Normal, transposing will stay in effect until another transpose note is received. If set to Momentary, transpose will only remain in effect for as long as the transpose note is held down.

1. Notes used to trigger transposing are not passed through the plugin. So, if you can’t send control notes on a particular channel that you don’t want to transpose (i.e. if Control Ch. is ANY), then you will want to limit the range of octaves used to a range outside of what you want to transpose.
2. Notes that would be transposed outside of the MIDI range (0-127) will be silenced.
3. The script attempts to avoid stuck notes if transpose is changed while notes are playing. You might want to try to avoid tempting fate though. 😬
4. Different DAWs and apps may name note octaves differently as there is no MIDI standard for this.

Script idea/request by Audiobus Forum member @sujoybose77 👍🏼.
Momentary behavior option suggested by Steven (Ego Likeness) Archer. 🤙🏼

1464 PM
  • Platform:
  • Category: Utility
  • Revision: 1.1
  • License: The Unlicense
  • Views: 633
  • Modified: 1 year ago
Chat about this patch on Discord! Download (32)
Appreciate 4
4 comments on “MIDI Note Shifter
  • Sujoy Bose on said:

    Thank you for creating this script. The usefulness of this script is to create an arpeggio only once in any piano roll editor (e.g. Atom or Helium etc) and then transpose it beautifully passing thru scaler with the press of just one note (higher or lower of the root note)…
    Kind of what shown in this video – https://youtu.be/yKjXEZgd9CA?t=66

  • wim-number37 on said:

    version 1.1 adds an option for Momentary transposition. When the fifth knob is set to Momentary, transposing only happens for as long as then transpose note is held down and returns to no transposition on release. When set to Normal it works as before, transposing until the next transpose note is received.

  • 80Hz on said:

    This could be useful for midi guitarists to create alternate tunings (without actually retuning the strings). If you could make a sperate note shift dial for midi channels 1-6 (one for each string of the guitar), then the guitarist would be able to create alternate tunings. Hope someone creates that! If someone gets inspired, a separate volume for each midi channel (1-6) would also be useful.

  • Leave a Reply