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 Metadataredigeringen, kan du også udtrykke MIDI-kommandoer i tekst.

Afgrænsede værdier

Først og fremmest kan flere MIDI-kommandoer adskilles af forskellige tegn, herunder: et tabulatortegn, komma, semikolon, lodret streg eller nylinje. Kommaet er den mest almindelige afgrænser. For eksempel:

1.2:0@0, PC1.2:3@0, N67@1, START, SS8

Kanal

Hver indtastning 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 være en (1) osv.

Hvis der ikke bruges et @-symbol, sendes eller modtages kommandoen på alle kanaler.

Præfikser

Hver indtastning på listen indeholder et præfiks. Dette præfiks bestemmer, hvilken type MIDI-kommando der skal sendes. Disse omfatter:

  • PC eller Uden præfiks er en programændringsbegivenhed.
  • N er en notebegivenhed
  • CC er en kontrolændringsbegivenhed.
  • SS er en sangvælgerbegivenhed.
  • START er en startkommando.
  • STOP er en stopkommando.
  • CONTINUE er en fortsætkommando.
  • F0 præfikser en SysEx-meddelelse.

Værdier

Værdien af kommandoen vises lige før @-symbolet eller ved slutningen af indtastningen, hvis der ikke er givet noget @. Dette er værdien af programændringen, kontrolændringen, noten eller sangvalget baseret på præfikset. I tilfælde af SysEx-indtastninger gives den hexadecimale 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 oplysninger i MIDI-kommandoen som underværdier. For eksempel kan MSB og LSB samt velocity af kontrolværdier sendes på denne måde. Dette udtrykkes gennem tilføjelsen af en kolon i værdidelen. Underværdien har forskellig kontekst afhængig af typen af MIDI-kommando, der sendes:

  • Programændring har underværdier, der er justeret med MSB/LSB for programændringen. Disse værdier er adskilt med et punkt med MSB på venstre side og LSB på højre side.
  • Kontrolændring har værdien af kontrollen, der er angivet ved hjælp af dette. Tallet kan være mellem 0 og 127. Hvis det udelades, antages værdien 127.
  • Notebegivenhed har en underværdi relateret til hastigheden, hvormed noten skal afspilles. Dette kan sættes 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 bankvalget 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 kontrolændringsnummeret, 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

Nu lad os tage et kig på notebegivenheder. Hvis vi vil afspille C4 på kanal 8 med 75 % hastighed, ville vi indtaste 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 bredere og mindre specifik. For eksempel vil den sidste version af notebegivenheden afspille C4 med 100 % hastighed på alle kanaler.

OnSong 1.999 — Sidst opdateret den November 23, 2014