PianoTuner v1.0

A program to adjust the velocity values of a MIDI signal.
By Joachim Elen


  • Problem
  • Solution
  • Buttons Explained
    - Device Frame

    - Note Frame

    - Velocity Frame

    - Piano Bar

    - Extras

  • Download

  • Problem

    I am learning to play the piano and have bought myself a secondhand Technics digital piano to start with. During my exams I encountered the problem that a real piano doesn't always react when you hit a key very gently - that's something I couldn't practice at home with my very sensitive digital piano. Another problem is that recorded playings always sound too silent through the computer's soundcard ... and when I try to play a normal midifile throughout my piano, it sounds like someone is using a hammer to hit the keys.
    Analysing the differences between my digital piano and a real one, I also found out that some real piano's have a loud bass and relatively quiet high tones.


    PianoTuner is a program that enables you to adjust the velocity of EACH KEY seperately using an editable curve. This curve ensures that zero velocity remains zero and maximum velocity remains 127 (as described in the MIDI standard) resulting in natural sounding velocity levels.

    To imitate the silence when a key is hit very gently, I added a cut-off velocity.

    To avoid the extreme loudness when playing a midi-file through-out the piano, I also created a maximum velocity slider

    Buttons explained

    Device Frame

    You can see two comboboxes which allow you to select the MIDI IN device and MIDI OUT device. Use MIDI Yoke Junction NT or something like that as a virtual patchcable.

    Note Frame

    Midi Nr. and Note both show over which note your mousepointer is sliding at the moment and are not really that important.
    Unselect All unselects all notes that have been selected in the piano bar. See also the Spread Velocity for more information. C4shows the active note, the current note on which the changes are made. When you press another key in the piano bar, the C4 changes into whatever note you have selected.

    Velocity Frame

    Changes made in the Velocity frame will have effect on the ACTIVE KEY in the piano bar only.
    Curve Editor The curve editor is a neat component. By clicking it with the left mousebutton, the curve changes automatically so that it goes through the mousepointer ... try it, it explains itself. The exp textbox show you the exponent it internally uses to get this curve. When you keep your mouse still for a while, a tooltip shows up exposing the original velocity value (X-value of you mousepointer) and the new velocity to which it is mapped.(corresponding Y-value)
    Vertical Slider changes the top position of the curve. This diminishes the velocity. The corresponding value can be seen in the Max Vel textbox.
    Horizontal Slider changes the cut-off position of the curve, which can be read in thecut-off textbox. Values below this cut-off position are turned to zero. Copy To All button copies the curve, cut-off and max vel values to all other keys.
    Spread Velocitysearches the values of all selected keys and spreads these values over all the keys in between. See the piano-bar to find out how to select a key.
    Reset Active resets the curve of the active key (it becomes a straight line again).
    Reset All resets all values of all keys as if the program wasn't doing anything.

    Piano Bar

    The piano bar can be clicked or double clicked.
    Single clicking a key in the piano bar activates that key. You can identify the active key by the red spot below or above that key. Changes made in the velocity frame only have effect on this key.
    Double clicking a key in the piano bar selects that key. Selected keys can be identified by the blue spot below or above that key. When for each selected key the velocity parameters are set and the SPREAD VELOCITY is pressed, PianoTuner will automatically spread all velocity parameters over the keys between the selected ones.

    The piano bar can also be used to monitor the playing. You can't only see what notes are being pressed, but you can see the pressure being used as well. A small velocity values will show a small black block inside the pressed key, while a big red block that fills the key means that it's being pressed to its maximum velocity value. Small differences of velocity can been seen at once. This can help you for instance to detect why a chord doesn't sound as it is supposed to sound (e.g. my last chord of the Gymnopedie of Satie didn't sound clear enough because I saw that I didn't put enough pressure on the highest note.)


    All the settings you make can be saved. You just type in a name for your setting in the combobox and press the Save Settings button. Simple as that. Beware, this is the filename and to these names the same rules apply as filenames. I didn't intercept any errors to this.
    remap to channel 1 remaps all the channels to channel 1. This way, I can play everything throughout my piano, which only listens to that channel.
    The TRANSPOSE combobox is a nice gadget ... musicians know what it means.
    NOTES OFF is a function that turns off all notes of every midi channel one by one.

    Enjoy the program,

    Smile, you are visitor
    Click Here