Felhasználói kézikönyv

MIDI szintaxis

Az OnSong szöveges szintaxist használ a MIDI parancsok kifejezésére. Bár használhatod a MIDI Events funkciót a Metadata Editor felületen, MIDI parancsokat közvetlenül szövegben is kifejezhetsz.

Tagolt értékek

Mindenekelőtt több MIDI parancs elválasztható különböző karakterekkel, köztük: tab karakter, vessző, pontosvessző, függőleges vonal vagy új sor. A vessző a leggyakoribb elválasztó. Például:

1.2:0@0, PC1.2:3@0, N67@1, START, SS8

Csatorna

Minden bejegyzés tartalmazhat @ szimbólumot. A szimbólum után álló numerikus érték az a csatorna, amelyen a parancsot küldeni kell. Mivel a MIDI csatornák nulláról kezdődnek, az első csatorna nullát (0), a második csatorna egyet (1) jelent, stb.

Ha nincs @ szimbólum, a parancs az összes csatornára kerül küldésre vagy fogadásra.

Előtagok

A lista minden bejegyzése tartalmaz egy előtagot. Ez az előtag határozza meg, hogy milyen típusú MIDI parancsot kell küldeni. Ezek közé tartoznak:

  • PC vagy Nincs előtag egy program change esemény.
  • N egy note esemény
  • CC egy control change esemény.
  • SS egy song select esemény.
  • START egy start parancs.
  • STOP egy stop parancs.
  • CONTINUE egy continue parancs.
  • F0 egy SysEx üzenet előtagja.
  • WAIT egy késleltetést valósít meg.

Értékek

A parancs értéke az @ szimbólum előtt vagy a bejegyzés végén jelenik meg, ha nincs @ adva. Ez a program change, control change, note vagy song select értéke az előtag alapján. SysEx bejegyzések esetén a SysEx hexadecimális értéke közvetlenül az F0 előtag után adható meg, amely az összes SysEx parancs fejléceként szolgál.

Alértékek

Néhány esetben további információ továbbítódik a MIDI parancsban alértékekként. Például az MSB és LSB, valamint a vezérlőértékek sebessége is elküldhető így. Ez a kettőspont hozzáadásával fejeződik ki az érték részben. Az alérték kontextusa eltérő a küldött MIDI parancs típusától függően:

  • Program Change alértékei az MSB/LSB értékeihez igazodnak. Ezeket az értékeket egy pont választja el, az MSB a bal oldalon és az LSB a jobb oldalon.
  • Control Change a vezérlő értéke, amely erre beállítható. A szám 0 és 127 közötti lehet. Ha kimarad, a 127-es érték következik.
  • Note Event a sebességhez kapcsolódó alérték, amelyen a hangot játszani kell. Ez 0 és 127 közötti numerikus értékre állítható.

Példák

Kezdjünk egy egyszerű program change-vel. Ebben a forgatókönyvben a program change 8-as értéket használunk, amely 4-es MSB-t és 2-es LSB-t is küld az 1. csatornán. A példa a legbonyolultabb variáció megjeleníti, és eltávolítja a bank select és csatorna értékeket, hogy szélesebb körűvé váljon:

PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7

A control change hasonló, azzal a különbséggel, hogy a szintaxis bal oldala a control change szám, a jobb oldala pedig egy opcionális érték. Ha az érték nincs megadva, a 127-es érték kerül küldésre. A Control Change 106-ot küldünk 64-es értékkel a 3. csatornán.

CC105:63@2, CC105:63. CC105@2, CC105

Most nézzünk meg egy note eseményt. A C4 hangot szeretnénk lejátszani a 8. csatornán 75%-os sebességgel, ezért írjuk be a következőt, mivel az OnSong nulláról kezdi számolni a MIDI C0-t a MIDI note skálán:

N60:95@7, N60@7, N60:95, N60

Ismét fontos megjegyezni, hogy az értékek eltávolításával a MIDI szintaxisból a MIDI utasítás egyre tágabb és kevésbé specifikus lesz. Például a note esemény utolsó verziója a C4-et 100%-os sebességgel játssza le az összes csatornán.

Ha késleltetést szeretnél megvalósítani más MIDI események között, használd a WAIT parancsot egy számmal. A szám egész szám lehet. A várakozási időt másodpercben 1-10 közötti értékkel vagy ezredmásodpercben adhatod meg. Az alábbi példa bemutatja, hogyan kell 2 másodpercet, 10 másodpercet és fél másodpercet várni.

WAIT2, WAIT10, WAIT500
OnSong 2023 — Utolsó frissítés: January 17, 2018