ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE
Benutzerhandbuch
MIDI-Syntax
OnSong verwendet eine textbasierte Syntax zum Ausdrücken von MIDI-Befehlen. Während Sie die MIDI-Ereignisse im Metadaten-Editor verwenden können, können Sie MIDI-Befehle auch als Text ausdrücken.
Begrenzte Werte
Zunächst können mehrere MIDI-Befehle durch verschiedene Zeichen getrennt werden, darunter: ein Tabulatorzeichen, Komma, Semikolon, senkrechter Strich oder Zeilenumbruch. Das Komma ist das häufigste Trennzeichen. Beispiel:
1.2:0@0, PC1.2:3@0, N67@1, START, SS8
Kanal
Jeder Eintrag kann ein @-Symbol enthalten. Der numerische Wert nach dem Symbol ist der Kanal, auf dem der Befehl gesendet werden soll. Da MIDI-Kanäle bei null beginnen, wäre Kanal eins eine null (0), Kanal zwei eine eins (1) usw.
Wenn kein @-Symbol verwendet wird, wird der Befehl auf allen Kanälen gesendet oder empfangen.
Präfixe
Jeder Eintrag in der Liste enthält ein Präfix. Dieses Präfix bestimmt, welche Art von MIDI-Befehl gesendet werden soll. Dazu gehören:
- PC oder Kein Präfix ist ein Programmänderungsereignis.
- N ist ein Notenereignis
- CC ist ein Kontrolländerungsereignis.
- SS ist ein Liedauswahlerereignis.
- START ist ein Startbefehl.
- STOP ist ein Stoppbefehl.
- CONTINUE ist ein Fortfahrtsbefehl.
- F0 leitet eine SysEx-Nachricht ein.
Werte
Der Wert des Befehls erscheint unmittelbar vor dem @-Symbol oder am Ende des Eintrags, wenn kein @ angegeben ist. Dies ist der Wert der Programmänderung, Kontrolländerung, Note oder Liedauswahl basierend auf dem Präfix. Bei SysEx-Einträgen wird der Hexadezimalwert von SysEx direkt nach dem F0-Präfix bereitgestellt, das als Header für alle SysEx-Befehle verwendet wird.
Unterwerte
In einigen Fällen werden zusätzliche Informationen im MIDI-Befehl als Unterwerte vermittelt. Beispielsweise können MSB und LSB sowie die Geschwindigkeit von Steuerwerten auf diese Weise gesendet werden. Dies wird durch das Hinzufügen eines Doppelpunkts im Wertteil ausgedrückt. Der Unterwert hat je nach Art des gesendeten MIDI-Befehls einen anderen Kontext:
- Programmänderung hat Unterwerte, die sich an MSB/LSB der Programmänderung orientieren. Diese Werte werden durch einen Punkt getrennt, wobei das MSB auf der linken Seite und das LSB auf der rechten Seite liegt.
- Kontrolländerung hat den Wert der Steuerung, die mit dieser gesetzt wird. Die Zahl kann zwischen 0 und 127 liegen. Wenn weggelassen, wird der Wert 127 angenommen.
- Notenereignis hat einen Unterwert, der sich auf die Geschwindigkeit bezieht, mit der die Note gespielt werden soll. Dies kann auf einen numerischen Wert zwischen 0 und 127 eingestellt werden.
Beispiele
Beginnen wir mit einer einfachen Programmänderung. In diesem Szenario verwenden wir Programmänderung 8, die auch ein MSB von 4 und ein LSB von 2 auf Kanal 1 sendet. Das Beispiel beginnt mit der komplexesten Variation davon und entfernt die Bankauswahl und den Kanal, um breiter zu werden:
PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7
Kontrolländerungen sind ähnlich, außer dass die linke Seite der Syntax die Kontrolländerungsnummer und die rechte Seite ein optionaler Wert ist. Wenn der Wert nicht angegeben wird, wird stattdessen 127 gesendet. Wir senden Kontrolländerung 106 mit einem Wert von 64 auf Kanal 3.
CC105:63@2, CC105:63. CC105@2, CC105
Schauen wir uns nun Notenereignisse an. Wir möchten C4 auf Kanal 8 bei 75 % Geschwindigkeit spielen. Wir würden das Folgende eingeben, da OnSong das MIDI-C0 ab 0 auf der MIDI-Notenskala zählt:
N60:95@7, N60@7, N60:95, N60
Nochmals ist es wichtig, sich zu merken, dass die MIDI-Anweisung breiter und weniger spezifisch wird, wenn Werte aus der MIDI-Syntax entfernt werden. Beispielsweise sendet die letzte Version des Notenereignisses C4 mit 100 % Geschwindigkeit auf allen Kanälen.