ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE

Manual del Usuario

Sintaxis MIDI

OnSong utiliza una sintaxis basada en texto para expresar comandos MIDI. Aunque puede usar los Eventos MIDI en el Editor de Metadatos, también puede expresar comandos MIDI en texto.

Valores Delimitados

Ante todo, múltiples comandos MIDI pueden separarse por varios caracteres incluyendo: un carácter de tabulación, coma, punto y coma, barra vertical o nueva línea. La coma es el delimitador más común. Por ejemplo:

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

Canal

Cada entrada puede contener un símbolo @. El valor numérico después del símbolo es el canal en el que se debe enviar el comando. Dado que los canales en MIDI comienzan en cero, el canal uno sería cero (0), el canal dos uno (1), etc.

Si no se usa el símbolo @, el comando se envía o recibe en todos los canales.

Prefijos

Cada entrada de la lista contiene un prefijo. Este prefijo determina qué tipo de comando MIDI enviar. Estos incluyen:

  • PC o Sin Prefijo es un evento de cambio de programa.
  • N es un evento de nota
  • CC es un evento de cambio de control.
  • SS es un evento de selección de canción.
  • START es un comando de inicio.
  • STOP es un comando de parada.
  • CONTINUE es un comando de continuación.
  • F0 prefija un mensaje SysEx.
  • WAIT implementa un retardo.

Valores

El valor del comando aparece justo antes del símbolo @ o al final de la entrada si no se proporciona @. Este es el valor del cambio de programa, cambio de control, nota o selección de canción basado en el prefijo. En el caso de entradas SysEx, el valor hexadecimal del SysEx se proporciona directamente después del prefijo F0 que se utiliza como encabezado para todos los comandos SysEx.

Subvalores

En algunos casos, se proporciona información adicional en el comando MIDI como subvalores. Por ejemplo, MSB y LSB, así como la velocidad de los valores de control se pueden enviar de esta manera. Esto se expresa mediante la adición de dos puntos en la porción de valor. El subvalor tiene un contexto diferente dependiendo del tipo de comando MIDI enviado:

  • Cambio de Programa tiene subvalores alineados con el MSB/LSB del cambio de programa. Estos valores se separan por un punto con el MSB a la izquierda y el LSB a la derecha.
  • Cambio de Control tiene el valor del control configurado usando esto. El número puede estar entre 0 y 127. Si se omite, se infiere el valor de 127.
  • Evento de Nota tiene un subvalor relacionado con la velocidad a la que debe tocarse la nota. Esto puede configurarse en un valor numérico entre 0 y 127.

Ejemplos

Comencemos con un simple cambio de programa. En este escenario utilizamos el cambio de programa 8 que también envía un MSB de 4 y un LSB de 2 en el canal 1. El ejemplo comienza con la variación más compleja de esto y elimina la selección de banco y el canal para hacerse más amplio:

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

Los cambios de control son similares excepto que el lado izquierdo de la sintaxis es el número de cambio de control y el lado derecho es un valor opcional. Si no se proporciona el valor, se envía 127 en su lugar. Enviaremos Control Change 106 con un valor de 64 en el canal 3.

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

Ahora veamos los eventos de nota. Queremos tocar C4 en el canal 8 a una velocidad del 75%, ingresaríamos lo siguiente porque OnSong comienza a contar MIDI C0 como 0 en la escala de notas MIDI:

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

Nuevamente, es importante recordar que a medida que se eliminan valores de la sintaxis MIDI, la instrucción MIDI se vuelve más amplia y menos específica. Por ejemplo, la última versión del evento de nota enviará C4 a una velocidad del 100% en todos los canales.

Para implementar un retardo entre otros eventos MIDI, use el comando WAIT con un número. El número puede ser un valor entero. Puede definir los segundos a esperar como 1-10, o definir en milisegundos. Lo siguiente muestra cómo esperar 2 segundos, 10 segundos y medio segundo.

WAIT2, WAIT10, WAIT500
OnSong 2023 — Última actualización el January 17, 2018