ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE
Manual do utilizador
Sintaxe MIDI
O OnSong utiliza uma sintaxe baseada em texto para expressar comandos MIDI. Enquanto você pode usar os Eventos MIDI no Editor de Metadados, também pode expressar comandos MIDI em texto.
Valores Delimitados
Em primeiro lugar, múltiplos comandos MIDI podem ser separados por vários caracteres, incluindo: um carácter de tabulação, vírgula, ponto e vírgula, barra vertical ou nova linha. A vírgula é o delimitador mais comum. Por exemplo:
1.2:0@0, PC1.2:3@0, N67@1, START, SS8
Canal
Cada entrada pode conter um símbolo @. O valor numérico após o símbolo é o canal no qual o comando deve ser enviado. Como os canais no MIDI começam em zero, o canal um seria um zero (0), o canal dois um (1), etc.
Se nenhum símbolo @ for utilizado, o comando é enviado ou recebido em todos os canais.
Prefixos
Cada entrada na lista contém um prefixo. Este prefixo determina que tipo de comando MIDI enviar. Estes incluem:
- PC ou Sem Prefixo é um evento de alteração de programa.
- N é um evento de nota
- CC é um evento de alteração de controlo.
- SS é um evento de seleção de canção.
- START é um comando de início.
- STOP é um comando de paragem.
- CONTINUE é um comando de continuação.
- F0 é um prefixo para uma mensagem SysEx.
- WAIT implementa um atraso.
Valores
O valor do comando aparece logo antes do símbolo @ ou no final da entrada se nenhum @ for dado. Este é o valor da alteração de programa, alteração de controlo, nota ou seleção de canção com base no prefixo. No caso de entradas SysEx, o valor hexadecimal do SysEx é fornecido diretamente após o prefixo F0 que é utilizado como cabeçalho para todos os comandos SysEx.
Subvalores
Em alguns casos, informações adicionais são transmitidas no comando MIDI como subvalores. Por exemplo, MSB e LSB, bem como velocidade de valores de controlo podem ser enviados desta forma. Isto é expresso através da adição de dois-pontos na porção de valor. O subvalor tem contexto diferente dependendo do tipo de comando MIDI enviado:
- Alteração de Programa tem subvalores alinhados com o MSB/LSB da alteração de programa. Estes valores são separados por um ponto com o MSB à esquerda e o LSB à direita.
- Alteração de Controlo tem o valor do controlo definido usando isto. O número pode estar entre 0 e 127. Se omitido, o valor de 127 é inferido.
- Evento de Nota tem um subvalor relacionado com a velocidade a que a nota deve ser tocada. Isto pode ser definido para um valor numérico entre 0 e 127.
Exemplos
Vamos começar com uma alteração de programa simples. Neste cenário utilizamos a alteração de programa 8 que também envia um MSB de 4 e um LSB de 2 no canal 1. O exemplo começa com a variação mais complexa desta e remove a seleção de banco e canal para se tornar mais amplo:
PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7
As alterações de controlo são semelhantes, exceto que o lado esquerdo da sintaxe é o número de alteração de controlo e o lado direito é um valor opcional. Se o valor não for fornecido, 127 é enviado em seu lugar. Enviaremos a Alteração de Controlo 106 com um valor de 64 no canal 3.
CC105:63@2, CC105:63. CC105@2, CC105
Agora vamos analisar os eventos de nota. Queremos tocar C4 no canal 8 com 75% de velocidade, entraríamos com o seguinte porque o OnSong começa a contar MIDI C0 como 0 na escala de notas MIDI:
N60:95@7, N60@7, N60:95, N60
Novamente, é importante lembrar que quando valores são removidos da sintaxe MIDI, a declaração MIDI se torna mais ampla e menos específica. Por exemplo, a última versão do evento de nota enviará C4 a 100% de velocidade em todos os canais.
Para implementar um atraso entre outros eventos MIDI, utilize o comando WAIT com um número. O número pode ser um valor inteiro. Você pode definir segundos a aguardar como 1-10, ou definir como milissegundos. O seguinte mostra como aguardar 2 segundos, 10 segundos e meio segundo.
WAIT2, WAIT10, WAIT500