Variable velocity sensitivity (amplitude)

Many synths provide an ‘AMP Velocity %’ control (0 to 100%) which scales the amp-adsr control signal (that controls the VCA). Providing the following behaviour (assuming a linear curve) :

  • At 0%, notes play at max VCA level, irrespective of the velocity value.

  • At 100% (full dynamic range) :
    velocity = 127 : produces a note at max VCA level
    velocity = 1 : produces a note at min (non-zero) VCA level
    velocity = 64 : produces a note at ~50% VCA level

  • At 50% :
    velocity = 127 : produces a note at max VCA level
    velocity = 1 : produces a note at 50% VCA level
    velocity = 64 : produces a note at ~75% VCA level

And so on. Essentially, as the % velocity sensitivity is increased, the dynamic range extends downwards from the max VCA value. For the maths oriented it’s (in C) :

envMultiplier = (vel == 0) ? 0 : 1 - ((1 - vel / 127) * sens / 100);

Can this behaviour be achieved with the A4 ?

AIUI the current implementation (Sound Settings > Velocity to Vol) provides the two extremes (0% and 100%) but not the variable sensitivity I’m looking for. The exp/log curves don’t help here, as the end-points are unchanged, i.e. a velocity of 1 gives an almost inaudible note, whilst a velocity of 127 gives a note at max volume, and this is true whatever curve is selected.

Also, I’ve had no success with Sound Settings > Velocity Mod, e.g. controlling the AMP Volume.

In case anyone’s wondering ‘why?’. I don’t want notes played at very low velocity to be virtually inaudible. :slight_smile:

Lenny.