O documento descreve o protocolo MIDI, resumindo sua história, funcionamento e aplicações. [1] MIDI é um protocolo padrão que permite a comunicação entre instrumentos musicais digitais através de mensagens binárias que codificam informações de performance, como nota, intensidade e controle de parâmetros. [2] O protocolo possibilitou a interconexão de equipamentos de diferentes marcas e a sincronização de shows de música e luzes.
3. Breve História (da música eletrônica)
MIDI (como surgiu, o que é, como funciona, vantagens)
/
4. Introdução: Breve História
Surgimento de instrumentos musicais eletrônicos
1906 – Telharmonium ou Dynamophone
Canadiano Thaddeus Cahill.
200 toneladas de dínamos produziam som.
A técnica foi usada décadas depois nos orgãos Hammond
/
5. Introdução: Breve História
Surgimento de instrumentos musicais eletrônicos
1924 – Teramina ou Theremin Vox, por Therémin
Ainda nos anos 20: Onda Martenot, por Maurice Martenot,
teclado com dispositivo pitch-bend e controle de amplitude.
1957 – Max Matheus. Primeiro a usar computador.
Linguagem MUSIC V (não reproduzia em tempo real)
Anos 60 – “Groove”, Max Matheus com a equipe da
Bell Telephone Laboratoris. Reproduzia em tempo real.
/
6. Introdução: Breve História
Surgimento dos computadores musicais e evolução
Final dos anos 70:
Commodore C-64, Tandy TRS-80 (rodava Groove), Apple II
1983 - Surgiu o
Apple Macintosh, Commodore Amiga, Atari ST, NeXT.
Inicia-se o desuso de chips de síntese internos
dos computadores.
1984 Yamaha CX-5M, Roland MPU-401.
1989 Plataforma MPC, Creative Sound Blaster.
/
8. Introdução: MIDI: Como surgiu?
Antigamente....
Controle analógico por variações de voltagem
Inverno de 1981 Dave Smith e Chet Wood da Sequencial Circuits
Convenção da Sociedade de Engenharia de Áudio
USI – Universal Synthetizer Interface, incluído no Prophet-5
Empresas gostam e começam a usar, mas
surge um problema:
Apenas podem ligar aparelhos da mesma marca.
MUDI – Musically Unusable Digital Interface
/
9. Introdução: MIDI: Como surgiu?
Antigamente....
Controle analógico por variações de voltagem
1982 Sequencial Circuits, Roland, Korg, Yamaha e Kawai
Define o Complete SCI MIDI.
agosto de 1983 MIDI 1.0, definida no Japão
Sequencial Circuits, Roland, Korg, Yamaha e Kawai
A MIDI Manufacturer's Association – MMA (EUA) é a organização responsável por
manter e atualizar o sistema MIDI. http://www.midi.org
/
10. Introdução: MIDI: Como surgiu?
MIDI é um protocolo que permite a comunicação e sincronização entre
instrumentos musicais e afins. (principal)
Computadores, misturadores (mixers), gravadores, sequenciadores,
equipamentos de iluminação e equipamentos de vídeo.
MIDI é sigla para Interface Digital para Instrumentos Musicais
(Musical Instrument Digital Interface).
Esquema de interconexão física e protocolo de comunicação que
possibilitam o controle e conexão de instrumentos musicais em tempo real.
/
11. Introdução: MIDI: General MIDI
O “coração” da general MIDI é o mapa de registros ou instrumentos.
128 registros normalizados devidamente agrupados por famílias de
som. De modo análogo, foram normalizados os registros de cada
peça de bateria/percussão nos kits rítmicos.
Características para sintetizadores no padrão General MIDI:
• Mínimo de 24 vozes de atribuição dinâmica para melodia e percussão, ou 16 com atribuição
dinâmica para melodia e oito para percussão.
• Suporte a todos os 16 canais MIDI, em modo polifônico.
• Cada canal poderá usar um registro distinto.
• O canal 10 é reservado para bateria/percussão.
• Mínimo de 128 registros.
• Dó central é nota MIDI 60.
• Deve suportar NOTE ON, NOTE OFF, Control Change, Modulation, Sustain, Expressão,
Volume, Reset All Controllers e All Notes Off.
• Ao iniciar deverá assumir: PitchBend = 0 com gama de +/- 2 meios tons; volume = 90; todos
os outros controladores na posição de repouso.
/
12. Introdução: MIDI: O que é?
Codifica informações de execução (performance) através de mensagens
em formato binário.
MIDI x Áudio (wave)
MIDI não transmite informação sonora (espectros sônicos),
só informações de controle
ex. toque a nota do agora com intensidade 64 usando um som de piano
Timbre a ser utilizado (ex. o som do “piano”) é sintetizado no
equipamento receptor
MIDI / Wave
13. Introdução: MIDI: O que é?
Composto por:
Interface MIDI: equipamento ou placa de computador que permite dois sistemas ou
equipamentos diferentes se comunicarem de conectores padrões.
Dispositivo MIDI: é todo dispositivo capaz de receber, enviar e interpretar o padrão
MIDI. Os mais comuns, encontrados atualmente, são os sintetizadores, baterias
eletrônicas, módulos de som e computadores dotados de interface MIDI.
Cabos MIDI: um cabo MIDI é composto de três fios.
Conectores MIDI: são conectores tipo DIN de 5 pinos, geralmente utilizados em
equipamentos de áudio. Para ligação no cabo MIDI são utilizados apenas 3 destes
pinos.
Mensagens MIDI: são mensagens enviadas entre equipamentos MIDI por meio das
interfaces adequadas.
Padrão para arquivos MIDI: é um padrão de como deve ser escrito as informações
da música armazenada.
/
14. Introdução: MIDI: Vantagens
É uma interface padrão
Separa o controlador do gerador de som
Permite troca dados entre os mais diversos equipamentos musicais
Possibilita existência de vários tipos de controladores
ex. teclado, bateria, guitarra, flauta, ...
/
15. Introdução: MIDI: Vantagens
Possibilita comunicação (bidirecional) entre equipamentos musicais e
computadores
Facilita o desenvolvimento de software musicais genéricos (independentes
de equipamento)
ex. editores de partitura, seqüenciadores, sistemas de composição algorítmica
/
16. Introdução: MIDI: Vantagens
Também facilita uso/desenvolvimento de software específicos a um dispositivo
ex. editores de patch, sequenciadores, etc.
/
17. Introdução: MIDI: Usos
Pode ser utilizado para controle e sincronismo de equipamentos não-musicais:
MSC 1.0 (MIDI Show Control)
ex. luzes do palco, mesa de som, etc.
/
30. Hardware: Portas MIDI
Transmissão de dados
> serial assíncrona e unilateral
> taxa 31.250 bits por segundo
> usa portas
Porta MIDI de um equipamento musical
> Transmite e recebe mensagens MIDI
> Utiliza 2 ou 3 conectores DIN (Deutsch Industrielle Normung)
MIDI In
MIDI Out
MIDI Thru (through = através) cópia da entrada “amplificada”
/
34. Hardware: Interface MIDI
As placas de som têm:
Conversor A/D e D/A (como já sabemos...)
Sintetizador MIDI
Síntese na própria placa
FM é ruim!
As boas placas usam tabelas de formas de onda (wavetable lookup)
Interface MIDI
Mandam mensagens MIDI para um sintetizador externo via um
adaptador (MIDI Kit) na saída de joystick.
/
35. Hardware: Canais MIDI
É um endereçamento de rede: mensagens processadas
só equipamentos “sintonizados” naquele(s) canal(ais)
Diferente da noção de canal de áudio
ex. se sintetizador 1 reponde ao canal 1, as mensagens dos outros canais
serão ignoradas por ele
16 canais por porta
múltiplas portas = 16 * portas canais
/
36. Hardware: Teclado / Controlador MIDI
Computador
Canais MIDI
1 2
Split Point
SE O COMPUTADOR Placa MIDI
TIVER PLACA SE SOM in
out
Sintetizador 1
(10 vozes 1 a 10
multitimbral)
Sintetizador 2
(4 vozes 11 a 14
multitimbral)
Unidade de
15
Efeito 1
Unidade de
Efeito 2 / 16
37. Hardware: Canais MIDI
Teclado / Controlador MIDI
Computador
1 2
Split Point
in USB + Chipset +Soft
out
Sintetizador 1
(10 vozes 1 a 10
multitimbral)
Sintetizador 2
(4 vozes 11 a 14
multitimbral)
Unidade de
15
Efeito 1
Unidade de
Efeito 2 / 16
39. Mensagens MIDI
Princípio
A comunicação se dá por mensagens MIDI
Transmissor origina mensagens e receptor realiza a ação
desejada (sintetiza, processa, liga, ...)
Mensagens enviadas/reconhecidas por cada equipamento
estão listadas na Tabela de Implementação MIDI
/
40. Mensagens MIDI: Formato
As Mensagens MIDI possuem:
1 byte de Status , que codifica os comandos
Seguido por 0, 1 ou 2 bytes de Dados (argumentos)
Byte de Status:
Bit de mais alta ordem sempre igual a 1 ( > vai de 0x80 a 0xFF)
Os outros 3 ou 7 bits mais significativos codificam tipo de mensagem,
Quando necessário, os 16 canais MIDI são codificados nos 4 bits
menos significativos.
1 cmd cmd cmd : chn chn chn chn 1 cmd cmd cmd : cmd cmd cmd cmd
/
41. Mensagens MIDI: Formato
Byte de Dados:
Complementam (instanciam) a informação do status
Só usam 7 bits para não confundir com as o byte de status,
o que é uma limitação
0 arg arg arg : arg arg arg arg
/
42. Mensagens MIDI
Channel
Channel System
System
Voice
Voice Mode
Mode Real Time
Real Time Common
Common Sys Ex
Sys Ex
Note on
Note on All Notes Off
All Notes Off
Note off
Note off Local Control
Local Control
Channel Pressure
Channel Pressure Omni Off
Omni Off
Key Pressure
Key Pressure Omni On
Omni On
Control Change
Control Change Mono
Mono
Program Change
Program Change Poly
Poly
Pitch Bend
Pitch Bend
/
43. Mensagens MIDI: Tipo
Mensagens de canal (channel messages)
Endereçadas em um canal, dizem as notas a tocar, como modificar o som
destas, ou como o equipamento deve tratar estas requisições
Subdivide-se em mensagens de voz e de modo
Mensagens de sistema (system messages)
Coordenam as atividades de todos os equipamentos conectados ao
sistema
Subdivide-se em mensagens comuns, de tempo real e exclusivas do
sistema
/
44. Mensagens MIDI: Mensagens de Canal
Mensagens de VOZ
Byte de Status* Significado Bytes de Dados
0x8n Note Off 2 bytes - Tecla e Velocidade
0x9n Note On 2 bytes - Tecla e Velodidade
0xAn Key Pressure 2 bytes - Tecla e Valor
0xBn Control Change 2 bytes - Parâmetro e Valor
0xCn Program Change 1 byte - Programa selecionado
0xDn Channel Pressure 1 byte - Valor
0xEn Pitch Bend 2 bytes - Valor de 14 bits
* n = canal (0 = canal 1, F = canal 16)
/
45. Mensagens MIDI: Mensagens de Canal
Mensagens de VOZ: Note On / Note Off
Indica que a nota deve ser tocada ou interrompida
Note On 9n nota intensidade Note Off 8n nota intensidade
Intensidade (velocity)
Chamada de velocidade devido à maneira de detectar intensidade em um teclado
7 bits > 128 valores (0 a 127)
Um exemplo de mensagem a ser enviada seria:
Ligar Dó do piano no canal 5: 0x95 0x3C 0x40 Em decimal é: 144+5 60 64
Comando de “Note On” no canal 5 da tecla 60 com intensidade 64.
/
46. Mensagens MIDI: Mensagens de Canal
Pitch Bend (mudança de altura)
Usada para efeitos musicais (ex. glissando), para obter
micro afinação, etc.
Utiliza 14 bits = 16.384 valores
•byte menos significativo antes
•centro em 0x00 0x40
Variação é determinada pelo receptor
•ex. se um sintetizador implementa um desvio de 3 semitons para
cima e para baixo, teremos um “passo” 6/16384
/
47. Mensagens MIDI: Mensagens de Canal
Control Change
Usada para mudar volume, modulação e outras qualidades sonoras do
sintetizador
120 controles
Bn parâmetro valor
Então envia-se o status de “Control Change” + parâmetro + valor:
Exemplo: 0xB8 + 1 + 50
enviando estes dados mudamos o valor
do controle responsável pela modulação do timbre para 50 no canal 8.
/
48. Mensagens MIDI: Mensagens de Canal
Control Change: Tabela de Parâmetros
Parâmetro parâmetro
0, 32 Seleção de Banco (MSB) 66 Sostenuto (Booleano)
1 Modulação 67 Abafador (Booleano)
2 Embocadura 69 Sustentação 2 (Booleano)
4 Pedal 91 Reverberação
5 Tempo de Portamento 92 Tremolo
6, 38 Entrada de Dados 93 Chorus
7 Volume 94 Desafinador
8 Balanço 95 Modificador de Fase
10 Estereofonia 98, 99 NRPN (LSB, MSB)
11 Expressão 100,101 RPN (LSB, MSB)
64 Sustentação 1 (Booleano) 120 Cancela todas as Notas
65 Portamento 121 Zera todos os controladores
Bn parâmetro valor
/
49. Mensagens MIDI: Mensagens de Canal
Program Change
Seleciona o programa/patch/instrumento desejado
Ex. uma mesma melodia de flauta pode passar a ser tocada (no mesmo
canal) pelo piano, pela guitarra ou por uma flauta sttacato
Os sintetizadores General MIDI tem uma lista padrão de
de instrumentos devidamente numerados
01 = piano acústico
27 = guitarra de jazz
53 = coral “ah”
70 = corne inglês
109 = kalimba Cn n_instrumento
Enviamos então: status Program Change + número do instrumento
Exemplo: 0xC7 + 41, mudamos o instrumento do canal 7 para violino.
/
50. Mensagens MIDI: Mensagens de Canal
Mensagens sem Status “Running Status”
Caso uma mensagem venha sem status, vale o último.
Assim ganha-se tempo minimizando a redundância do protocolo
MIDI.
Exemplo:
Para ligar e desligar 3 notas: 18 bytes
(com Note On e velocity zero servindo de Note Off), valores em hexadecimal
90 3C 40 90 3B 62 90 39 27... 90 3C 00 90 3B 00 90 39 00
Com o “running status”, status corrente: 13 bytes
90 3C 40 3B 62 39 27... 3C 00 3B 00 39 00
/
68. Obrigado pela Atenção
Sérgio Henrique Domingues de Oliveira
sergiohe2@yahoo.com.br
http://shdo.com.br/
http://myspace.com/shdomusic/
/
69. Bibliografia
CARVALHO, Fausto de. Segredos do Som no PC.
Rio de Janeiro: Brasport, 1995.
RAMALHO, Geber; GIOIA, Osman. Musical Instrument Digital Interface.
Apresentação em Power Point.
Disponível em: < http://www.di.ufpe.br/~musica/ >
Acesso em: 22 jan. 2010
MACHADO, André Campos. Tradutor de Arquivos MIDI para Texto Utilizando Linguagem Funcional
CLEAN. Uberlândia: UFU, 2001.
MIDI. In: WIKIPÉDIA, a enciclopédia livre. Flórida: Wikimedia Foundation, 2009. Disponível em: <
http://pt.wikipedia.org/w/index.php?title=MIDI&oldid=17886982 >. Acesso em: 19 jan. 2010.
MIDI 1.0 Specification
International MIDI Association
IMA, 5316 West 57th St., Los Angeles, 1984.
MIDI is the Language of Gods.
Disponível em < http://www.blitter.com/~russtopia/MIDI/~jglatt/ >
Acesso em: 19 jan. 2010
MIESSNER, Benjamin F. ELECTRONIC MUSIC AND INSTRUMENTS
Disponível em: < http://www.discretesynthesizers.com/archives/miessner/em1936.htm >
Acesso em: 23 jan. 2010
/