ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE
Brugerhåndbog
MIDI-syntaks
OnSong bruger en tekstbaseret syntaks til at udtrykke MIDI-kommandoer. Selvom du kan bruge MIDI-begivenheder i Metadatabehandlingen, kan du også udtrykke MIDI-kommandoer i tekst.
Afgrænsede værdier
Først og fremmest kan flere MIDI-kommandoer adskilles med forskellige tegn, herunder: et tabulatortegn, komma, semikolon, lodret streg eller linjeskift. Kommaet er den mest almindelige afgrænsning. For eksempel:
1.2:0@0, PC1.2:3@0, N67@1, START, SS8
Kanal
Hver post kan indeholde et @-symbol. Den numeriske værdi efter symbolet er den kanal, som kommandoen skal sendes på. Da kanaler i MIDI starter på nul, ville kanal et være nul (0), kanal to en (1) osv.
Hvis der ikke bruges et @-symbol, sendes eller modtages kommandoen på alle kanaler.
Præfikser
Hver post på listen indeholder et præfiks. Dette præfiks bestemmer, hvilken type MIDI-kommando der skal sendes. Disse omfatter:
- PC eller Intet præfiks er en programændringshændelse.
- N er en notehændelse
- CC er en kontrolændringshændelse.
- SS er en sangvalgshændelse.
- START er en startkommando.
- STOP er en stopkommando.
- CONTINUE er en fortsætkommando.
- F0 præfikser en SysEx-besked.
- WAIT implementerer en forsinkelse.
Værdier
Værdien af kommandoen vises lige før @-symbolet eller ved slutningen af posten, hvis der ikke er givet noget @. Dette er værdien af programændringen, kontrolændringen, noten eller sangvalgshændelsen baseret på præfikset. I tilfælde af SysEx-poster leveres den heksadecimale værdi af SysEx direkte efter F0-præfikset, som bruges som header til alle SysEx-kommandoer.
Underværdier
I nogle tilfælde formidles yderligere information i MIDI-kommandoen som underværdier. For eksempel MSB og LSB samt hastighed af kontrolværdier kan sendes på denne måde. Dette udtrykkes gennem tilføjelsen af et kolon i værdidelen. Underværdien har forskelligt sammenhæng afhængigt af den type MIDI-kommando, der sendes:
- Programændring har underværdier, der er justeret med MSB/LSB for programændringen. Disse værdier adskilles med et punktum med MSB på venstre side og LSB på højre side.
- Kontrolændring har værdien af kontrolsættet ved hjælp af dette. Tallet kan være mellem 0 og 127. Hvis det udelades, antages værdien 127.
- Notehændelse har en underværdi vedrørende hastighed, hvortil noten skal afspilles. Dette kan indstilles til en numerisk værdi mellem 0 og 127.
Eksempler
Lad os starte med en simpel programændring. I dette scenarie bruger vi programændring 8, som også sender en MSB på 4 og en LSB på 2 på kanal 1. Eksemplet starter med den mest komplekse variation af dette og fjerner banksøgningen og kanalen for at blive mere bred:
PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7
Kontrolændringer er lignende, bortset fra at venstre side af syntaksen er nummeret på kontrolændringen, og højre side er en valgfri værdi. Hvis værdien ikke gives, sendes 127 i stedet. Vi sender Kontrolændring 106 med en værdi på 64 på kanal 3.
CC105:63@2, CC105:63. CC105@2, CC105
Lad os nu se på notehændelser. Vi ønsker at afspille C4 på kanal 8 med 75% hastighed, ville vi indtaste det følgende, fordi OnSong begynder at tælle MIDI C0 som 0 på MIDI-noteskalaen:
N60:95@7, N60@7, N60:95, N60
Igen er det vigtigt at huske, at når værdier fjernes fra MIDI-syntaksen, bliver MIDI-sætningen mere bred og mindre specifik. For eksempel sender den sidste version af notehændelsen C4 med 100% hastighed på alle kanaler.
Hvis du vil implementere en forsinkelse mellem andre MIDI-begivenheder, skal du bruge WAIT-kommandoen med et tal. Tallet kan være en heltalsværdi. Du kan definere sekunder at vente som 1-10, eller definere som millisekunder. Det følgende viser, hvordan du venter i 2 sekunder, 10 sekunder og et halvt sekund.
WAIT2, WAIT10, WAIT500