Virtual MIDI Piano Keyboard Icon

Virtual MIDI Piano Keyboard

Virtual MIDI controller for Linux, Windows and OSX

4.9 Stars (37)
2,204 Downloads (This Week)
Last Update:
Download vmpk-0.6.0.tar.bz2
Browse All Files
Windows Mac Linux



VMPK is a virtual MIDI piano keyboard for Linux, Windows and OSX. Based on Qt and Drumstick the program is a MIDI event generator using the computer's alphanumeric keyboard and the mouse. It may be used also to display received MIDI notes.

Virtual MIDI Piano Keyboard Web Site


  • 1 MIDI IN port
  • 1 MIDI OUT/THRU port
  • MIDI standards compliant
  • Configurable number of keys/octaves
  • Configurable starting note
  • Configurable key size
  • Configurable computer keyboard mappings
  • Touch screen support
  • MIDI output to Internal synthesizer, using FluidSynth soundfont (.sf2) synth
  • MIDI input and output to network, using an ipMIDI compatible protocol
  • MIDI input and output to OS native drivers (Windows, Linux and Mac OSX)
  • Translations to many languages


User Ratings

ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 3 / 5
Write a Review

User Reviews

  • cpumeshman
    1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    In response to the latency complaints . . . . The src is to the least, superb but in its structure subdued to gcc issues, observe not any gcc bugs !, only. Build QT with full -O3 -fno-gcse -mtune=(some cpu), all mtunes are cpu portable, but at it's best on the target tuned hardvare host. Then build vmpk with -03 -fno-gcse -fno-guess-branch-probability -mtune=(your choice) And all latency disappears, even on comparatively slow ten year + old machines, driving an equally built timidity++ driver. One tip with Timidity++drv. Search and replace -mms-bitfields with -mno-ms-bitfields in the build files, as it causes squeeks'nscratching. There is no need to provide MSVC linking support for a driver. and link -static-libgcc otherwise the driver can hook on other gcc built executables and cause a msvcrt splash screens on exit. Tested with Hydrogen, Lmms, Qsynth, Mscore, 2 mention a few, with gcc 4.8,a bit custombuilt one . . but there shall be no difference with a regular say 4.8.1 and up. This counts for all "ïntel like arch" builds

    Posted 08/22/2014
  • plcl
    1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    This is the author, answering to the former reviewer, someone called Paweł Audionysos. VMPK is not responsible for the bad latency of the Microsoft GS Wavetable Synth, or any other synth that you may connect to the program. Many people asked me politely about the latency problem of this synth, which I've always replied. The web page has a clue for Windows users, recommending CoolSoft Virtual MIDI Synth instead, which can be configured with an output buffer of 0ms, easily solving the problem on Windows.

    Posted 01/05/2014
  • stephen-chen
    1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    It would be awesome if you can implement a feature that reads in MIDI/PDF sheet music inputs and have a keyboard-sheet music dual interface. Just an idea, but it would make using the software much easier for me.

    Posted 08/18/2013
  • ryanhouse
    1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    Nice work ! Great project.

    Posted 06/22/2013
Read more reviews

Additional Project Details


French, Czech, English, Serbian, Galician, Swedish, German, Spanish, Russian

Intended Audience

End Users/Desktop

User Interface


Programming Language



Screenshots can attract more users to your project.
Features can attract more users to your project.

Icons must be PNG, GIF, or JPEG and less than 1 MiB in size. They will be displayed as 48x48 images.