Gebruikersgids
MIDI-Sintaksis
OnSong gebruik 'n teksgebaseerde sintaksis vir die uitdrukking van MIDI-bevele. Hoewel u die MIDI-gebeurtenisse in die Metadata-redigeerder kan gebruik, kan u ook MIDI-bevele in teks uitdruk.
Afgebakende waardes
Eerstens en voornamens kan verskeie MIDI-bevele deur verskeie karakters geskei word, insluitend: 'n tabbkarakter, komma, skeidskomma, vertikale pyp, of nuwe reël. 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 befel gestuur moet word. Aangesien kanale in MIDI op nul begin, sou kanaal een nul (0) wees, kanaal twee een (1), ens.
As geen @-simbool gebruik word nie, word die befel op alle kanale gestuur of ontvang.
Voorvoegsels
Elke inskrywing in die lys bevat 'n voorvoegsel. Hierdie voorvoegsel bepaal watter tipe MIDI-befel gestuur moet word. Dit sluit in:
- PC of Geen voorvoegsel is 'n programveranderingsgebeurtenis.
- N is 'n nootugebeurtenis
- CC is 'n kontroleveranderingsgebeurtenis.
- NRPN is 'n nie-geregistreerde parameternommer.
- SS is 'n liedselectiegebeurtenis.
- START is 'n beginbefel.
- STOP is 'n stopbefel.
- CONTINUE is 'n vervolgbefel.
- WAIT wag 'n bepaalde tyd voordat meer gebeurtenisse gestuur word.
- F0 stuur 'n SysEx-boodskap vooraf.
- @ stuur 'n MIDI-globale etiket vooraf.
Waardes
Die waarde van die befel 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 liedselectie 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 kopskrif vir alle SysEx-bevele gebruik word.
Subwaardes
In sommige gevalle word addisionele inligting in die MIDI-befel as subwaardes oorgedra. Byvoorbeeld kan MSB en LSB, asook snelheid van kontrolewaardes op hierdie manier gestuur word. Dit word uitgedruk deur die toevoeging van 'n dubbelpunt in die waardegedeelte. Die subwaarde het verskillende konteks afhangende van die tipe MIDI-befel wat gestuur word:
- Programverandering het subwaardes wat met die MSB/LSB van die programverandering belyn. Hierdie waardes word geskei deur 'n periode met die MSB aan die linkerkant en die LSB aan die regterkant.
- Kontroleverandering het die waarde van die kontrole wat hiermee gestel is. Die nommer kan tussen 0 en 127 wees. Indien weggelaat, word die waarde van 127 afgelei. U kan ook verskeie waardes met 'n koppelteken skei om deur waardes te stap. Byvoorbeeld sal 127-0 die waarde van 127 tussen aan- en aftoestande grendel.
- Nootugebeurtenis het 'n subwaarde wat betrekking het op die snelheid waarmee die noot gespeel moet word. Dit kan op 'n numeriese waarde tussen 0 en 127 gestel word. U kan deur verskeie nootusnelhede stap deur hulle met 'n koppelteken te skei.
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 komplekse variasie hiervan en verwyder die bankselectie 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 gestuur. Ons stuur Kontroleverandering 106 met 'n waarde van 64 op kanaal 3.
CC105:63@2, CC105:63. CC105@2, CC105
Nou kyk ons na nootugebeurtenisse. As ons C4 op kanaal 8 teen 75%-snelheid wil speel, sou ons die volgende invoer omdat OnSong MIDI C0 as 0 op die MIDI-nootskalering begin 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 meer algemeen en minder spesifiek word. Die laaste weergawe van die nootugebeurtenis sal byvoorbeeld C4 teen 100%-snelheid op alle kanale stuur.
Ons kan ook MIDI vertraag deur 'n WAIT-befel by te voeg. Die volgende sal die MIDI vir 2 sekondes asook 500 ms (half 'n sekonde) vertraag. U kan sekondes as 1-10 sekondes of in millisekondes spesifiseer.
WAIT2, WAIT500
Laastens kan ons MIDI-globale verwys wat vooraf gekonfigureerde lyste van MIDI-gebeurtenisse is wat verwys kan word. As u 'n MIDI-globaal met "on" as die etiket (sonder aanhalingstekens) het, kan u daardie globaal met die volgende verwys:
@on