Quantize Velocity

This might be feature request if it’s not possible today. At least I fail to figure this out:

Incoming Velocity → Outgoing Velocity

0 → 0

1-32 → 32

33-64 → 64

65-96 → 96

96-127 → 127

Or something similar.

Fixed velocities makes it easier to program robotic accented drums.

Try two Rescale pipes in line, with Kind = Note Velocity and different range parameters:

  1. In [0; 127], Out [0; 3]
  2. In [0; 3], Out [0; 127]

It should end up creating stepped values, but some further adjustments are probably needed to get the exact range you defined, but anyway, it’s a start. :slight_smile:

Ah, clever solution. :grinning_face: The exact ranges are not super important to me but the downside here is that a big range become zero which is interpreted as “nothing”, no note at all. A 127 step remap would definitely make it easier to only map zero to zero but this is a good solution anyway.

From @Giedrius suggestion, if you ignore the 0->0 part (they are only Note Off’s and can be leaved alone) and test

  1. In [1; 127], Out [1; a]
  2. In [1; a], Out [b; 127]

where “a” is number of steps and “b” is lowest output velocity you want.

Another (not very elegant) way if you want exact input ranges and output velocity, Transform Pipes that replace velocity in range [a; b] with [b] will work:

Yes, Johan is correct, if you use 1 as the lowest value, then the 0 velocity stays 0, while the rest of the velocity range then gets quantized into usable steps.

An addition to the "double Rescale "solution would be to add a Velocity (itself) Equalizer:
its effect would vary according to where it was inserted.




PS. @Johan’s

In [1; a], Out [b; 127]

raises the idea of making small variations to the robot accents over time (by mapping the a, b to a synced LFO)

:rocket: When the king does a ps…

Ahh, I see the idea has been improved since my last visit. Nice! :smiley:

I will update my preset.