VMPK 0.3.0

Virtual MIDI Piano Keyboard ist ein Generator und Empfänger von MIDI-Events. Es erzeugt selbst keinen Klang, kann aber zur Ansteuerung eines MIDI-Synthesizers (entweder Hardware oder Software, intern oder extern) verwendet werden. Sie können die Tastatur des Computers zum Spielen von MIDI-Noten verwenden, aber auch die Maus. Sie können das Virtual MIDI Piano Keyboard verwenden, um die gespielten MIDI-Noten eines anderen Instruments oder MIDI-File-Players anzuzeigen. Verbinden Sie dazu den anderen MIDI-Anschluss mit dem Eingangsanschluss des VMPK.

Gymnopédie Nr. 1 von E. Satie (1866-1925) gespielt von MuseScore und VMPK in Linux

VMPK wurde in Linux, Windows und Mac OSX getestet, aber vielleicht können Sie es auch in anderen Systemen bauen. Wenn ja, schreiben Sie bitte eine Mail an den Autor.

Die Virtuelle Tastatur von Takashi Iway (vkeybd) war die Inspiration für dieses Programm. Es ist ein wunderbares Stück Software und hat uns viele Jahre lang gute Dienste geleistet. Danke!

VMPK verwendet ein modernes GUI-Framework: Qt5, das hervorragende Features und Performance bietet. Drumstick RT bietet MIDI-Input/Output-Funktionen. Beide Frameworks sind kostenlos und plattformunabhängig, verfügbar für Linux, Windows und Mac OSX.

Die alphanumerische Tastaturbelegung kann aus dem Programm heraus über die GUI-Oberfläche konfiguriert werden, die Einstellungen werden in XML-Dateien gespeichert. Es werden einige Maps für spanische, deutsche und französische Tastaturbelegungen mitgeliefert, die aus den von VKeybd bereitgestellten Maps übersetzt wurden.

VMPK kann Programmwechsel und Controller an einen MIDI-Synth senden. Die Definitionen für verschiedene Standards und Geräte können als .INS-Dateien bereitgestellt werden, das gleiche Format, das von QTractor und TSE3 verwendet wird. Es wurde von Cakewalk entwickelt und wird auch in Sonar verwendet.

Diese Software befindet sich noch in der Entwicklung. In der TODO-Datei finden Sie eine Liste der noch ausstehenden Funktionen. Sie können den Autor gerne kontaktieren, um Fragen zu stellen, Fehler zu melden und neue Funktionen vorzuschlagen. Sie können das Tracking-System auf der SourceForge-Projektseite verwenden.

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

Virtual MIDI Piano Keyboard ist freie Software, die unter den Bedingungen der GPL v3 Lizenz lizenziert ist.

VMPK unter Linux VMPK unter Mac OSX VMPK in Windows Big VMPK Big VMPK

Einstieg

MIDI-Konzepte

MIDI ist ein Industriestandard, um Musikinstrumente zu verbinden. Er basiert auf der Übertragung der Aktionen eines Musikers, der ein Instrument spielt, an ein anderes, anderes Instrument. Musikinstrumente, die mit MIDI-Schnittstellen ausgestattet sind, haben in der Regel zwei DIN-Buchsen, die mit MIDI IN und MIDI OUT beschriftet sind. Manchmal gibt es noch eine dritte Buchse mit der Bezeichnung MIDI THRU. Um ein MIDI-Instrument mit einem anderen zu verbinden, benötigen Sie ein MIDI-Kabel, das Sie an die Buchse MIDI OUT des sendenden Instruments und an die Buchse MIDI IN des empfangenden Instruments anschließen. Weitere Informationen und Anleitungen wie diese finden Sie überall im Netz.

Es gibt auch Hardware-MIDI-Interfaces für Computer, die über MIDI IN- und OUT-Anschlüsse verfügen, an die man MIDI-Kabel anschließen kann, um den Computer mit externen MIDI-Instrumenten zu verbinden. Ohne Hardware-Schnittstellen zu benötigen, kann der Computer auch MIDI-Software verwenden. Ein Beispiel ist VMPK, das MIDI IN- und OUT-Ports bereitstellt. An die Ports von VMPK können Sie virtuelle MIDI-Kabel anschließen, um das Programm mit anderen Programmen oder mit den physischen MIDI-Schnittstellen des Computers zu verbinden. Mehr Details dazu kommen später. Normalerweise wollen Sie den MIDI-Ausgang von VMPK mit dem Eingang eines Synthesizers verbinden, der MIDI in Klang umwandelt. Ein anderes übliches Ziel für die Verbindung wäre ein MIDI-Monitor, der MIDI-Ereignisse in lesbaren Text umwandelt. Dies wird Ihnen helfen zu verstehen, welche Art von Informationen über das MIDI-Protokoll übertragen werden. Unter Linux können Sie KMidimon und unter Windows MIDIOX ausprobieren.

VMPK erzeugt keinen Ton. Sie brauchen einen MIDI-Software-Synthesizer, um die gespielten Noten zu hören. Ich empfehle Ihnen, QSynth auszuprobieren, ein grafisches Frontend zu Fluidsynth. Unter Windows können Sie auch den „Microsoft GS Wavetable Synth“ verwenden, der mit allen Windows-Versionen geliefert wird, oder eine bessere Alternative wie CoolSoft Virtual MIDI Synth. Ein externer MIDI-Hardware-Synth wäre natürlich ein noch besserer Ansatz.

Keyboard-Maps und Instrumentendefinitionen

VMPK kann Ihnen helfen, Klänge in Ihrem MIDI-Synthesizer zu verändern, aber nur, wenn Sie vorher eine Definition für die Synthesizer-Klänge bereitstellen. Die Definitionen sind Textdateien mit der Endung .INS und dem gleichen Format, das von Qtractor (Linux) und Sonar (Windows) verwendet wird.

Wenn Sie VMPK das erste Mal starten, sollten Sie den Voreinstellungsdialog öffnen und eine Definitionsdatei auswählen, und dann den Instrumentennamen unter den von der Definitionsdatei bereitgestellten auswählen. Im Datenverzeichnis von VMPK (typischerweise „/usr/share/vmpk“ unter Linux und „C:\Programme\VMPK“ unter Windows) sollte eine Instrumentendefinitionsdatei namens „gmgsxg.ins“ installiert sein, die Definitionen für die Standards General MIDI, Roland GS und Yamaha XG enthält. Es ist ein sehr einfaches Format, und Sie können jeden Texteditor verwenden, um es anzusehen, zu ändern und ein neues zu erstellen. Eine Bibliothek mit Instrumentendefinitionen finden Sie auf dem Cakewalk-ftp-Server.

Seit der Version 0.2.5 können Sie auch Sound-Font-Dateien (im .SF2- oder DLS-Format) als Instrumentendefinitionen importieren, und zwar über einen Dialog im Menü Datei->SoundFont importieren.

Eine weitere Anpassung, die Sie vielleicht vornehmen möchten, ist die Tastaturbelegung. Das Standardlayout mappt etwa zweieinhalb Oktaven für die alphanumerische QWERTY-Tastatur, aber es gibt einige weitere Definitionen im Datenverzeichnis, die für andere internationale Layouts angepasst sind. Sie können sogar Ihre eigene Belegung über ein Dialogfeld definieren, das im Menü Bearbeiten->Tastaturbelegung verfügbar ist. Es gibt auch Optionen zum Laden und Speichern der Karten als XML-Dateien. Das zuletzt geladene Kennfeld wird beim nächsten Start von VMPK gespeichert. Tatsächlich werden alle Ihre Einstellungen, die gewählte MIDI-Bank und das Programm sowie die Controller-Werte beim Beenden gespeichert und beim nächsten Start von VMPK wiederhergestellt.

MIDI-Verbindungen und virtuelle MIDI-Kabel

Unter Windows verbindet sich VMPK automatisch mit dem Standard-MIDI-Ausgang, der in der Regel der „Microsoft GS Wavetable Synth“ ist, der in allen Windows-Versionen enthalten ist. Dieser MIDI-Synthesizer erzeugt eine sehr schlechte Klangqualität und leidet unter einer hohen Latenz. Eine bessere (und kostenlose) Alternative ist CoolSoft Virtual MIDI Synth.

Um Hardware-MIDI-Geräte anzuschließen, brauchen Sie physische MIDI-Kabel. Um MIDI-Software anzuschließen, brauchen Sie virtuelle Kabel. Unter Windows können Sie einige virtuelle MIDI-Kabel-Software verwenden, wie MIDI Yoke, Maple, LoopBe1 oder loopMIDI.

Der Setup-Prozess von MIDI Yoke installiert den Treiber und ein Applet für die Systemsteuerung, um die Anzahl der verfügbaren MIDI-Ports zu ändern (nach der Änderung dieser Einstellung müssen Sie den Computer neu starten). MIDI Yoke arbeitet so, dass jedes MIDI-Ereignis, das an einen OUT-Port geschrieben wird, an den entsprechenden IN-Port gesendet wird. So kann z.B. VMPK den Ausgang mit dem Port 1 verbinden, und ein anderes Programm wie QSynth kann die gleichen Ereignisse vom Port 1 lesen.

Mit MIDIOX können Sie weitere Routen zwischen MIDI-Yoke-Ports und anderen System-MIDI-Ports hinzufügen. Dieses Programm bietet auch andere interessante Funktionen, wie einen MIDI-File-Player. Sie können die in einem MIDI-Synth gespielten Songs anhören und gleichzeitig die gespielten Noten (jeweils nur ein Kanal) in VMPK sehen. Dazu können Sie das Fenster „Routes“ in MIDIOX verwenden, um den Eingangsport 1 mit dem Windows-Synth-Port zu verbinden. Konfigurieren Sie außerdem den MIDI-Port des Players so, dass er an das MIDI-Joch 1 sendet. Und konfigurieren Sie den VMPK-Eingangsport so, dass er vom MIDI-Joch 1 liest. Der Player sendet dann die Events an den Ausgangs-Port 1, der sowohl an den Eingangs-Port 1 als auch gleichzeitig an den Synth-Port geroutet wird.

In Linux haben Sie ALSA Sequencer, um die virtuellen Kabel bereitzustellen. Die Ports werden dynamisch erzeugt, wenn Sie ein Programm starten, es gibt also keine feste Anzahl wie in MIDI Yoke. Das Kommandozeilenprogramm „aconnect“ erlaubt das Verbinden und Trennen der virtuellen MIDI-Kabel zwischen beliebigen Ports, seien es Hardware-Interfaces oder Anwendungen. Ein nettes GUI-Utility, um dasselbe zu tun, ist QJackCtl. Der Hauptzweck dieses Programms ist die Steuerung des Jack-Daemons (Starten, Stoppen und Überwachen des Status). Jack stellt virtuelle Audiokabel zur Verfügung, um Ihre Soundkarten-Ports und Audioprogramme zu verbinden, ähnlich wie die virtuellen MIDI-Kabel, aber für digitale Audiodaten.

qjackctl connections window

Virtuelles MIDI-Klavier-Keyboard