Felhasználói kézikönyv
MIDI szintaxis
Az OnSong szövegalapú szintaxist használ a MIDI-parancsok kifejezésére. Miközben használhatod a MIDI Events lehetőséget a Metadata Editor-ban, MIDI-parancsokat közvetlenül szövegben is kifejezhet.
Elhatárolt értékek
Mindenekelőtt több MIDI-parancs különféle karakterekkel választható el: tabulátor 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, amelyre a parancs küldésre kerül. Mivel a MIDI-csatornák nulláról kezdődnek, az első csatorna nulla (0), a második csatorna egy (1) stb.
Ha nincs @ szimbólum, a parancs az összes csatornán továbbítódik vagy fogadódik.
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.
- NRPN egy non-register parameter number.
- SS egy song select esemény.
- START egy start parancs.
- STOP egy stop parancs.
- CONTINUE egy continue parancs.
- WAIT egy adott időtartamot vár, mielőtt további eseményeket küld.
- F0 egy SysEx üzenet előtagja.
- @ egy MIDI global tag előtagja.
Értékek
A parancs értéke közvetlenül az @ szimbólum előtt jelenik meg, vagy a bejegyzés végén, ha nincs @ megadva. 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ékét közvetlenül az F0 előtag után adják meg, amely az összes SysEx-parancs fejléceként szolgál.
Alértékek
Egyes esetekben további információ közvetítődik a MIDI-parancsban alértékek formájában. Például az MSB és LSB, valamint a vezérlési értékek sebessége így küldhetők. Ez a kettőspont hozzáadásával fejezhető ki az érték részben. Az alérték más kontextussal rendelkezik az elküldött MIDI-parancs típusától függően:
- Program Change alértékei az MSB/LSB program change értékeihez igazodnak. Ezek az értékek ponttal vannak elválasztva, az MSB a bal oldalon, az LSB a jobb oldalon.
- Control Change a vezérlés értékét használja. A szám 0 és 127 között lehet. Ha nem adunk meg, az 127 érték levezetődik. Több érték elválasztásához kötőjellel is használhatsz, több érték között lépégeltetéshez. Például a 127-0 a 127 értéket az be- és kikapcsolt állapotok között závolja.
- Note Event a sebesség alértékéhez kapcsolódik, amellyel a hangot játszani kell. Ez 0 és 127 közötti numerikus értékre állítható. Több note sebesség között lépégeltetéshez elválaszthatod őket kötőjellel.
Példák
Kezdjünk egy egyszerű program change-val. Ebben az esetben a 8-as program change-t használunk, amely egy 4-es MSB-t és egy 2-es LSB-t küld az 1-es csatornán. A példa a parancs legbonyolultabb variációjával kezdődik, és eltávolítja a bank select és csatorna értékeket, hogy tágabb legyen:
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 kerül elküldésre. A 106-os Control Change-t 64-es értékkel küldünk a 3-as csatornán.
CC105:63@2, CC105:63. CC105@2, CC105
Most nézzük meg a note eseményeket. Szeretnénk C4-et lejátszani a 8-as csatornán 75%-os sebességgel, a következőt írjuk be, mivel az OnSong a MIDI C0-t 0-ként számolja a MIDI note skálán:
N60:95@7, N60@7, N60:95, N60
Ismét fontos megjegyezni, hogy ahogyan az értékek eltávolításra kerülnek a MIDI szintaxisból, a MIDI utasítás tágabbá és kevésbé specifikusvá válik. Például a note esemény utolsó verziója a C4-et 100%-os sebességgel az összes csatornán továbbítja.
Késleltethetjük a MIDI-t a WAIT parancs hozzáadásával. A következő 2 másodperces késleltetést, valamint 500 ms-es (fél másodperces) késleltetést eredményez. Másodperceket 1-10 másodpercként vagy ezredmásodpercben adhatsz meg.
WAIT2, WAIT500
Végül hivatkozhatunk MIDI global értékekre, amelyek előkonfigurált MIDI-eseménylista, amelyre hivatkozni lehet. Ha van egy MIDI global-od "on" címkével (idézőjelek nélkül), akkor az alábbival hivatkozhatsz erre a global-ra:
@on