ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE
Podręcznik użytkownika
Składnia MIDI
OnSong wykorzystuje składnię opartą na tekście do wyrażania poleceń MIDI. Chociaż możesz używać Zdarzeń MIDI w Edytorze metadanych, możesz również wyrażać polecenia MIDI w tekście.
Wartości rozdzielane
Przede wszystkim wiele poleceń MIDI można oddzielić za pomocą różnych znaków, w tym: znaku tabulacji, przecinka, średnika, pionowej kreski lub nowej linii. Przecinek jest najczęściej używanym ogranicznikiem. Na przykład:
1.2:0@0, PC1.2:3@0, N67@1, START, SS8
Kanał
Każdy wpis może zawierać symbol @. Wartość liczbowa po symbolu to kanał, na którym ma być wysłane polecenie. Ponieważ kanały w MIDI zaczynają się od zera, kanał jeden to zero (0), kanał dwa to jeden (1) itd.
Jeśli nie jest używany symbol @, polecenie jest wysyłane lub odbierane na wszystkich kanałach.
Prefiksy
Każdy wpis na liście zawiera prefiks. Ten prefiks określa typ polecenia MIDI do wysłania. Obejmują one:
- PC lub Brak prefiksu to zdarzenie zmiany programu.
- N to zdarzenie nuty
- CC to zdarzenie zmiany kontroli.
- SS to zdarzenie wyboru utworu.
- START to polecenie uruchomienia.
- STOP to polecenie zatrzymania.
- CONTINUE to polecenie kontynuacji.
- F0 poprzedza wiadomość SysEx.
- WAIT implementuje opóźnienie.
Wartości
Wartość polecenia pojawia się tuż przed symbolem @ lub na końcu wpisu, jeśli @ nie jest podany. To jest wartość zmiany programu, zmiany kontroli, nuty lub wyboru utworu na podstawie prefiksu. W przypadku wpisów SysEx wartość szesnastkowa SysEx jest podawana bezpośrednio po prefiksie F0, który jest używany jako nagłówek dla wszystkich poleceń SysEx.
Wartości podrzędne
W niektórych przypadkach dodatkowe informacje są przekazywane w poleceniu MIDI jako wartości podrzędne. Na przykład MSB i LSB, a także prędkość wartości kontroli można wysyłać w ten sposób. Wyraża się to poprzez dodanie dwukropka w części wartości. Wartość podrzędna ma inny kontekst w zależności od typu wysłanego polecenia MIDI:
- Zmiana programu ma wartości podrzędne wyrównane z MSB/LSB zmiany programu. Te wartości są oddzielone kropką, z MSB po lewej stronie i LSB po prawej stronie.
- Zmiana kontroli ma wartość kontroli ustawionej za pomocą tego. Liczba może wynosić od 0 do 127. Jeśli jest pominięta, przyjęta jest wartość 127.
- Zdarzenie nuty ma wartość podrzędną odnoszącą się do prędkości, z jaką nuta powinna być grana. Można to ustawić na wartość liczbową od 0 do 127.
Przykłady
Zacznijmy od prostej zmiany programu. W tym scenariuszu używamy zmiany programu 8, która również wysyła MSB 4 i LSB 2 na kanale 1. Przykład zaczyna się od najbardziej skomplikowanej odmiany tego i usuwa wybór banku i kanał, aby stać się bardziej ogólny:
PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7
Zmiany kontroli są podobne, z wyjątkiem tego, że lewa strona składni to numer zmiany kontroli, a prawa strona to opcjonalna wartość. Jeśli wartość nie jest podana, zamiast tego wysyłana jest 127. Wyślemy Change Control 106 z wartością 64 na kanale 3.
CC105:63@2, CC105:63. CC105@2, CC105
Teraz spójrzmy na zdarzenia nut. Chcemy zagrać C4 na kanale 8 z prędkością 75%, wpisalibyśmy poniższe, ponieważ OnSong zaczyna liczyć MIDI C0 jako 0 na skali nut MIDI:
N60:95@7, N60@7, N60:95, N60
Ponownie, ważne jest, aby pamiętać, że w miarę usuwania wartości ze składni MIDI, instrukcja MIDI staje się bardziej ogólna i mniej specyficzna. Na przykład, ostatnia wersja zdarzenia nuty wyśle C4 z prędkością 100% na wszystkich kanałach.
Aby wdrożyć opóźnienie między innymi zdarzeniami MIDI, użyj polecenia WAIT z liczbą. Liczba może być wartością całkowitą. Możesz zdefiniować sekundy oczekiwania jako 1–10 lub zdefiniować w milisekundach. Poniżej pokazano, jak czekać 2 sekundy, 10 sekund i pół sekundy.
WAIT2, WAIT10, WAIT500