D - Tipos de mensagens MIDI

por Theophilo Augusto Pinto

Midi é um conjunto de mensagens para tocarmos instrumentos musicais. Que tipo de mensagens seria preciso para isso? Algumas devem ser óbvias, como tocar uma nota, ou parar de tocá-la. Deve haver controles para o pedal de volume, e o sustain do piano. Poderíamos também mudar o timbre do instrumento, mas também o padrão deve prever algum jeito de um sequencer andar em sincronismo com outro. Vamos mostrar cada uma por grupos, começando por:

Mensagens que dependem de canal MIDI

São as mensagens que, quando enviadas, afetam apenas o canal MIDI selecionado. São elas:

Note On — comando para tocar uma determinada nota, com uma determinada velocidade — velocidade, que na prática significa intensidade.

Note Off — comando para desligar a nota que está sendo tocada. Também há dentro do comando a ‘velocidade’ de desligamento da nota, mas poucos teclados a usam, e são mais raros os sequencers que deixam que manipulemos estes dados. Muito comum, porém, é usar o comando ‘Note On’ com velocidade zero para desligar a nota. Porque? Para economizar alguns bytes, num processo chamado ‘running status’, que veremos adiante.

Aftertouch - um comando que disparamos ao colocarmos pressão na tecla em que tocamos. Note que, para cada tecla pode ser colocada uma pressão diferente, gerando, portanto, mensagens diferentes.

Control Change — comandos que podem controlar diversas partes do teclado, como o volume (control 7) e o pedal de sustain (control 64). Basicamente, há 128 comandos para serem usados, sem contar algumas combinações — por exemplo, o Control 0 e Control 32 em conjunto formam, poderíamos dizer, um ‘Control 129’. É por causa dessa enorme possibilidade de combinações de controles que o padrão MIDI não ficou obsoleto, como veremos adiante, num capítulo em separado.

Program Change (patch) — o comando que muda de um timbre para outro, dos que estão dentro do instrumento. Este comando tem um alcance de, no máximo, 128 timbres.

Channel Pressure — Outra forma de Aftertouch, mas que é ‘monofônica’, isto é, atua indistintamente para todas as notas do teclado. Por ser mais barato de se construir, é a forma de aftertouch mais comum nos teclados mais baratos, e também nos que têm ‘peso’, isto é, imitam a ação do piano acústico.

Pitch Wheel — uma mensagem específica para a ‘rodinha’ que normalmente está do lado esquerdo do teclado e muda a sua afinação.

Por incrível que pareça, são apenas essas as mensagens que o padrão MIDI usa para ‘tocar’ o instrumento. Existem algumas outras, que têm mais relação com o contexto em que esse instrumento deve ser tocado. São elas:

Mensagens que não dependem de Canal MIDI

System Exclusive — Muitas vezes queremos mandar outro tipo de informação ao instrumento — mudar a velocidade do vibrato, ou mesmo mandar um timbre inteiramente novo que pegamos na Internet e não havia no teclado — neste caso é usada uma mensagem ‘system exclusive’, que transmite essas e outras informações mais ‘exotéricas’. A única coisa que uma mensagem exclusive tem em comum com outra são os bytes de começo e fim. Elas podem ter qualquer tamanho. Praticamente todo o aparelho MIDI tem seu código ‘exclusive’, e, como uma impressão digital, é único para cada modelo de instrumento. Desta forma, não há chance de uma mensagem destinada a um instrumento ser interpretada por outro. Exclusive pode ser acessado normalmente por um computador, mas por assumir formas tão diversas de aparelho para aparelho, é uma das mensagens mais difíceis de se dominar.

Existem algumas mensagens ‘exclusive’ que não são tão exclusivas assim, pois a maioria dos instrumentos atuais responde a elas, e são estas:

GM System Enable/Disable — Um comando ‘exclusive’ que põe o instrumento receptor no modo GM (discutido adiante).

Master Volume — Não confundir com a mensagem control change, que controla o volume de cada canal MIDI. Este controla o volume global do instrumento, com todos os seus canais de uma vez.

Mensagens ‘transparentes’

São mensagens que normalmente não são manipuladas pelo músico, mas que existem para controle de diversos sistemas:

Midi Clock — mensagem usada para que dois sequencers andem no mesmo andamento. Basicamente, há 24 delas para cada semínima. Numa música de andamento constante, elas irão aparecendo também a uma velocidade constante. Mas num ralentando, por exemplo, elas irão ter um espaçamento maior entre uma e outra. A maior disvantagem dessa mensagem é, depois de grava uma música com sincronismo baseado em Midi Clock, qualquer alteração de andamento será impossível. Hoje em dia, ela quase não é mais usada, em favor de outra mensagem:

Midi Time Code — mensagem que carrega em si o tempo ‘absoluto’ da música. Isto quer dizer que ela vai aparecendo a intervalos regulares, independente do andamento da música. A sua grande vantagem é que, se quisermos mudar esta andamento depois, ela não atrapalhará em nada, pois estava apenas ‘marcando o tempo’, e o sequencer poderá se mover livremente por cima dessa marcação. Seu uso mais comum é em conjunto com o padrão SMPTE, de sincronismo de vídeo.

Song Position Pointer — Quando temos dois sequencers funcionando juntos — por exemplo, um computador e uma bateria eletrônica com o ritmo programado internamente, essa mensagem faz com que, ao tocarmos uma música no meio dela no sequencer mestre, o outro comece a tocar sua parte no mesmo compasso daquele.

Como as mensagens aparecem para o músico?

Vamos a alguns exemplos práticos. As figuras que usei foram extraídas do sequencer Cakewalk. Se você tiver outro, poderá notar que as diferenças são apenas cosméticas. Os dados sempre se apresentam dessa forma, como os que estão abaixo:

  • 1. Notas
  • Você não vai ter que administrar os comandos de notas on e off separadamente. Ao invés disso, a maioria dos sequencers mostra a nota, que lugar que ela começa (em termos de compasso, tempo e a subdivisão de tempo, chamada tick) e quanto esta nota dura (também em termos de compasso, tempo e ticks). Suponha que tenha tocado:

    É óbvio, mas veja como o sequencer deveria entender: o do no primeiro tempo, o mi no segundo e finalmente um acorde de três notas que dura dois tempos.

    Veja como estaria escrito no sequencer: (só para informação: o sequencer está trabalhando com uma resolução de 120 divisões por semínima, isto é, entre um tempo e outro existe uma grade de 120 ‘buraquinhos’ para que ele possa colocar algum evento)

    Vamos olhar da direita para a esquerda. A primeira coluna da direita tem sempre três valores: o nome da nota, a velocidade e finalmente sua duração. O primeiro do então dura 119 espaços, praticamente igual a uma semínima, bem como o mi. A coluna à esquerda desta mostra com que tipo de evento estamos lidando, no caso notas. Seguindo à esquerda temos o canal MIDI em que esses comandos estão gravados, e além disso temos a coluna que indica em que lugar da música, em termos de compasso, tempo do compasso e tick. (no exemplo, uma nota no começo do primeiro tempo, uma no começo do segundo e três no terceiro tempo). A coluna seguinte mostra em termos de tempo de relógio, isto é, horas, minutos, segundos e frames, quando as notas aparecem. Por fim, a última coluna nos diz que tudo isto está apenas no track 1 do sequencer.

  • 2. Channel Pres.
  • Suponha que, ao tocar o acorde eu aperto mais o teclado gerando um aftertoutch. Isto ficaria registrado mais ou menos assim:

    Após o acorde, vários comandos de aftertoutch são registrados, já que este tipo de modulação é feito de modo contínuo. Perceba que apesar de a modulação continuar após o espaço que há na janela, a modulação não passou nem do terceiro tempo do compasso! Modulações assim contínuas gastam muita memória, geralmente.

  • 3. Progam Change
  • Suponha que eu quisesse mudar o som do instrumento na hora em que fosse tocar o acorde: isso se faz com o comando program change. No exemplo, mudei o timbre para o número 2 (que neste teclado corresponde ao som chamado ‘Celesta’)

    No caso, o acorde estaria soando com o som chamdo ‘Celesta’ (que pode ser parecido, ou não, com o som do instrumento acústico em questão, mas isto é um outro problema...)

  • 4. Control Change
  • Vamos abaixar um pouco esse som? Como? Usando o Control Change.

    Na coluna que identifica o tipo de mensagem está especificado contrl, ou seja control change. Temos em seguida sua identificação (no 7, ou seja, volume) seguida do valor. No caso, o volume está no máximo e sendo abaixado.

  • 5. Pitch Wheel
  • Semelhantemente ao caso anterior, as mensagens contínuas são colocadas seguidamente. Temos aqui um exemplo de um glissando para o grave do acorde.



    Veja Também:




    Envie comentários, correções e adições para Fernando Iazzetta indice




    atualizado em 25/05/2000