Gebruikersgids

MIDI-Sintaksis

OnSong gebruik 'n teks-gebaseerde sintaksis vir die uitdrukking van MIDI-opdragte. Hoewel u die MIDI-Gebeure in die Metadata-Redigeerder kan gebruik, kan u ook MIDI-opdragte in teks uitdruk.

Afgebakende Waardes

Eerstens en vooral kan veelvoudige MIDI-opdragte deur verskeie karakters geskei word, insluitend: 'n tabulasionteken, komma, kommapunt, vertikale pyp, of nuwe lyn. Die komma is die mees algemene afbakener. Byvoorbeeld:

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

Kanaal

Elke inskrywing mag 'n @-simbool bevat. Die numeriese waarde na die simbool is die kanaal waarop die opdrag gestuur moet word. Aangesien kanale in MIDI op nul begin, sou kanaal een 'n nul (0) wees, kanaal twee 'n een (1), ensovoorts.

As geen @-simbool gebruik word nie, word die opdrag op alle kanale gestuur of ontvang.

Voorvoegsel

Elke inskrywing in die lys bevat 'n voorvoegsel. Hierdie voorvoegsel bepaal watter tipe MIDI-opdrag gestuur moet word. Dit sluit in:

  • PC of Geen Voorvoegsel is 'n programveranderingsgebeurtenis.
  • N is 'n nootgebeurtenis
  • CC is 'n kontroleveranderingsgebeurtenis.
  • SS is 'n liedkeusgebeurtenis.
  • START is 'n beginopdrag.
  • STOP is 'n stopopdrag.
  • CONTINUE is 'n vervologopdrag.
  • WAIT wag 'n spesifieke tydsduur voor meer gebeure gestuur word.
  • F0 voorafgaan aan 'n SysEx-boodskap.
  • @ voorafgaan aan 'n MIDI-globale etiket.

Waardes

Die waarde van die opdrag verskyn net voor die @-simbool of aan die einde van die inskrywing as geen @ gegee word. Dit is die waarde van die programverandering, kontroleverandering, noot, of liedkeuse gebaseer op die voorvoegsel. In die geval van SysEx-inskrywings, word die heksadesimale waarde van die SysEx direk na die F0-voorvoegsel gegee wat as 'n opskrif vir alle SysEx-opdragte gebruik word.

Subwaardes

In sommige gevalle word addisionele inligting in die MIDI-opdrag oorgedra as subwaardes. Byvoorbeeld, MSB en LSB, asook snelheid van kontrolewaardes kan op hierdie manier gestuur word. Dit word uitgedruk deur die toevoeging van 'n dubbelpunt in die waardedeel. Die subwaarde het verskillende konteks afhangende van die tipe MIDI-opdrag gestuur:

  • Programverandering het subwaardes wat ooreenstem met die MSB/LSB van die programverandering. Hierdie waardes word geskei deur 'n punt met die MSB aan die linkerkant en die LSB aan die regterkant.
  • Kontroleverandering het die waarde van die kontrole wat met hierdie ingesteld word. Die nommer kan tussen 0 en 127 wees. Indien weggelaat, word 'n waarde van 127 aangeneem. U kan ook veelvoudige waardes met 'n koppelteken skei om deur waardes te gaan. Byvoorbeeld, 127-0 sal die waarde van 127 tussen aan- en afskakeltoestande vashou.
  • Nootgebeurtenis het 'n subwaarde wat betrekking het op die snelheid waarteen die noot gespeel moet word. Dit kan op 'n numeriese waarde tussen 0 en 127 ingestel word. U kan deur veelvoudige nootsneelhede gaan deur hulle met 'n koppelteken te skei.

Voorbeelde

Laat ons met 'n eenvoudige programverandering begin. In hierdie scenario gebruik ons programverandering 8 wat ook 'n MSB van 4 en 'n LSB van 2 op kanaal 1 stuur. Die voorbeeld begin met die mees komplekse variasie hiervan en verwyder die bankkeuse en kanaal om meer algemeen te word:

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

Kontroleveranderinge is soortgelyk, behalwe dat die linkerkant van die sintaksis die kontroleveranderingsnommer is en die regterkant 'n opsionele waarde. As die waarde nie gegee word nie, word 127 in plaas daarvan gestuur. Ons sal Kontroleverandering 106 met 'n waarde van 64 op kanaal 3 stuur.

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

Nou laat ons na nootgebeurtenisse kyk. Ons wil C4 op kanaal 8 teen 75% snelheid speel, ons sou die volgende invoer omdat OnSong begin tel MIDI C0 as 0 op die MIDI-nootskaal:

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

Weereens is dit belangrik om te onthou dat soos waardes uit die MIDI-sintaksis verwyder word, die MIDI-verklaring meer algemeen en minder spesifiek word. Byvoorbeeld, die laaste weergawe van die nootgebeurtenis sal C4 teen 100% snelheid op alle kanale stuur.

Ons kan ook MIDI vertraag deur 'n WAIT-opdrag by te voeg. Die volgende sal die MIDI vir 2 sekondes asook 500 ms (halwe sekonde) vertraag. U kan sekondes as 1-10 sekondes of in millisekondes spesifiseer.

WAIT2, WAIT500

Laastens kan ons na MIDI-globale verwys wat vorgekonfigureerde lyste van MIDI-gebeure is wat verwys kan word. As u 'n MIDI-globale met "on" as die etiket (sonder aanhaaltekens) het, kan u na daardie globale met die volgende verwys:

@on
OnSong 1.999 — Laas bygewerk op August 29, 2019