Musical Instrument Digital Interface

Slides:



Advertisements
Apresentações semelhantes
Flip-Flops e Dispositivos Correlatos
Advertisements

O Modelo OSI O RM-OSI é um modelo de referência p/ interconexão de sistemas abertos (open systems interconection) Padrão ISO 7498, publicado em 1984 Sistemas.
Aula 3 – Transmissão Digital
Redes de computadores I
Redes de Computadores Wandreson Luiz Brandino
Sistemas Multimídia Som
Barramentos Introdução.
Entrada e Saída Introdução.
Chip-Select e Controle de Interrupção
Unidades de Execução e de Controle Sistemas Digitais.
Comunicação local Assíncrona
Endereçamento de hardware e identificação de quadros
Comunicação de longa distância
Protocolos e Divisão em Camadas
Maria Aparecida Castro Livi
Bruno Souza de Oliveira e Rodrigo Nardi
Modelos Fundamentais -> Interação Falhas Segurança.
MODULAÇÃO Conceito de Modulação
Modelo OSI OSI é um modelo de referência para interligação de sistemas abertos (open systems interconection) Padrão ISO 7498, publicado em 1984 Sistemas.
Sinais e tipos de transmissão;
Tópicos em Sistemas Distribuídos
Licenciatura Plena em Computação Camada de Enlace Professor Ivan Pires.
Modelo de referência OSI
Disciplina: Princípios de Redes de Computadores Parte 3
Tópicos em redes e sistemas distribuídos B Carlos Oberdan Rolim Ciência da Computação.
Sistemas Distribuídos
Redes Aula 7 Professor: Marcelo Maia.
Sistemas Operacionais
DISPOSITIVOS DE ENTRADA E SAÍDA
Aula 4 – Redes de Computadores Parte 1
Sistemas Operacionais I
A melhor forma de seu Painel de Alarme estar na Internet.
General MIDI Arquivos MIDI Standard
Entrada e Saída (E/S ou I/O)
Aula – 23/10/12 – Redes de Computadores e Telecom
Estudo de Comunicação Serial (UART)
1 Pacotes, Quadros e Detecção de Erros Nathalie e Renan Copyright 2002 ©
Princípios de Sistemas de Informação
Sistemas Operacionais
Entrada e Saída (E/S).
(OU) Hardware da Rede Implementacao da rede
Troca de Mensagens Programação concorrente
Organização e Arquitetura de Computadores 2ºSemestre Aula 11 – Parte 2 Prof. Carlos Vinícius SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL.
TRABALHO REALIZADO POR: Ricardo costa
Carlos Roberto da Silva Filho, M. Eng.
Laboratório Módulo :00hs às 12:00hs – Sala O15
Protocolo MODBUS [ Slide de Abertura com a presença de outras logomarcas ] A segunda opção é a mais apropriada para a presença de mais de duas marcas.
Transmissões de Dados 2014/2015 Comunicação de Dados
Controlador para Teclado PS2
3 Recursos do Teclado - Conteúdo E-book Teclado Introdução Timbres Elaboração do timbre Uso de acompanhamento automático Material de apoio ao Curso Licenciatura.
Trabalhos de T.I.C..
Princípios de Redes e Topologia de Redes
Musical Instrument Digital Interface
Processador 2014/2015 Comunicação de Dados Ricardo Bento 12ºL.
Camada de Inter-Redes do modelo TCP-IP Endereço IP e DHCP
A música e a voz A música e a voz © 2001 Wilson de Pádua Paula Filho.
Redes de computadores: SubCamada de Access ao Meio (3) Prof. Dr. Amine BERQIA
Escola Básica e Secundária de Velas Curso de Instalação e Operação de Sistemas Informáticos PROFIJ II - T2 – 2.º ano Ano letivo 2014 / 2015 (Módulo.
Características do Hardware Para Multimídia.
Introdução a Informática
Sistemas Operacionais IV – Gerenciamento de E/S
Diagrama em blocos: Hardware de Computadores
Rede de Computadores MAT164 – Redes de Computadores I Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação.
IMC BIOS, SETUP.
Informática Industrial N8INF
1 Redes de computadores e a Internet  1.1 Evolução Histórica das Redes de Dados  1.2 Terminologia de Teleprocessamento  1.3 Formas de Utilização do.
Topologias de redes de compoutadores Redes de Comunicação de Dados Prof. Esp. Cristiano José Cecanho.
Aula: Arquiteturas de redes: modelo de referência OSI 04/12/2010.
DsPIC – Aula 3 Prof. Ricardo Teixeira Especialização em Sistemas Embarcados POLI – UPE.
BARRAMENTO Caminho de Dados.
Transcrição da apresentação:

Musical Instrument Digital Interface Geber Ramalho & Osman Gioia

Roteiro Introdução Hardware Protocolo (Tipos, funções e formato das mensagens MIDI)

Introdução Definição MIDI = 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 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) mas só informações de controle ex. toque Do6 agora com intensidade 64 usando um som de piano. O timbre a ser utilizado (ex. o som do “piano”) é sintetizado no equipamento receptor

Introdução: Histórico Antigamente.... Controle analógico por variações de tensão (V) Interconexão somente entre instrumentos do mesmo fabricante 1983 Sequential Circuits, Oberheim, Roland... primeira versão 1.0 do MIDI

Introdução Duas grandes sacadas É uma interface padrão Separa o controlador do gerador de som

Introdução: conseqüências Permite troca dados entre os mais diversos equipamentos musicais Possibilita existência de vários tipos de controladores ex. teclado, bateria, guitarra, flauta, ... Possibilita comunicação (bidirecional) entre equipamentos musicais e computadores

Introdução: conseqüências Facilita o desenvolvimento de software musicais genéricos ex. editores de partitura, seqüenciadores, sistemas de composição algorítmica Embora MusicXML seja melhor para isto Também facilita uso/desenvolvimento de software específicos a um dispositivo ex. editores de patch Pode ser utilizado para controle e sincronismo de equipamentos não-musicais ex. luzes do palco, mesa de som, etc.

Hardware

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 3 conectores DIN (Deutsch Industrielle Normung) MIDI In MIDI out MIDI Thru (through = através) cópia “amplificada” da entrada

Hardware: Portas MIDI Saída MIDI thru Entrada MIDI Entrada/Saída Receptor Entrada MIDI Repetidor Transmissor Saída MIDI thru Circuitos Internos do Dispositivo Entrada/Saída Analógicas

Hardware: Portas MIDI MIDI Patch Bay Keyboard Sampler in Synthesizer 2 thru Synthesizer 1 Hardware Sequencer out Tocar Seqüência Keyboard Sampler out Synthesizer 2 thru in Synthesizer 1 Hardware Sequencer Gravar Seqüência Dois exemplos de interligação de dispositivos MIDI Patch Bay Alternativa à conexão em cascata Roteia diretamente evitando atraso Midi Sources Midi Destinations MIDI Patch Bay

Hardware: MIDI/Computer Interface As placas atuais têm... Conversor A/D e D/A (como já sabemos...) Sintetizador MIDI Síntese na própria placa (Tabelas de formas de onda - wavetable lookup) Interface MIDI Mandam mensagens MIDI para um sintetizador externo via um adaptador (MIDI Kit) em uma porta USB

Hardware: Canais MIDI Pergunta Canais MIDI: Solução! Estes tipos todos de conexão não geram confusão? Como saber que notas serão tocadas em que equipamento (de uma mesma porta ou não)? Canais MIDI: Solução! É um endereçamento de rede: mensagens processadas só equipamentos “sintonizados” naquele(s) canal(is) 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

Canais MIDI Exemplo Teclado Split Point 1 2 Computador Placa MIDI in out Sintetizador 1 (10 vozes multitimbral) 1 a 10 Sintetizador 2 (4 vozes multitimbral) 11 a 14 Unidade de Efeito 1 15 Unidade de Efeito 2 16

Hardware: Canais MIDI Canal Base Canal de Voz Canal associado a fluxo de eventos com mensagens de modo de operação Informa ao dispositivo a configuração de recebimento das mensagens de voz Cada fabricante tem o seu default (em geral o canal 1) Limitações A configuração é manual: não configurável por software Como não há handshaking (MIDI é unilateral), não se sabe se o equipamento esta recebendo Canal de Voz Canal associado ao fluxo de mensagens de voz (informação realmente musical) Notas, controles, mudanças de programa, etc...

Protocolo (Mensagens MIDI)

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

Exemplo de Tabela de Implementação MIDI

Mensagens MIDI: Formato Mensagens 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 (para complicar!!) 1 cmd cmd cmd : chn chn chn chn 1 cmd cmd cmd : cmd cmd cmd cmd

Mensagens MIDI: Formato Bytes 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

Mensagens MIDI: Tipos 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

Mensagens MIDI: Tipos Channel System Voice Mode Real Time Common Sys Ex Note on Note off Channel Pressure Key Pressure Control Change Program Change Pitch Bend All Notes Off Local Control Omni Off Omni On Mono Poly

Mensagens de Voz Mensagens de Modo Mensagens de Canal Mensagens de Voz Mensagens de Modo

* n = canal (0 = canal 1, F = canal 16) Mensagens de Voz Dizem as notas a tocar, como modificar o som destas * n = canal (0 = canal 1, F = canal 16)

Mensagens de Voz: Note On/Note Off Indica a nota a ser tocada: altura (MIDI key) e intensidade (velocity) 3 bytes Altura Baseada no teclado (afinação temperada, La = 440 Hz) 7 bits => 128 valores (0 a 127) Tessitura = MIDI C0 (8,17 Hz) a G10 (12.543,89 Hz) Do Central (MIDI C5) = 60 (261,63 Hz) Ver em http://www.cin.ufpe.br/~musica/cmps/ Chart_Pitch_1.pdf, ou equivalencia.html 9n key velocity 127 12 24 36 48 72 84 60 96 108 120 C1 C2 C3 C4 C6 C5 C7 C8 Tecla

Mensagens de Voz: Note On/Note Off Intensidade Chamada de velocidade devido à maneira de detectar intensidade em um teclado 7 bits => 128 valores (0 a 127) fff 64 ppp 127 off pp mp mf f ff p Velocity

Mensagens de Voz: Note On e Note Off Liberação de tecla Mesma informação do Note On Duração tempo decorrido entre Note On e Note Off por ser em tempo real, não é possível trabalhar explicitamente com a duração em MIDI a priori Observação importante Usar Note On com velocity = zero dá no mesmo que um Note Off 8n key velocity

Mensagens de Voz: Pitch Bend 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

Mensagens de Voz: Pressão Key Pressure (aftertouch) Enviada por alguns teclados depois de se pressionar a tecla Pode ser interpretada de maneiras diversas ex.disparando um efeito Channel Pressure Igual a anterior mais se aplica à todas as notas do canal, e não a um única tecla

Mensagens de Voz: 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

Mensagens de Voz: Control Change Usada para mudar volume, modulação e outras qualidades sonoras do sintetizador 120 controles

Mensagens de Voz: Control Change 0, 32 Seleção de Banco (somente MSB) 1 Modulação 2 Embocadura 4 Pedal 5 Tempo de Portamento 6, 38 Entrada de Dados 7 Volume 8 Balanço 10 Estereofonia 11 Expressão 64 Sustentação 1 (Booleano) 65 Portamento (Booleano) 66 Sostenuto (Booleano) 67 Abafador (Booleano) 69 Sustentação 2 (Booleano) 91 Reverberação 92 Tremolo 93 Chorus 94 Desafinador 95 Modificador de Fase 98, 99 NRPN (LSB, MSB) 100, 101 RPN (LSB, MSB) 120 Cancela todas as Notas 121 Zera todos os controladores

Running Status Definição Exemplo Caso uma mensagem venha sem status, vale o último Ganha tempo minimizando a redundância do protocolo MIDI Exemplo Pare enviar e relaxar 3 notas => 18 bytes (com Note On e velocity zero servindo de Note Off) 90 3C 40 90 3B 62 90 39 27 ... 90 3C 00 90 3B 00 90 39 00 Com o running status => 13 bytes 90 3C 40 3B 62 39 27 ... 3C 00 3B 00 39 00

Usar Midi Monitor

Mensagens de Modo Mensagens de Modo Formato Servem para definir como cada equipamento vai receber as mensagens de voz Recebidas pelo receptor através de canal base que pode ser fixo ou definido pelo usuário a critério de cada fabricante Formato Byte de status (0xB0 a 0xBF) mais 1 ou 2 bytes de dados

Mensagens de Modo

Mensagens de Modo Mensagens (1) Mensagens (2) Local/Remoto: Conecta/desconecta o controlador local (teclado) do sintetizador interno de som All Notes off: Pânico Mensagens (2) Omni On/Off- Habilita a recepção de Mensagens de voz em qualquer canal Mono/Poli - Responde monofônica ou polifonicamente Estes dois últimos são utilizados conjuntamente para definir os modos de operação 1, 2, 3 e 4

Sintetizadores Monofônicos x Polifônicos Monotimbrais x Politimbrais Polifonia:capacidade de tocar mais de uma nota ao mesmo tempo exemplo: piano, contra-exemplo: flauta Todos sintetizadores MIDI minimamente decentes são polifônicos, porém a polifonia máxima pode variar Monotimbrais x Politimbrais Politimbralidade: capacidade de tocar mais de um timbre (notas de diferentes instrumentos) ao mesmo tempo Todo politimbral é polifônico mais não o inverso Os sintetizadores modernos são politimbrais, os antigos (ex. DX7) não

Modos de Operação Modo 1: Omni On / Poli (ou simplesmente “omni”) Mensagens de voz recebidas em todos os canais Notas alocadas polifonicamente até o limite de polifonia do instrumento Usado para testar a conexão Modo 2: Omni On / Mono Mensagens de voz recebidas em qualquer canal Notas executadas monofonicamente Em total desuso Estes 2 modos são pouco ou não utilizados!

Modos de Operação Modo 3: Omni Off / Poli (ou simplesmente “poli”) Mensagens de voz recebidas somente pelo canal base e as notas alocadas polifonicamente Muito útil para organizar vários sintetizadores monotimbrais mas polifônicos Ex. sintetizador 1 = piano, sintetizador 2 = guitarra, sintetizador 3 = bateria, etc. Pouco usado atualmente

Modos de Operação Modo 4: Omni Off / ex-mono e atual Multi mode (“multi”) Na versão anterior, o sintetizador respondia monofônicamente... atualmente muito usada para sintetizadores multitimbrais Mensagens de voz recebidas em cada um dos canais com cada timbre ficando sintonizado em um canal! Vários sintetizadores em um, pois pode responder a mais de um canal mas não necessariamente todos!

Mensagens Comuns Mensagens Tempo Real Mensagens Exclusivas Mensagens do Sistema Mensagens Comuns Mensagens Tempo Real Mensagens Exclusivas

Mensagens do Sistema System Common Real Time Exclusivas Transportam informações gerais aos sistemas, enviadas para todas as unidades e todos canais Utilizadas para configurar (set) os sintetizadores para tocar uma dada música a partir de uma dada posição no tempo Real Time Mensagens de sincronismo (start, stop, clock) Exclusivas Reservadas para utilização proprietária de cada fabricantes Cada fabricante deverá fornecer explicação detalhada sobre a implementação Sys Ex em cada equipamento

Exemplo de Sys-ex Genérica General MIDI On F0 - Início de Sys-ex 7E - ID number (Universal non-real time message) 7F - Device ID (Broadcast) 09 - sub-ID#1 (General MIDI message) 01 - sub-ID#2 (General MIDI on) F7 - EOX (End of Exclusive) F0 7E 7F 09 01 F7

Exemplo de Fluxo de Dados MIDI