VMPK. Virtual MIDI Piano Keyboard PDF
VMPK. Virtual MIDI Piano Keyboard PDF
VMPK. Virtual MIDI Piano Keyboard PDF
VMPK 0.3.0
Introduction
Virtual MIDI Piano Keyboard is a MIDI events generator and receiver. It doesn't produce
any sound by itself, but can be used to drive a MIDI synthesizer (either hardware or
software, internal or external). You can use the computer's keyboard to play MIDI notes,
and also the mouse. You can use the Virtual MIDI Piano Keyboard to display the played
MIDI notes from another instrument or MIDI file player. To do so, connect the other
MIDI port to the input port of VMPK.
This software is still in development. See the TODO file for a list of pending features.
Please feel free to contact the author to ask questions, report bugs, and propose new
features. You can use the tracking system at SourceForge project site.
Copyright (C) 2008-2015, Pedro Lopez-Cabanillas <plcl AT users.sourceforge.net> and
others.
Virtual MIDI Piano Keyboard is free software licensed under the terms of the GPL v3
license.
Screenshots gallery
Getting started
MIDI concepts
MIDI is an industry standard to connect musical instruments. It is based on transmitting
the actions performed by a musician playing some instrument to another different
instrument. Musical instruments enabled with MIDI interfaces typically have two DIN
sockets labeled MIDI IN and MIDI OUT. Sometimes there is a third socket labeled MIDI
THRU. To connect a MIDI instrument to another one, you need a MIDI cable attached to
the MIDI OUT socket of the sending instrument, and to the MIDI IN of the receiving one.
You can find more information and tutorials like this one all around the Net.
There are also hardware MIDI interfaces for computers, providing MIDI IN and OUT
ports, where you can attach MIDI cables to communicate the computer with external
MIDI instruments. Without needing hardware interfaces, the computer can also use
MIDI software. An example is VMPK, which provides MIDI IN and OUT ports. You can
attach virtual MIDI cables to the VMPK's ports, to connect the program to other
programs or to the computer's physical MIDI interface ports. More details about this
coming later. You usually want to connect the MIDI output from VMPK to the input of
some synthesizer which transforms MIDI into sound. Another common destination for
the connection would be a MIDI monitor that translates MIDI events into readable text.
This will help you to understand what kind of information is transmitted using the MIDI
protocol. In Linux you can try KMidimon and in Windows MIDIOX.
VMPK doesn't produce any sound. You need a MIDI software synthesizer to hear the
played notes. I recommend you to try QSynth, a graphical front-end to Fluidsynth. In
Windows you can also use the "Microsoft GS Wavetable Synth" that comes with all
Windows versions, or a better alternative like CoolSoft Virtual MIDI Synth. Of course, an
external MIDI hardware synth would be an even better approach.
To connect hardware MIDI devices you need physical MIDI cables. To connect MIDI
software you need virtual cables. In Windows you can use some virtual MIDI cable
software, like MIDI Yoke, Maple, LoopBe1, Sony Virtual MIDI Router or loopMIDI.
MIDI Yoke setup process will install the driver and a control panel applet to change the
number of MIDI ports that will be available (you need to restart the computer after
changing this setting). MIDI Yoke works sending every MIDI event written to an OUT
port to the corresponding IN port. For instance, VMPK can connect the output to the port
1, and another program like QSynth can read the same events from the port 1.
Using MIDIOX you can add more routes between MIDI Yoke ports and other system MIDI
ports. This program also provides other interesting functionalities, like a MIDI file
player. You can listen the songs played in a MIDI Synth and at the same time see the
played notes (only one channel at a time) in VMPK. To do so, you can use the "Routes"
window in MIDIOX to connect the input port 1 to the Windows Synth port. Also,
configure the player's MIDI port to send to MIDI Yoke 1. And configure VMPK Input port
to read from MIDI Yoke 1. The player will send the events to the out port 1, which will be
routed to both the input port 1 and at the same time to the synth port.
In Linux, you have ALSA sequencer to provide the virtual cables. The ports are
dynamically created when you start a program, so there is not a fixed number of them
like in MIDI Yoke. The command line utility "aconnect" allows to connect and disconnect
the virtual MIDI cables between any ports, being hardware interfaces or applications. A
nice GUI utility for doing the same is QJackCtl. The main purpose of this program is to
control the Jack daemon (start, stop and monitor the state). Jack provides virtual audio
cables to connect your sound card ports and audio programs, in a similar way to the
MIDI virtual cables, but for digital audio data.
There is no sound
VMPK doesn't produce any sound by itself. You need a MIDI synthesizer, and please read
the documentation again.
You can find the AWK script "txt2ins.awk" installed in the VMPK's data directory.
Download
You can find the latest sources, Windows, and Mac OSX packages at SourceForge project
site.
You can choose between CMake and Qmake to prepare the build system, but qmake is
intended only for testing and development.
$ cmake .
or
$ ccmake .
or
$ qmake
If the program has been compiled sucessfully, you can install it:
$ sudo make install
Requirements
In order to successfully build and use VMPK, you need Qt 5.1 or newer. (install the -devel
package for your system, or download the open source edition from qt-project.org
Drusmtick RT is required for all platforms. It uses ALSA sequencer in Linux, WinMM in
Windows and CoreMIDI in Mac OSX, which are the native MIDI systems in each
supported platform.
The build system is based on CMake.
You need also the GCC C++ compiler. MinGW is a Windows port.
Optionally, you can buid a Windows setup program using NSIS.
You can find a precompiled universal app bundle, including Qt5 runtime libraries, at the
project download area. If you prefer to install from sources, CMake or Qmake can be
used to build the application bundle linked to the installed system libraries. You can use
Qt5 either from qt-project.org or packages from Homebrew.
The build system is configured to create an universal binary (x86+ppc) into an app
bundle. You need the Apple development tools and frameworks, as well as Qt5.
To compile VMPK using Makefiles, generated by qmake:
$ qmake vmpk.pro -spec macx-g++
$ make
optionally:
$ macdeployqt build/vmpk.app
If you need something to produce noise, maybe you want to take a look to SimpleSynth,
FluidSynth. For MIDI routing, there is also MIDI Patchbay.
The CMake "Release" type uses the compiler flags: "-O3 -DNDEBUG". Other predefined
build types are "Debug", "RelWithDebInfo", and "MinSizeRel". The second way is to
choose the compiler flags yourself.
$ export CXXFLAGS="-O2 -march=native -mtune=native -DNDEBUG"
$ cmake .
You need to find the better CXXFLAGS for your own system.
If you want to install the program at some place other than the default (/usr/local) use
the following CMake option:
$ cmake . -DCMAKE_INSTALL_PREFIX=/usr
Acknowledgements
In addition to the aforementioned tools, VMPK uses work from the following open
source projects.
from Qtractor, by Rui Nuno Capela
Instrument definition data classes
Icon and logo by Theresa Knott
This page uses the Wordsworth 3 free template by Lee Baillie
This page uses Lightbox2 by Lokesh Dhakar
Thank you very much!
Available Languages
English
espaol
Contents
Introduction
Getting started
MIDI concepts
Keyboard maps and instrument definitions
MIDI connections and virtual MIDI cables
FAQ
Download
Installation
Requirements
I USE IT
Project Links
Blog
openhub.net
freecode.com
Google+
qt-apps.org
Hitsquad Music Software Downloads
linuxaudio.org
Follow
+ 103
+1