O protocolo MIDI

A música pode ser definida como uma função da frequência e do tempo. Efectivamente, um ditado musical consiste num conjunto de notas, cada qual com a respectiva frequência associada, tocadas numa determinada ordem e com uma determinada duração temporal. Do ponto de vista de pesquisa, ainda existe o interesse em associar metainformação como é o caso de estilos musicais, autores e até listas de preferências ou álbuns.
Existe uma série de linguagens humanamente legíveis orientadas para esse objectivo, como é o caso do MML, como é descrito no respectivo site. O MIDI é específico à tecnologia utilizada na comunicação entre instrumentos musicais, apesar de ser um protocolo padronizado.

Para além de consistir num elaborado protocolo de comunicação, a especificação Midi compreende ainda uma interface de hardware. É acrónimo para Musical Instrument Digital Interface (Interface Digital para Instrumentos Musicais). Relativamente ao hardware, trata-se de uma interface de comunicação em série envolvendo uma taxa de transmissão de informação padronizada, bem como cablagem utilizada.

Este protocolo é envidado por intermédio de uma série de mensagens, as quais consistem em strings de bytes de oito bits. O tamanho em bytes duma mensagem midi pode variar substancialmente onde, para cada uma delas, o byte inicial corresponde ao byte de estado. O byte de estado é especial na medida em que é o único na mensagem que tem o bit na posição #7 no estado ligado. Todos os outros bytes na mensagem têm o bit correspondente a zero. Claramente, o valor do byte inicial está compreendido entre 0x80 e 0xFF ao passo que os restantes contêm valores entre 0x00 e 0x7F.

Os bytes de estado entre 0x80 até 0xEF são reservados para mensagens que podem ser difundidas pelos diversos canais do protocolo. Devido a este facto, tais mensagens são designadas por mensagens voice. Para este tipo de mensagens, o byte de oito bits é dividido em dois nibbles de quatro bits cada. O nibble mais elevado indicia que tipo de mensagem se trata. Alguns dos valores possíveis para este nibble são apresentados na tabela seguinte.

Valor

Descrição

8 NoteOff (Nota desligada)
9 NoteOn (Nota ligada)
A AfterTouch (Pressão das teclas)
B Control Change
C

Program (Patch) Change

D Channel Pressure
E Pitch Weel (Roda de distorção)

O nibble inferior indica o canal a que a mensagem se destina, perfazendo, ao todo, um total de dezasseis canais de midi.

Os bytes de estado que estão entre 0xF0 e 0xFF são utilizados em mensagens que não estão associadas a nenhum canal em particular (e assim quaisquer dispositivos midi podem estar à escuta e actuar conforme a mensagem recebida em contraste com as mensagens do tipo voice que só podem ser processadas pelos dispositivos que estiverem à escuta num determinado canal). Estas mensagens são utilizadas para enviar informação de interesse de todos os dispositivos como é o caso da sincronização. Estes últimos bytes de estado ainda podem ser divididos em System Common (0xF0 a 0xF7) e System Realtime (0xF8 a 0xFF).

Actualmente, alguns bytes de estado, tais como 0xF4, 0xF5, 0xF9 ou 0xFD não estão especificados pelo protocolo até à data. Estão reservados para o futuro. Sempre que qualquer dispositivo midi recebe uma mensagem com um estado não especificado, toda a mensagem é ignorada.

Apresentei aqui uma pequena descrição de alguns aspectos nucleares na especificação do protocolo MIDI. Para além dos elementos expostos, no caso de ser utilizada sobre canais UART, a linguagem ainda necessita de acrescentar a especificação sobre a sincronização de cada mensagem enviada. Para uma descrição técnica mais detalhada, pode-se ver a wikipedia que possui uma série de ligações interessantes.

Sobre Sérgio O. Marques

Licenciado em Física/Matemática Aplicada (Astronomia) pela Faculdade de Ciências da Universidade do Porto e Mestre em Matemática Aplicada pela mesma instituição, desenvolvo trabalho no PTC (Porto Technical Centre) - Yazaki como Administrador de bases-de-dados. Dentro o meu leque de interesses encontram-se todos os temas afins às disciplinas de Matemática, Física e Astronomia. Porém, como entusiasta, interesso-me por temas relacionados com electrónica, poesia, música e fotografia.
Esta entrada foi publicada em Música. ligação permanente.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s