Manuale Utente

Sintassi MIDI

OnSong utilizza una sintassi basata su testo per esprimere i comandi MIDI. Sebbene tu possa utilizzare gli Eventi MIDI nell'Editor Metadati, puoi anche esprimere i comandi MIDI in testo.

Valori Delimitati

Innanzitutto, più comandi MIDI possono essere separati da vari caratteri tra cui: un carattere di tabulazione, una virgola, un punto e virgola, una barra verticale o una nuova riga. La virgola è il delimitatore più comune. Ad esempio:

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

Canale

Ogni voce può contenere un simbolo @. Il valore numerico dopo il simbolo è il canale su cui inviare il comando. Poiché i canali in MIDI iniziano da zero, il canale uno sarebbe uno zero (0), il canale due uno (1), ecc.

Se non viene utilizzato il simbolo @, il comando viene inviato o ricevuto su tutti i canali.

Prefissi

Ogni voce nell'elenco contiene un prefisso. Questo prefisso determina il tipo di comando MIDI da inviare. Questi includono:

  • PC o Nessun Prefisso è un evento di cambio programma.
  • N è un evento di nota
  • CC è un evento di cambio controllo.
  • NRPN è un numero di parametro non registrato.
  • SS è un evento di selezione brano.
  • START è un comando di avvio.
  • STOP è un comando di arresto.
  • CONTINUE è un comando di continuazione.
  • WAIT attende un periodo di tempo specifico prima di inviare altri eventi.
  • F0 precede un messaggio SysEx.
  • @ precede un tag MIDI globale.

Valori

Il valore del comando appare appena prima del simbolo @ o alla fine della voce se non viene fornito alcun @. Questo è il valore del cambio programma, cambio controllo, nota o selezione brano in base al prefisso. Nel caso di voci SysEx, il valore esadecimale del SysEx viene fornito direttamente dopo il prefisso F0 che viene utilizzato come intestazione per tutti i comandi SysEx.

Sottovalori

In alcuni casi, informazioni aggiuntive vengono trasmesse nel comando MIDI come sottovalori. Ad esempio, MSB e LSB, nonché la velocità dei valori di controllo possono essere inviati in questo modo. Ciò viene espresso mediante l'aggiunta di due punti nella porzione di valore. Il sottovalore ha un contesto diverso a seconda del tipo di comando MIDI inviato:

  • Cambio Programma ha sottovalori allineati con MSB/LSB del cambio programma. Questi valori sono separati da un punto con MSB a sinistra e LSB a destra.
  • Cambio Controllo ha il valore del controllo impostato utilizzando questo. Il numero può essere compreso tra 0 e 127. Se omesso, viene dedotto il valore di 127. Puoi anche separare più valori con un trattino per scorrere i valori. Ad esempio, 127-0 bloccherà il valore di 127 tra gli stati acceso e spento.
  • Evento di Nota ha un sottovalore relativo alla velocità con cui la nota dovrebbe essere suonata. Questo può essere impostato su un valore numerico compreso tra 0 e 127. Puoi scorrere più velocità di note separandole con un trattino.

Esempi

Iniziamo con un semplice cambio programma. In questo scenario utilizziamo il cambio programma 8 che invia anche un MSB di 4 e un LSB di 2 sul canale 1. L'esempio inizia con la variazione più complessa e rimuove la selezione della banca e il canale per diventare più ampio:

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

I cambi controllo sono simili tranne per il fatto che il lato sinistro della sintassi è il numero del cambio controllo e il lato destro è un valore facoltativo. Se il valore non viene fornito, viene invece inviato 127. Invieremo il Cambio Controllo 106 con un valore di 64 sul canale 3.

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

Ora diamo un'occhiata agli eventi di nota. Vogliamo suonare Do4 sul canale 8 al 75% di velocità, dovremmo inserire quanto segue perché OnSong inizia a contare MIDI Do0 come 0 sulla scala delle note MIDI:

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

Ancora, è importante ricordare che man mano che i valori vengono rimossi dalla sintassi MIDI, l'istruzione MIDI diventa più ampia e meno specifica. Ad esempio, l'ultima versione dell'evento di nota invierà Do4 al 100% di velocità su tutti i canali.

Possiamo anche ritardare il MIDI aggiungendo un comando WAIT. Il seguente ritarderà il MIDI per 2 secondi così come 500 ms (mezzo secondo). Puoi specificare i secondi da 1 a 10 secondi o in millisecondi.

WAIT2, WAIT500

Infine, possiamo fare riferimento ai global MIDI che sono elenchi preconfigurati di eventi MIDI a cui è possibile fare riferimento. Se hai un global MIDI con "on" come tag (senza virgolette), puoi fare riferimento a quel global con quanto segue:

@on
OnSong 2026 — Ultimo aggiornamento il March 11, 2020