This is a real time note quantizer per beat division.

It includes selectable quantizing to odd and even beat divisions up to 1/8 beat (1/32 note).

The gate determines the note length by even beat time divisions. When the gate is in latch mode, the note length will be one time division of the Quantize knob setting, including odd time divisions.
For example, when Quantize knob is on 1/3 beat and latch is selected the note length will be 1/3 beat.

The swing timing follows the beat division, so that setting the quantizing to a 1/3 beat will change the swing to a triplet.

Since it is not possible to move a note backwards in real time, like in “offline” DAW quantizing, a real time note is always quantized forward. That may produce less desirable results musically.
The UnQuantize control lets through all the slightly delayed notes without quantizing them to the next pulse. The rest are quantized to the next pulse. This gives a more natural timing to real time playing, or at least a better result for later offline quantization.


Quantize – Quantizes note start by beat division (1 – 1/8 beat)
including odd time divisions (1/3, 1/5, 1/6, 1/7 beat)
One beat = 1/4 note

Gate – Quantizes note length to beat (1/16 beat to 4 beats)
When gate is on latch, note is quantized to length of the
beat division set by the Quantize knob.
When the gate is off, note lengths are not quantized.

UnQuantize – When turned on does not quantize any notes that start
slightly after the beat (1 – 25 ms)
Notes that start later are quantized ahead according to
the Quantize knob.

Swing – Percentage of metronome swing (0 to 30%)
The swing is applied according to the beat division
set by the Quantize knob.

Shift: Shows current knob values.

User led: Flashes when incoming note on is played exactly on start
of metronome pulse. Indicates accuracy.

Quantization is done only when the host transport is running.

Knob settings are state saved.

v0.6 – Disabled gate when transport stops. Disabled detailed logging by default, user can uncomment one line in the script to enable them (“Call @logtimes”)
v0.5 – A complete redisign of the script functionality. Basically, ditched the first version and created a new script. The controls are now more useful, hopefully, for real time quantizing. The script is full of comments to help all the script readers, and there is plenty of logging to check out the timing accuracy.
v0.1 – initial release

3 comments on “MidiQ
  • Yoni on said:

    Deleted the previous version (0.1) and uploaded the fixed v.0.5 script

  • Yoni on said:

    Updated to v0.6

  • midicode on said:

    Thank YOU!! This is now vital to my workflow! Great work and much appreciated!

  • Leave a Reply

      197 PM
    • Platform:
    • Category: Composition Effect Utility
    • Revision: 0.6
    • Modified: 4 years ago
    • Views: 298
      Likes: 12
      Downloads: 67