ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE

Gebruikershandleiding

MIDI-syntaxis

OnSong gebruikt een op tekst gebaseerde syntaxis voor het uitdrukken van MIDI-commando's. Hoewel u de MIDI-gebeurtenissen in de Metagegevenseditor kunt gebruiken, kunt u MIDI-commando's ook in tekst uitdrukken.

Gescheiden waarden

Allereerst kunnen meerdere MIDI-commando's worden gescheiden door verschillende tekens, waaronder: een tabteken, komma, puntkomma, verticale pijp of nieuwe regel. De komma is het meest voorkomende scheidingsteken. Bijvoorbeeld:

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

Kanaal

Elk item kan een @-symbool bevatten. De numerieke waarde na het symbool is het kanaal waarop het commando moet worden verzonden. Omdat kanalen in MIDI met nul beginnen, zou kanaal één nul (0) zijn, kanaal twee één (1), enzovoort.

Als geen @-symbool wordt gebruikt, wordt het commando op alle kanalen verzonden of ontvangen.

Voorvoegsels

Elk item in de lijst bevat een voorvoegsel. Dit voorvoegsel bepaalt welk type MIDI-commando moet worden verzonden. Deze omvatten:

  • PC of Geen voorvoegsel is een programmawijzigingsgebeurtenis.
  • N is een nootgebeurtenis
  • CC is een controlewijzigingsgebeurtenis.
  • SS is een nummerselectiegebeurtenis.
  • START is een startcommando.
  • STOP is een stopcommando.
  • CONTINUE is een vervolgcommando.
  • F0 gaat vooraf aan een SysEx-bericht.
  • WAIT implementeert een vertraging.

Waarden

De waarde van het commando wordt weergegeven net vóór het @-symbool of aan het einde van het item als er geen @ is opgegeven. Dit is de waarde van de programmawijziging, controlewijziging, noot of nummerselectie op basis van het voorvoegsel. In het geval van SysEx-items wordt de hexadecimale waarde van de SysEx direct na het F0-voorvoegsel gegeven, dat als koptekst voor alle SysEx-commando's wordt gebruikt.

Subwaarden

In sommige gevallen wordt aanvullende informatie in het MIDI-commando als subwaarden overgebracht. Bijvoorbeeld MSB en LSB, evenals snelheid van controlewaarden kunnen op deze manier worden verzonden. Dit wordt uitgedrukt door het toevoegen van een dubbele punt in het waardegedeelte. De subwaarde heeft een ander context afhankelijk van het type MIDI-commando dat wordt verzonden:

  • Programmawijziging heeft subwaarden die aansluiten op de MSB/LSB van de programmawijziging. Deze waarden worden gescheiden door een punt met de MSB aan de linkerkant en de LSB aan de rechterkant.
  • Controlewijziging heeft de waarde van de besturing ingesteld met dit. Het getal kan tussen 0 en 127 liggen. Indien weggelaten, wordt de waarde 127 aangenomen.
  • Nootgebeurtenis heeft een subwaarde die betrekking heeft op de snelheid waarmee de noot moet worden gespeeld. Dit kan op een numerieke waarde tussen 0 en 127 worden ingesteld.

Voorbeelden

Laten we beginnen met een eenvoudige programmawijziging. In dit scenario gebruiken we programmawijziging 8 die ook een MSB van 4 en een LSB van 2 op kanaal 1 verzend. Het voorbeeld begint met de meest complexe variatie van dit en verwijdert de bankselectie en het kanaal om breder te worden:

PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7

Controlewijzigingen zijn vergelijkbaar, behalve dat de linkerkant van de syntaxis het controlewijzigingsnummer is en de rechterkant een optionele waarde. Als de waarde niet wordt gegeven, wordt in plaats daarvan 127 verzonden. We sturen Controlewijziging 106 met een waarde van 64 op kanaal 3.

CC105:63@2, CC105:63. CC105@2, CC105

Laten we nu naar nootgebeurtenissen kijken. We willen C4 op kanaal 8 spelen met 75% snelheid. We voeren het volgende in omdat OnSong MIDI C0 als 0 begint te tellen op de MIDI-notenschaal:

N60:95@7, N60@7, N60:95, N60

Ook hier is het belangrijk om te onthouden dat naarmate waarden uit de MIDI-syntaxis worden verwijderd, de MIDI-verklaring breder en minder specifiek wordt. De laatste versie van de nootgebeurtenis zal bijvoorbeeld C4 met 100% snelheid op alle kanalen verzenden.

Gebruik het WAIT-commando met een getal om een vertraging tussen andere MIDI-gebeurtenissen in te voegen. Het getal kan een geheel getal zijn. U kunt seconden als 1-10 definiëren, of als milliseconden. Het volgende laat zien hoe u 2 seconden, 10 seconden en een halve seconde kunt wachten.

WAIT2, WAIT10, WAIT500
OnSong 2023 — Laatst bijgewerkt op January 17, 2018