Käyttöopas
MIDI-syntaksi
OnSong käyttää tekstipohjaista syntaksia MIDI-komentojen ilmaisemiseen. Vaikka voit käyttää MIDI-tapahtumia Metatieto-editorissa, voit myös ilmaista MIDI-komentoja tekstissä.
Erotellut arvot
Ensinnäkin useita MIDI-komentoja voidaan erottaa useilla merkeillä, kuten sarkain, pilkku, puolipiste, pystyviiva tai rivinvaihto. Pilkku on yleisin erottaja. Esimerkiksi:
1.2:0@0, PC1.2:3@0, N67@1, START, SS8
Kanava
Jokainen merkintä voi sisältää @ -symbolin. Symbolin jälkeinen numeerinen arvo on kanava, jolle komento lähetetään. Koska MIDI-kanavat alkavat nollasta, kanava yksi olisi nolla (0), kanava kaksi olisi yksi (1) jne.
Jos @ -symbolia ei käytetä, komento lähetetään tai vastaanotetaan kaikilla kanavilla.
Etuliitteet
Jokainen listan merkintä sisältää etuliitteen. Tämä etuliite määrittää, minkä tyyppinen MIDI-komento lähetetään. Nämä sisältävät:
- PC tai Ei etuliitettä on ohjelmanvaihto-tapahtuma.
- N on nuotti-tapahtuma
- CC on ohjainmuutos-tapahtuma.
- SS on kappaleen valinta -tapahtuma.
- START on käynnistyskomento.
- STOP on pysäytyskomento.
- CONTINUE on jatkamiskomento.
- F0 edeltää SysEx-viestiä.
- WAIT toteuttaa viiveen.
Arvot
Komennon arvo näkyy juuri ennen @ -symbolia tai merkinnän lopussa, jos @ ei ole annettu. Tämä on ohjelman vaihdon, ohjainmuutoksen, nuotin tai kappaleen valinnan arvo etuliitteen perusteella. SysEx-merkintöjen tapauksessa SysExin heksadesimaaliarvo annetaan suoraan F0-etuliitteen jälkeen, jota käytetään kaikkien SysEx-komentojen otsikkona.
Aliarvot
Joissain tapauksissa MIDI-komento välittää lisätietoja aliarvoinaL Esimerkiksi MSB ja LSB sekä ohjainarvon nopeus voidaan lähettää tällä tavalla. Tämä ilmaistaan lisäämällä kaksoispiste arvosymbolin osaan. Aliarvon konteksti vaihtelee lähetetyn MIDI-komennon tyypin mukaan:
- Ohjelmanvaihto sisältää aliarvot, jotka kohdistuvat ohjelman vaihdolle MSB/LSB. Nämä arvot erotellaan pisteellä, jossa MSB on vasemmalla ja LSB oikealla.
- Ohjainmuutos on ohjainarvon arvo. Numero voi olla välillä 0 ja 127. Jos sitä ei anneta, arvoksi oletetaan 127.
- Nuotti-tapahtuma sisältää aliarvon, joka liittyy nopeuteen, jolla nuotti soitetaan. Tämä voidaan asettaa numeeriseen arvoon välillä 0 ja 127.
Esimerkit
Aloitetaan yksinkertaisesta ohjelmanvaihdosta. Tässä skenaariossa käytämme ohjelman vaihtoa 8, joka myös lähettää MSB:n 4 ja LSB:n 2 kanavalla 1. Esimerkki alkaa tämän monimutkaisimmasta variaatiosta ja poistaa pankki-valinnan ja kanavan tullakseen laajemmaksi:
PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7
Ohjainmuutokset ovat samanlaisia paitsi että syntaksin vasen puoli on ohjainmuutoksen numero ja oikea puoli on valinnainen arvo. Jos arvoa ei anneta, 127 lähetetään sen sijaan. Lähetetään ohjainmuutos 106 arvolla 64 kanavalla 3.
CC105:63@2, CC105:63. CC105@2, CC105
Katsotaanpa nyt nuotti-tapahtumia. Haluamme soittaa C4:n kanavalla 8 75 prosentin nopeudella, syötämme seuraavaa, koska OnSong aloittaa MIDI C0:n laskemisen nollasta MIDI-nuotti-asteikolla:
N60:95@7, N60@7, N60:95, N60
Jälleen on tärkeää muistaa, että kun arvot poistetaan MIDI-syntaksista, MIDI-lausunto tulee laajemmaksi ja vähemmän spesifiksi. Esimerkiksi nuotti-tapahtuman viimeinen versio soittaa C4:n 100 prosentin nopeudella kaikilla kanavilla.
Viiveen toteuttamiseksi muiden MIDI-tapahtumien välillä käytä WAIT-komentoa numeron kanssa. Numero voi olla kokonaisluku. Voit määrittää sekunteja odotettavaksi 1-10 tai millisekunneiksi. Seuraavassa näytetään, kuinka odotetaan 2 sekuntia, 10 sekuntia ja puoli sekuntia.
WAIT2, WAIT10, WAIT500