Keyboard Velocity Map


I am using a VSL Synchron piano. Everything is great except for the velocity map. I prefer the X/Y style.

Does anyone know of a velocity map plugin I can insert between the inbound MIDI and the imstrument, that will allow me to massage the velocity curve? I tried the one by PizMidi, but it’s a bit quirky.


On Windows

An alternate solution can be scripting.

Thanks Paul,

I’m going to look into veloscaler. Can you give me a bit of light re the scripting?


Hi @gfd,

here a little script to show how the incoming velocity can be manipulated:

var MIN  : MidiInBlock
    vel  : integer
    vel2 : integer
    val  : double
on NoteEvent(m : NoteMessage) from MIN
 vel = GetVelocity(m)
 val = MidiToParam(vel)
 val = Sqrt(val)
 vel2 = ParamToMidi(val)

 SendNow(MIN, WithVelocity(m, vel2))


Is there a language reference available? Also, is it comprehensive enough to build a plugin?

You can use this:

What kind of plugin?


My first post here.
You would give a look at the velpro software by spingbeats.
It is a velocity editor available for both win and osx that should be quite flexible for your needs.
(link fixed by mod)

Is this a software to use before GP or is that a VST?

It seems to create one (or several) virtual MIDI in port.

OK, I don’t like that.

I assume that you likes using a vst within GP instead of an external application.
I’ve found these two:
Anyway they are availavble only for windows.

A more powerful soulution could be Midilab ( that can manipulate midi signals in a vst host fashion. It is available as vst to be loaded in GP.

1 Like

Beyond the application of a curve to a MIDI velocity, I was wondering what is the best way to define a curve.
e.g. I own a weighted piano keyboard controller perfectly adapted to the use of my piano plugin. Now I want to use a waterfall organ keyboard controller which velocity curve is not adapted at all to the piano plugin. So for the moment I follow an empirical trial and error approach to define my custom velocity curve. I was wondering if there is a less empirical methodology to determine this curve given that I am satisfied of the piano controller and piano plugin association. Cannot figure out if it makes sense, but I though I could play on the piano controller and record a MIDI file and then replay that MIDI file and play the same song in playback on the organ controller (to have the feeling of playing the song while hearing the playback) while recording a MIDI file on this controller too. Then the idea would be, note for note, to derive the curve function by supposing that the organ controller velocity is the input and the piano controller velocity the output.
How do you adjust your velocity curves?

In Scarbee EP88 there is a clever builtin velocity measure function.
There are about 15 bars, each for a velocity range.
Now you can play on you keyboard until all bars are filled and the you get a balanced velocity.

Never tried this EP, but if I remember well it is part of the Ni Komplete that I own…

How does they establish the curve this way? What is the reference? I don’t understand well…

Seems that they measure the velocity which comes from your keaboard and make some curves,
I have no clue
And it is not part of the Komplete Bundle

One of the best implementation is on Pianoteq :wink: