Virtual MIDI Piano Keyboard



Einleitung

Virtual MIDI Piano Keyboard ist ein MIDI-Generator und –Empfänger. Er produziert selbst keinen Sound, aber kann genutzt werden, um einen MIDI-Synthesizer (Hard- oder Software, intern oder extern) anzusteuern. Sie können die Tastatur benutzen, um MIDI-Noten zu spielen, ebenso wie die Maus. Man kann Virtual MIDI Piano Keyboard benutzen, um gespielte MIDI-Tasten von anderen Instrumenten oder MIDI-Datei-Playern mit zu verfolgen. Verbinden Sie dazu einfach den anderen MIDI-Port mit dem Eingangs-Port des VMPK.

VMPK wurde in Linux, Windows und Mac OSX getestet, aber vielleicht können Sie es ja in andere Systeme einbauen? Wenn ja, schreiben Sie doch dem Entwickler eine E-Mail.

Das Virtual Keyboard von Takashi Iway (vkeybd) war die Inspiration hierfür. Es ist eine wunderbare Software und hat uns viele Jahre gut gedient. Danke!

VMPK basiert auf einer modernen Grafik-Oberfläche namens Qt4, die exzellente Eigenschaften und Leistung bietet. Die MIDI Input/Output-Features stammen aus RtMIDI. Beide Oberflächen sind frei und systemunabhängig, verfügbar für Linux, Windows und Mac OSX.

Das alphanumerische Tastaturlayout kann innerhalb des Programms konfiguriert werden, und die Einstellungen werden in XML-Dateien gespeichert. Einige Layouts für spanische, deutsche und französische Tastaturen – Übersetzungen aus VKeybd – liegen schon bei.

VMPK kann Programm-Änderungsbefehle und Controller an einen MIDI-Synthesizer senden. Die Definitionen verschiedener Standards und Geräte können als .INS – Dateien erstellt werden, dieses Format wird auch QTractor und TSE3 benutzt. Es wurde von Cakewalk entwickelt und auch in Sonar benutzt.

Diese Software befindet sich noch in einer sehr frühen Alpha-Phase. Schauen Sie in die TODO-Datei für eine Liste von unfertigen Features. Die Autoren würden sich über Fragen, Fehlermeldungen und Vorschläge sehr freuen. Sie können das Tracking-System der SourceForge Projektseite benutzen.

Copyright (C) 2008-2011, Pedro Lopez-Cabanillas <plcl AT users.sourceforge.net>

Virtual MIDI Piano Keyboard ist Libre-Software, lizensiert unter den Bedinungen der GPL v3 Lizenz.

Loslegen

Was ist MIDI?

MIDI ist ein Industriestandard zur Verbindung von Musikinstrumenten. Er basiert auf der Übertragung der Aktionen eines Musikers auf ein anderes Instrument. Musikinstrumente mit MIDI-Schnittstellen haben typischerweise zwei DIN-Steckplätze, die mit MIDI IN, beziehungsweise MIDI OUT bezeichnet sind. Manchmal gibt es auch einen dritten Steckplatz, MIDI THRU. Um MIDI-Instrumente zu verbinden braucht man ein MIDI-Kabel zwischen dem MIDI OUT des sendenden und dem MIDI IN des empfangenden Instruments. Mehr Informationen und Tutorials wie dieses finden sich überall im Netz.

Es gibt auch Hardware-Schnittstellen zur MIDI-Nutzung auf Computern, die MIDI IN und OUT zur Verfügung stellen, und an die dann MIDI-Kabel angeschlossen werden. Dies ermöglicht dem Computer die Kommunikation mit externen MIDI-Instrumenten. Auch ohne MIDI-Hardware können Computer MIDI-Software intern benutzen. VMPK ist ein Beispiel für die Bereitstellung von MIDI IN und MIDI OUT – Kanälen. VMKP bietet virtuelle MIDI-Kabel, mit denen das Programm mit anderer Software oder der MIDI-Hardware des Computers verbunden werden kann. Dazu später mehr. Normalerweise wird VMPKs MIDI OUT mit dem Eingang eines Synthesizers verbunden, der dann das MIDI-Signal in Töne umwandelt. Eine weitere übliche Verbindung wäre die mit einem MIDI-Monitor, der MIDI-Daten in lesbaren Text umwandelt. Dies ist nützlich, um die Information zu verstehen, die vom MIDI-Protokoll übertragen wird. Unter Linux können Sie KMidimon, ausprobieren, oder unter 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.

Frequently Asked Questions

How to display 88 keys?

88 is an arbitrary number of keys used by (most) modern piano manufacturers, but organ and synthesizer manufacturers don't always follow this convention. VMPK can be customized to display from 1 to 10 octaves. Using 7 octaves it shows 84 keys, and for 8 octaves it shows 98 keys. There is no way to display exactly 7 and 1/4 octaves.

There is no sound

VMPK doesn't produce any sound by itself. You need a MIDI synthesizer, and please read the documentation again.

Some keys are silent

When you select channel 10 on a standard MIDI synth, it plays percussion sounds assigned to many keys but not to all of them. On melodic channels (not channel 10) you can select patches with a limited range of notes. This is known in music as Tessitura.

The "Grab Keyboard" option fails

It is a known issue for Linux users. This feature works well in KDE3/4 desktops using the standard kwin window manager; it also works with Enlightenment and Window Maker, but fails in Metacity and Compiz window managers, common among Gnome setups. It is also known that using this option prevents normal usage of the drop down menus on GTK2 applications. There is no known solution for this issue, except avoiding the broken scenarios if you really need this feature.

Patch names don't match the real sounds

You need to provide an .INS file describing exactly your synthesizer's sound set or soundfont. The included file (gmgsxg.ins) contains definitions for only standard GM, GS and XG instruments. If your MIDI synth doesn't match exactly any of them, you need to get another .INS file, or create it yourself.

Syntax of the Instrument Definition (.INS) files?

One explanation of the INS format is here.

Can I convert my Instrument Definition for vkeybd into an .INS file?

Sure. Use the AWK script "txt2ins.awk". You can even use the utility sftovkb from vkeybd to create an .INS file from any SF2 soundfont, but there is also a function to import the instrument names from SF2 and DLS files in VMPK.

$ sftovkb SF2NAME.sf2 | sort -n -k1,1 -k2,2 > SF2NAME.txt
$ awk -f txt2ins.awk SF2NAME.txt > SF2NAME.ins

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.

There are also ready to install Linux packages for:

Installation from sources

Download the sources from http://sourceforge.net/projects/vmpk/files. Unpack the sources in your home directory, and change to the unpacked dir.

$ cd vmpk-x.y.z

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

After that, compile the program:

$ make

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 4.6 or newer. (install the -devel package for your system, or download the open source edition from qtsoftware.com, formerly Trolltech.)

RtMIDI is included in the source package. 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.

Notes for windows users

To compile the sources in Windows, you need to download either the .bz2 or .gz archive and uncompress it using any utility that supports the format, like 7-Zip.

To configure the sources, you need qmake (from Qt4) or CMake. You need to set the PATH including the directories for Qt4 binaries, MinGW binaries, and also CMake binaries. The program CMakeSetup.exe is the graphic version of CMake for Windows.

Notes for Mac OSX users

You can find a precompiled universal app bundle, including Qt4 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 Qt4 either from qtsoftware.com or the package distributed by Fink.

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 the Qt4 SDK from Nokia.

To compile VMPK using Makefiles, generated by qmake:

$ qmake vmpk.pro -spec macx-g++
$ make
optionally:
$ macdeployqt build/vmpk.app

To compile using Makefiles, generated by CMake:

$ cmake -G "Unix Makefiles" .
$ make

To create Xcode project files:

$ qmake vmpk.pro -spec macx-xcode
or
$ cmake -G Xcode .

If you need something to produce noise, maybe you want to take a look to SimpleSynth, or FluidSynth (available from Fink). For MIDI routing, there is also MIDI Patchbay.

Notes for packagers and advanced users

You can ask the compiler for some optimisation when building the program. There are two ways: first, using a predefined build type.

$ cmake . -DCMAKE_BUILD_TYPE=Release

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.

Thank you very much!

./usr/share/vmpk/help_de.html0000644000000000000000000005032011572642326015077 0ustar rootroot Virtual MIDI Piano Keyboard

Virtual MIDI Piano Keyboard



Einleitung

Virtual MIDI Piano Keyboard ist ein MIDI-Generator und –Empfänger. Er produziert selbst keinen Sound, aber kann genutzt werden, um einen MIDI-Synthesizer (Hard- oder Software, intern oder extern) anzusteuern. Sie können die Tastatur benutzen, um MIDI-Noten zu spielen, ebenso wie die Maus. Man kann Virtual MIDI Piano Keyboard benutzen, um gespielte MIDI-Tasten von anderen Instrumenten oder MIDI-Datei-Playern mit zu verfolgen. Verbinden Sie dazu einfach den anderen MIDI-Port mit dem Eingangs-Port des VMPK.

VMPK wurde in Linux, Windows und Mac OSX getestet, aber vielleicht können Sie es ja in andere Systeme einbauen? Wenn ja, schreiben Sie doch dem Entwickler eine E-Mail.

Das Virtual Keyboard von Takashi Iway (vkeybd) war die Inspiration hierfür. Es ist eine wunderbare Software und hat uns viele Jahre gut gedient. Danke!

VMPK basiert auf einer modernen Grafik-Oberfläche namens Qt4, die exzellente Eigenschaften und Leistung bietet. Die MIDI Input/Output-Features stammen aus RtMIDI. Beide Oberflächen sind frei und systemunabhängig, verfügbar für Linux, Windows und Mac OSX.

Das alphanumerische Tastaturlayout kann innerhalb des Programms konfiguriert werden, und die Einstellungen werden in XML-Dateien gespeichert. Einige Layouts für spanische, deutsche und französische Tastaturen – Übersetzungen aus VKeybd – liegen schon bei.

VMPK kann Programm-Änderungsbefehle und Controller an einen MIDI-Synthesizer senden. Die Definitionen verschiedener Standards und Geräte können als .INS – Dateien erstellt werden, dieses Format wird auch QTractor und TSE3 benutzt. Es wurde von Cakewalk entwickelt und auch in Sonar benutzt.

Diese Software befindet sich noch in einer sehr frühen Alpha-Phase. Schauen Sie in die TODO-Datei für eine Liste von unfertigen Features. Die Autoren würden sich über Fragen, Fehlermeldungen und Vorschläge sehr freuen. Sie können das Tracking-System der SourceForge Projektseite benutzen.

Copyright (C) 2008-2011, Pedro Lopez-Cabanillas <plcl AT users.sourceforge.net>

Virtual MIDI Piano Keyboard ist Libre-Software, lizensiert unter den Bedinungen der GPL v3 Lizenz.

Loslegen