Transform Notes v1.1

Remaps incoming midi notes into different note range (squishes, stretches, inverts) with optional scale quantization.

This script squishes, stretches
* Notes outside the input range are suppressed
* If input knob changes, its other knob will update position to prevent range overlap
* The output range can be inverted
* Tap SHIFT to toggle between ranges setup and bend/scale quantization setup

Bend & Scale Quantize Setup
* LOG toggles log output, double-Tap to toggle
* BEND allows to change the mapping curve from linear (OFF) to a curve that
bends towards lower or higher notes. Double-Tap to reset to OFF.
* QUANT selects the scale the output notes are quantized to
* ROOT selects the quantization root

Bending happens around the ‘center note’ of the input range. For the default
range of 0 – 127 the center is 64, which may bend down to 16 (bend 80 L) or
up to 111 (bend 80 H).
Bending works best if the input and output note ranges are limited – its
range-center may then bend down to 1/8 or up to 7/8 of its range span
depending on the bend factor.

Use cases:
– For regular transpose of up-one-octave, set input min=0/max=115 and
output min=12/max=127

– For ‘inversion’ of a melody, set the input note range to just cover the lowest
to highest note and for the output range set the minium to that highest notes
and maximum to the lowest note

– Detection of double input note-on/off
– Detection if computed output note is already playing
– Ranges can be adjusted while input is playing, there should be no hanging notes
– Optional logging of activities


The script was developed upon request/idea of annahahn on the Audiobus forum ( )

One comments on “Transform Notes v1.1
  • -ki on said:

    Updated to v1.1
    – Added LOG knob to toggle logging
    – Added BEND factor for non linear transformations, default is linear.

  • Leave a Reply

      1941 PM
    • Platform:
    • Category: Utility
    • Revision: 1.1
    • License: Creative Commons Attribution Share Alike 4.0
    • Modified: 4 years ago
    • Views: 262
      Likes: 5
      Downloads: 36