ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE
Podręcznik użytkownika
Składnia MIDI
OnSong używa składni tekstowej do wyrażania poleceń MIDI. Chociaż możesz użyć Zdarzenia MIDI w Edytorze Metadanych, możesz też wyrażać polecenia MIDI w tekście.
Wartości rozdzielone
Przede wszystkim wiele poleceń MIDI można oddzielić różnymi znakami, w tym: znakiem tabulacji, przecinkiem, średnikiem, potoku pionowym lub nową linią. Przecinek jest najczęściej używanym separatorem. Na przykład:
1.2:0@0, PC1.2:3@0, N67@1, START, SS8
Kanał
Każdy wpis może zawierać symbol @. Wartość numeryczna po symbolu to kanał, na którym ma być wysłane polecenie. Ponieważ kanały w MIDI zaczynają się od zera, kanał pierwszy to zero (0), kanał drugi 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. Należą do nich:
- PC lub Brak prefiksu to zdarzenie zmiany programu.
- N to zdarzenie notatki
- CC to zdarzenie zmiany kontroli.
- SS to zdarzenie wyboru utworu.
- START to polecenie startu.
- STOP to polecenie zatrzymania.
- CONTINUE to polecenie kontynuacji.
- WAIT czeka określony czas przed wysłaniem kolejnych zdarzeń.
- F0 poprzedza wiadomość SysEx.
- @ poprzedza globalny tag MIDI.
Wartości
Wartość polecenia pojawia się tuż przed symbolem @ lub na koniec wpisu, jeśli nie podano @. Jest to wartość zmiany programu, zmiany kontroli, notatki lub wyboru utworu na podstawie prefiksu. W przypadku wpisów SysEx heksadecymalna wartość SysEx jest podawana bezpośrednio po prefiksie F0, który jest używany jako nagłówek dla wszystkich poleceń SysEx.
Podwartości
W niektórych przypadkach dodatkowe informacje są zawarte w poleceniu MIDI jako podwartości. Na przykład MSB i LSB, a także prędkość wartości kontroli można wysłać w ten sposób. Wyraża się to poprzez dodanie dwukropka w części wartości. Podwartość ma inny kontekst w zależności od typu wysłanego polecenia MIDI:
- Zmiana programu ma podwartości 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ść ustawioną za pomocą tego. Liczba może być między 0 a 127. Jeśli zostanie pominięta, domniemana jest wartość 127. Możesz także oddzielić wiele wartości myślnikiem, aby przejść przez wartości. Na przykład 127-0 będzie blokować wartość 127 między stanami włączenia i wyłączenia.
- Zdarzenie notatki ma podwartość odnoszącą się do prędkości, z jaką powinna być grana nota. Można to ustawić na wartość numeryczną między 0 a 127. Możesz przejść przez wiele prędkości notat, oddzielając je myślnikiem.
Przykłady
Zacznijmy od prostej zmiany programu. W tym scenariuszu używamy zmiany programu 8, która także wysyła MSB 4 i LSB 2 na kanale 1. Przykład zaczyna się od najbardziej złożonej odmiany tego i usuwa wybór banku i kanału, aby stać się bardziej szerokim:
PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7
Zmiany kontroli są podobne, z tym że lewa strona składni to numer zmiany kontroli, a prawa strona to opcjonalna wartość. Jeśli wartość nie jest podana, zamiast tego wysyłane jest 127. Wyślemy Change Control 106 o wartości 64 na kanale 3.
CC105:63@2, CC105:63. CC105@2, CC105
Spójrzmy teraz na zdarzenia notat. 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 notat MIDI:
N60:95@7, N60@7, N60:95, N60
Ponownie, ważne jest pamiętanie, że w miarę usuwania wartości ze składni MIDI, polecenie MIDI staje się bardziej szerokie i mniej specificzne. Na przykład ostatnia wersja zdarzenia notatki wyśle C4 ze 100% prędkością na wszystkich kanałach.
Możemy również opóźnić MIDI, dodając polecenie WAIT. Poniższe opóźni MIDI o 2 sekundy oraz o 500 ms (pół sekundy). Możesz określić sekundy jako 1-10 sekund lub w milisekundach.
WAIT2, WAIT500
Na koniec, możemy odwoływać się do globali MIDI, które są wstępnie skonfigurowanymi listami zdarzeń MIDI, na które można się odwoływać. Jeśli masz globalny MIDI z „on" jako tag (bez cudzysłowów), możesz odwoływać się do tego globalnego następująco:
@on