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
OnSong 1.999 — Ostatnia aktualizacja August 29, 2019