ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE
Brukarhandbok
MIDI-syntaks
OnSong bruker ein tekstbasert syntaks for å uttrykkje MIDI-kommandoar. Medan du kan bruke MIDI-hendingane i Metadataredigeringen, kan du òg uttrykkje MIDI-kommandoar i tekst.
Avgrensa verdiar
Først og fremst kan fleire MIDI-kommandoar sepererast med ulike teikn inkludert: eit tabulatorteiknteikn, komma, semikolon, loddrett strek, eller nytt linje. Kommaet er den mest vanlege avgrensninga. For eksempel:
1.2:0@0, PC1.2:3@0, N67@1, START, SS8
Kanal
Kvar oppføring kan innehalde ein @-symbol. Den numeriske verdien etter symbolet er kanalen som kommandoen skal sendast på. Sidan kanalane i MIDI startar på null, ville kanal éin vere null (0), kanal to éin (1), og så vidare.
Om ingen @-symbol blir brukt, blir kommandoen sendt eller motteken på alle kanalane.
Prefiks
Kvar oppføring i lista inneheld eit prefiks. Dette prefikset avgjer kva type MIDI-kommando som skal sendast. Desse inkluderer:
- PC eller Utan prefiks er ein programendringshending.
- N er ei notat-hending
- CC er ei kontrollendringshending.
- SS er ei sångarvalshending.
- START er ein startkommando.
- STOP er ein stoppkommando.
- CONTINUE er ein fortsettkommando.
- F0 er prefiks for ei SysEx-melding.
- WAIT implementerer ein forsinking.
Verdiar
Verdien av kommandoen viser seg rett før @-symbolet eller ved slutten av oppføringa om ingen @ er gitt. Dette er verdien av programendring, kontrollendring, notat, eller sångarval basert på prefikset. I tilfelle SysEx-oppføringar blir den heksadesimale verdien av SysEx gitt rett etter F0-prefikset som blir brukt som eit hovud til alle SysEx-kommandoar.
Underverdiar
I nokre tilfelle blir ekstra informasjon formidla i MIDI-kommandoen som underverdiar. For eksempel MSB og LSB, såvel som hastigheit av kontrollverdiar kan sendast på denne måten. Dette blir uttrykt gjennom tillegget av eit kolon i verdidelen. Underverdien har ulik kontekst avhengig av kva type MIDI-kommando som blir sendt:
- Programendring har underverdiar som svarar til MSB/LSB av programendringen. Desse verdiane er separerte med ein punkt med MSB på venstre side og LSB på høgre side.
- Kontrollendring har verdien av kontrollen som blir sett ved hjelp av dette. Talet kan vere mellom 0 og 127. Om det blir utelate, blir verdien 127 anteken.
- Notat-hending har ei underverdi som gjeld hastigheiten som notatet skal spelast på. Dette kan setjast til ein numerisk verdi mellom 0 og 127.
Døme
La oss starte med ein enkel programendring. I dette scenarioet brukar vi programendring 8 som òg sender ein MSB på 4 og ein LSB på 2 på kanal 1. Dømet startar med den mest komplekse variasjonen av dette og fjernar bankvalet og kanalen for å bli meir vidt:
PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7
Kontrollendringane er like bortsett frå at venstre side av syntaksen er kontrollendringsnummeret og høgre side er ein valfri verdi. Om verdien ikkje blir gitt, blir 127 sendt istaden. Vi vil sende kontrollendring 106 med ein verdi på 64 på kanal 3.
CC105:63@2, CC105:63. CC105@2, CC105
No skal vi sjå på notat-hendingane. Vi vil spele C4 på kanal 8 med 75% hastigheit, vi skulle skrive inn det følgjande fordi OnSong startar tellingen av MIDI C0 som 0 på MIDI-notatskalaen:
N60:95@7, N60@7, N60:95, N60
Att, det er viktig å hugse at når verdiar blir fjerna frå MIDI-syntaksen, blir MIDI-påstanden meir vidt og mindre spesifikk. For eksempel vil den siste versjonen av notat-hendinga sende C4 med 100% hastigheit på alle kanalane.
For å implementere ein forsinking mellom andre MIDI-hendingar, brukar du WAIT-kommandoen med eit tal. Talet kan vere ein heiltalverdi. Du kan definerere sekund som skal ventast som 1-10, eller definerast som millisekund. Det følgjande viser korleis du ventar i 2 sekund, 10 sekund og eit halvt sekund.
WAIT2, WAIT10, WAIT500