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