ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE

Gebruikershandleiding

MIDI-syntaxis

OnSong gebruikt een op tekst gebaseerde syntaxis voor het uitdrukken van MIDI-opdrachten. Hoewel u de MIDI-gebeurtenissen in de Metadata-editor kunt gebruiken, kunt u MIDI-opdrachten ook in tekst uitdrukken.

Gescheiden waarden

Eerst en vooral kunnen meerdere MIDI-opdrachten worden gescheiden door verschillende tekens, waaronder: een tabteken, komma, puntkomma, verticale streep of nieuwe regel. De komma is het meest gebruikte scheidingsteken. Bijvoorbeeld:

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

Kanaal

Elke invoer kan een @-symbool bevatten. De numerieke waarde na het symbool is het kanaal waarop de opdracht moet worden verzonden. Aangezien kanalen in MIDI op nul beginnen, zou kanaal één nul (0) zijn, kanaal twee één (1), enzovoort.

Als geen @-symbool wordt gebruikt, wordt de opdracht op alle kanalen verzonden of ontvangen.

Voorvoegsels

Elke invoer in de lijst bevat een voorvoegsel. Dit voorvoegsel bepaalt wat voor soort MIDI-opdracht moet worden verzonden. Deze omvatten:

  • PC of Geen voorvoegsel is een programmawijzigingsgebeurtenis.
  • N is een nootgebeurtenis
  • CC is een controlewisselingsgebeurtenis.
  • NRPN is een niet-geregistreerd parameternummer.
  • SS is een nummerkeuzegebeurtenis.
  • START is een startcommando.
  • STOP is een stopcommando.
  • CONTINUE is een vervolgcommando.
  • WAIT wacht een bepaalde tijd voordat meer gebeurtenissen worden verzonden.
  • F0 is het voorvoegsel voor een SysEx-bericht.
  • @ is het voorvoegsel voor een MIDI-globale tag.

Waarden

De waarde van de opdracht verschijnt net voor het @-symbool of aan het einde van de invoer als geen @ is gegeven. Dit is de waarde van de programmawijziging, controlewisseling, noot of nummerkeuze op basis van het voorvoegsel. In het geval van SysEx-invoeren wordt de hexadecimale waarde van de SysEx direct na het F0-voorvoegsel gegeven, dat als kop voor alle SysEx-opdrachten wordt gebruikt.

Subwaarden

In sommige gevallen worden aanvullende informatie in de MIDI-opdracht als subwaarden overgedragen. 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 verschillende context afhankelijk van het type MIDI-opdracht 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.
  • Controlewisseling heeft de waarde van de besturing die hiermee is ingesteld. Het getal kan tussen 0 en 127 liggen. Indien weggelaten, wordt de waarde 127 aangenomen. U kunt ook meerdere waarden scheiden met een streepje om door waarden te bladeren. Bijvoorbeeld, 127-0 zal de waarde van 127 vergrendelen tussen in- en uitschakelingsstanden.
  • Nootgebeurtenis heeft een subwaarde met betrekking tot de snelheid waarmee de noot moet worden gespeeld. Dit kan worden ingesteld op een numerieke waarde tussen 0 en 127. U kunt door meerdere nootsnelheden bladeren door ze met een streepje te scheiden.

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 verzendt. Het voorbeeld begint met de meest complexe variatie hiervan en verwijdert de bankaselectie en het kanaal om breder te worden:

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

Controlewisselingen zijn vergelijkbaar, behalve dat de linkerkant van de syntaxis het controlewisselingsnummer is en de rechterkant een optionele waarde. Als de waarde niet wordt gegeven, wordt 127 verzonden. We zenden Controlewisseling 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 een snelheid van 75%, we zouden het volgende invoeren omdat OnSong MIDI C0 als 0 op de MIDI-notenschaal telt:

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

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

We kunnen MIDI ook vertragen door een WAIT-opdracht toe te voegen. Het volgende zal de MIDI met 2 seconden en ook 500 ms (een halve seconde) vertragen. U kunt seconden opgeven als 1-10 seconden of in milliseconden.

WAIT2, WAIT500

Tot slot kunnen we verwijzen naar MIDI-globals, die vooraf geconfigureerde lijsten met MIDI-gebeurtenissen zijn die kunnen worden geraadpleegd. Als u een MIDI-global met "on" als tag hebt (zonder aanhalingstekens), dan kunt u verwijzen naar die global met het volgende:

@on
OnSong 2026 — Laatst bijgewerkt op March 11, 2020