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

En primer lugar, múltiples comandos MIDI pueden separarse por varios caracteres, incluyendo: un carácter de tabulación, coma, punto y coma, barra vertical o salto de 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 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 utiliza el símbolo @, el comando se envía o recibe en todos los canales.

Prefijos

Cada entrada en 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 continuar.
  • WAIT espera una cantidad específica de tiempo antes de enviar más eventos.
  • F0 prefija un mensaje SysEx.
  • @ prefija una etiqueta global MIDI.

Valores

El valor del comando aparece justo antes del símbolo @ o al final de la entrada si no se proporciona ninguno. 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 de SysEx se proporciona directamente después del prefijo F0 que se utiliza como encabezado para todos los comandos SysEx.

Subvalores

En algunos casos, información adicional se transmite 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. También puede separar múltiples valores con un guión para avanzar por valores. Por ejemplo, 127-0 bloqueará el valor de 127 entre estados de encendido y apagado.
  • Evento de Nota tiene un subvalor relacionado con la velocidad a la que se debe reproducir la nota. Esto puede establecerse en un valor numérico entre 0 y 127. Puede avanzar a través de múltiples velocidades de nota separándolas con un guión.

Ejemplos

Comencemos con un cambio de programa simple. En este escenario usamos 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 volverse 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 el valor no se proporciona, se envía 127 en su lugar. Enviaremos el Cambio de Control 106 con un valor de 64 en el canal 3.

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

Ahora echemos un vistazo a los eventos de nota. Queremos tocar C4 en el canal 8 a una velocidad del 75%, ingresaríamos lo siguiente porque OnSong comienza contando 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 declaración MIDI se vuelve más amplia y menos específica. Por ejemplo, la última versión del evento de nota enviará C4 al 100% de velocidad en todos los canales.

También podemos retrasar MIDI agregando un comando WAIT. Lo siguiente retrasará el MIDI por 2 segundos así como 500 ms (medio segundo). Puede especificar segundos de 1 a 10 segundos o en milisegundos.

WAIT2, WAIT500

Por último, podemos hacer referencia a globales MIDI que son listas preconfiguradas de eventos MIDI que se pueden hacer referencia. Si tiene un global MIDI con "on" como etiqueta (sin comillas), puede hacer referencia a ese global con lo siguiente:

@on
OnSong 1.999 — Última actualización el August 29, 2019