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.
- 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
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
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.
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.
Nice work ! Great project.