ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE
Användarmanual
MIDI-syntax
OnSong använder en textbaserad syntax för att uttrycka MIDI-kommandon. Du kan använda MIDI-händelser i Metadataredigeraren, men du kan också uttrycka MIDI-kommandon i text.
Avgränsade värden
Först och främst kan flera MIDI-kommandon separeras av olika tecken, inklusive: ett tabulatortecken, komma, semikolon, lodrätt streck eller radslut. Komma är den vanligaste avgränsaren. Till exempel:
1.2:0@0, PC1.2:3@0, N67@1, START, SS8
Kanal
Varje post kan innehålla en @-symbol. Det numeriska värdet efter symbolen är kanalen på vilken kommandot ska skickas. Eftersom kanaler i MIDI börjar på noll, skulle kanal ett vara noll (0), kanal två en (1), och så vidare.
Om ingen @-symbol används skickas eller tas kommandot emot på alla kanaler.
Prefix
Varje post i listan innehåller ett prefix. Detta prefix bestämmer vilken typ av MIDI-kommando som ska skickas. Dessa inkluderar:
- PC eller Inget prefix är en programändrings-händelse.
- N är en noths-händelse
- CC är en kontrolländrings-händelse.
- SS är en låtvals-händelse.
- START är ett startkommando.
- STOP är ett stoppkommando.
- CONTINUE är ett fortsättningskommando.
- F0 förser ett SysEx-meddelande.
Värden
Värdet av kommandot visas precis före @-symbolen eller i slutet av posten om ingen @ anges. Detta är värdet för programändringen, kontrolländringen, noten eller låtvalet baserat på prefixet. I fallet med SysEx-poster anges det hexadecimala värdet för SysEx direkt efter F0-prefixet som används som rubrik för alla SysEx-kommandon.
Undervärden
I vissa fall förmedlas ytterligare information i MIDI-kommandot som undervärden. Till exempel kan MSB och LSB, liksom hastigheten för kontrolvärden skickas på detta sätt. Detta uttrycks genom att lägga till ett kolon i värdedelen. Undervärdet har olika sammanhang beroende på vilken typ av MIDI-kommando som skickas:
- Programändring har undervärden som motsvarar MSB/LSB för programändringen. Dessa värden är separerade med en punkt med MSB på vänster sida och LSB på höger sida.
- Kontrolländring har värdet för kontrollen som anges med detta. Talet kan vara mellan 0 och 127. Om det utelämnas antas värdet 127.
- Noths-händelse har ett undervärde som relaterar till hastigheten med vilken noten ska spelas. Detta kan ställas in på ett numeriskt värde mellan 0 och 127.
Exempel
Låt oss börja med en enkel programändring. I det här scenariot använder vi programändring 8 som också skickar en MSB på 4 och en LSB på 2 på kanal 1. Exemplet börjar med den mest komplexa variationen av detta och tar bort bankväljaren och kanalen för att bli bredare:
PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7
Kontrolländringar är liknande förutom att den vänstra sidan av syntaxen är kontrolländringsnumret och den högra sidan är ett valfritt värde. Om värdet inte anges skickas 127 istället. Vi skickar kontrolländring 106 med ett värde på 64 på kanal 3.
CC105:63@2, CC105:63. CC105@2, CC105
Nu låt oss titta på noths-händelser. Vi vill spela C4 på kanal 8 vid 75 % hastighet, vi skulle ange följande eftersom OnSong börjar räkna MIDI C0 som 0 på MIDI-notskalan:
N60:95@7, N60@7, N60:95, N60
Återigen är det viktigt att komma ihåg att när värden tas bort från MIDI-syntaxen blir MIDI-satsen bredare och mindre specifik. Till exempel skickar den sista versionen av noths-händelsen C4 vid 100 % hastighet på alla kanaler.