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
OnSong 2023 — Ostatnia aktualizacja January 17, 2018