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ä.

Rajoitetut arvot

Ennen kaikkea useita MIDI-komentoja voidaan erottaa erilaisilla merkeillä, mukaan lukien: sarkainmerkki, pilkku, puolipiste, pystyviiva tai rivinvaihtomerkki. Pilkku on yleisin erottaja. Esimerkiksi:

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

Kanava

Jokainen merkintä voi sisältää @ -symbolia. Symbolin jälkeinen numeerinen arvo on kanava, johon komento lähetetään. Koska MIDI-kanavat alkavat nollasta, kanava yksi olisi nolla (0), kanava kaksi yksi (1) ja niin edelleen.

Jos @ -symbolia ei käytetä, komento lähetetään tai vastaanotetaan kaikilla kanavilla.

Etuliitteet

Jokainen luettelon merkintä sisältää etuliitteen. Tämä etuliite määrittää, minkä tyyppisen MIDI-komennon lähettää. Näihin kuuluvat:

  • PC tai Ei etuliitettä on ohjelmanmuutostapahtumaen.
  • N on noottitapahtuma
  • CC on kontrollinmuutostapahtuuma.
  • SS on kappaleen valintatapahtuma.
  • START on aloituskomento.
  • STOP on pysäytyskomento.
  • CONTINUE on jatkakomento.
  • F0 on SysEx-viestin etuliite.
  • WAIT toteuttaa viiveen.

Arvot

Komennon arvo näkyy juuri ennen @ -symbolia tai merkinnän lopussa, jos @ ei ole annettu. Tämä on ohjelman muutoksen, kontrollinmuutoksen, nootin tai kappaleen valinnan arvo etuliitteen perusteella. SysEx-merkintöjen tapauksessa SysEx:n heksadesimaaliarvo annetaan suoraan F0-etuliitteen jälkeen, joka toimii kaikkien SysEx-komentojen otsikkona.

Aliarvot

Joissakin tapauksissa MIDI-komentoon välitetään lisätietoja aliarvoinaa. Esimerkiksi MSB ja LSB sekä kontrolliarviojen nopeus voidaan lähettää tällä tavalla. Tämä ilmaistaan lisäämällä kaksoispiste arvon osaan. Aliarvo on eri asiayhteydessä riippuen lähetetyn MIDI-komennon tyypistä:

  • Ohjelmanmuutos sisältää aliarvot, jotka kohdistuvat ohjelmanhmuutoksen MSB/LSB-arvoihin. Nämä arvot erotetaan pisteellä, jolloin MSB on vasemmalla ja LSB oikealla.
  • Kontrollinmuutos sisältää tämän avulla asetetun kontrollin arvon. Luku voi olla 0–127. Jos arvo jätetään pois, arvoksi oletetaan 127.
  • Noottitapahtuma sisältää aliarvon, joka liittyy nootin soittonopeuteen. Tämä voidaan asettaa numeeriseksi arvoksi 0–127.

Esimerkit

Aloitetaan yksinkertaisella ohjelmanmuutoksella. Tässä skenaariossa käytämme ohjelmanmuutosta 8, joka myös lähettää MSB:n arvolla 4 ja LSB:n arvolla 2 kanavalla 1. Esimerkki alkaa tämän monimutkaisimmasta muodosta ja poistaa pankkivalinnan ja kanavan tullakseen laajemmaksi:

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

Kontrollinmuutokset ovat samanlaisia, paitsi että syntaksin vasen puoli on kontrollinmuutoksen numero ja oikea puoli on valinnainen arvo. Jos arvoa ei anneta, 127 lähetetään sen sijaan. Lähetetään kontrollinmuutos 106 arvolla 64 kanavalla 3.

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

Nyt katsotaan noottitapahtumia. Halumme soittaa C4:n kanavalla 8 75 %:n nopeudella, kirjoittaisimme seuraavat, koska OnSong aloittaa MIDI C0:n laskemisen 0:ksi MIDI-asteikoilla:

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

Jälleen kerran on tärkeää muistaa, että kun arvot poistetaan MIDI-syntaksista, MIDI-lause tulee laajemmaksi ja vähemmän spesifiseksi. Esimerkiksi viimeinen versio noottitapahtumasta lähettää C4:n 100 %:n nopeudella kaikilla kanavilla.

Viiveen toteuttamiseksi muiden MIDI-tapahtumien välille käytä WAIT-komentoa numerolla. Numero voi olla kokonaisluku. Voit määrittää odotettavaksi sekunneiksi 1–10 tai millisekuntaina. Seuraavaksi näytetään, kuinka odottaa 2 sekuntia, 10 sekuntia ja puoli sekuntia.

WAIT2, WAIT10, WAIT500
OnSong 2026 — Viimeksi päivitetty January 17, 2018