Gebruikersgids

MIDI-sintaksis

OnSong gebruik 'n teksgebaseerde sintaksis vir die uitdrukking van MIDI-bevele. Alhoewel u die MIDI-Gebeure in die Metagegewsredaksie kan gebruik, kan u ook MIDI-bevele in teks uitdruk.

Afgebakende Waardes

Eerstens en voornamens kan verskeie MIDI-bevele deur verskeie karakters geskei word, waaronder: 'n tabulasiekarakter, 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 kan 'n @-simbool bevat. Die numeriese waarde na die simbool is die kanaal waarop die bevel gestuur moet word. Aangesien kanale in MIDI op nul begin, sou kanaal een nul (0) wees, kanaal twee een (1), ensovoorts.

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

Voorvoegsels

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

  • PC of Geen Voorvoegsel is 'n programveranderingsgeleentheid.
  • N is 'n nootageleentheid
  • CC is 'n kontroleveranderingsgeleentheid.
  • SS is 'n liedjiekies-keurageleentheid.
  • START is 'n begin-bevel.
  • STOP is 'n stop-bevel.
  • CONTINUE is 'n gaan-voort-bevel.
  • F0 voeg 'n SysEx-boodskap vooraf.

Waardes

Die waarde van die bevel verskyn net voor die @-simbool of aan die einde van die inskrywing as geen @ gegee word nie. Dit is die waarde van die programverandering, kontroleverandering, noot of liedjiekies-keuse 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 kopstuk vir alle SysEx-bevele gebruik word.

Subwaardes

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

  • Programverandering het subwaardes wat met die MSB/LSB van die programverandering in lyn is. Hierdie waardes word geskei deur 'n tydperk met die MSB aan die linkerkant en die LSB aan die regterkant.
  • Kontroleverandering het die waarde van die kontrole wat hiermee gestel word. Die getal kan tussen 0 en 127 wees. Indien weggelaat, word die waarde van 127 afgelei.
  • Nootageleentheid 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 gestel word.

Voorbeelde

Laat ons begin met 'n eenvoudige programverandering. 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 ingewikkelde variasie hiervan en verwyder die bankkeuse en kanaal om meer breed 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 is. Indien die waarde nie gegee word nie, word 127 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 'n blik op nootageleenthede werp. Ons wil C4 op kanaal 8 op 75%-snelheid speel, ons sou die volgende invoer omdat OnSong MIDI C0 as 0 op die MIDI-notaskaal tel:

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-stelling breër en minder spesifiek word. Byvoorbeeld, die laaste weergawe van die nootageleentheid sal C4 op 100%-snelheid op alle kanale stuur.

OnSong 1.999 — Laas bygewerk op November 23, 2014