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 se pueden separar mediante varios caracteres que incluyen: 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 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.
- NRPN es un número de parámetro no registrado.
- 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.
- 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 da @. 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 usa 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 MSB/LSB del cambio de programa. Estos valores se separan con un punto, siendo MSB a la izquierda y LSB a la derecha.
- Cambio de Control tiene el valor del control establecido 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 guion para recorrer valores. Por ejemplo, 127-0 bloqueará el valor de 127 entre estados activado y desactivado.
- Evento de Nota tiene un subvalor relacionado con la velocidad a la que se debe tocar la nota. Esto se puede establecer en un valor numérico entre 0 y 127. Puede recorrer múltiples velocidades de nota separándolas con un guion.
Ejemplos
Comencemos con un cambio de programa simple. En este escenario usamos 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 canal para ser 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 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 eventos de nota. Si queremos tocar C4 en el canal 8 con 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 declaración MIDI se vuelve más amplia y menos específica. Por ejemplo, la última versión del evento de nota enviará C4 con velocidad del 100% 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 como 1-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 consultar. Si tiene un global MIDI con "on" como etiqueta (sin comillas), puede hacer referencia a ese global con lo siguiente:
@on