M usical i nstrument d igital i nterface
This presentation is the property of its rightful owner.
Sponsored Links
1 / 48

M usical I nstrument D igital I nterface PowerPoint PPT Presentation


  • 80 Views
  • Uploaded on
  • Presentation posted in: General

M usical I nstrument D igital I nterface. 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

Download Presentation

M usical I nstrument D igital I nterface

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


M usical i nstrument d igital i nterface

MusicalInstrumentDigitalInterface

Geber Ramalho & Osman Gioia


Roteiro

Roteiro

  • Introdução

  • Hardware

  • Protocolo (Tipos, funções e formato das mensagens MIDI)


Introdu o

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

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 o1

Introdução

  • Duas grandes sacadas

    • É uma interface padrão

    • Separa o controlador do gerador de som


Introdu o conseq ncias

Introdução: conseqüências

  • Possibilita existência de vários tipos de controladores

    • ex. teclado, bateria, guitarra, flauta, ...


Introdu o conseq ncias1

Introdução: conseqüências

  • Possibilita comunicação (bidirecional) entre equipamentos musicais e computadores


Introdu o conseq ncias2

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


Introdu o conseq ncias3

Introdução: conseqüências

  • Também facilita uso/desenvolvimento de software específicos a um dispositivo

    • ex. editores de patch


Introdu o conseq ncias4

Introdução: conseqüências

  • Pode ser utilizado para controle e sincronismo de equipamentos não-musicais

    • ex. luzes do palco, mesa de som, etc.


Hardware

Hardware


Hardware portas midi

Hardware: Portas MIDI

  • Transmissão de dados

    • serial assíncrona e unilateral

    • taxa 31.250 bits por segundo

    • usa portas

  • Porta MIDI de um equipamentomusical

    • 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 midi1

Saída

MIDI thru

Entrada

Saída

Repetidor

Receptor

Transmissor

MIDI

MIDI

Circuitos Internos

do Dispositivo

MIDI

Entrada/Saída

Analógicas

Hardware: Portas MIDI


Hardware portas midi2

Tocar

Seqüência

Gravar

Seqüência

HardwareSequencer

HardwareSequencer

out

in

thru

in

Synthesizer 1

Synthesizer 1

thru

in

thru

in

Synthesizer 2

Synthesizer 2

Midi Sources

thru

in

MIDI Patch Bay

out

in

KeyboardSampler

KeyboardSampler

Midi Destinations

Hardware: Portas MIDI

  • Dois exemplos de interligação de dispositivos

  • MIDI Patch Bay

    • Alternativa à conexão em cascata

    • Roteia diretamente evitandoatraso


Hardware midi computer interface

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

Hardware: Canais MIDI

  • Pergunta

    • 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

Teclado

1

2

Split Point

Canais MIDI

Computador

  • Exemplo

Placa MIDI

in

out

Sintetizador 1

(10 vozes multitimbral)

1a 10

Sintetizador 2

(4 vozes multitimbral)

11 a 14

Unidade deEfeito 1

15

Unidade deEfeito 2

16


Hardware canais midi1

Hardware: Canais MIDI

  • Canal Base

    • 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

Protocolo (Mensagens MIDI)


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

Exemplo de Tabela de Implementação MIDI


Mensagens midi formato

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 formato1

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 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 tipos1

Mensagens MIDI: Tipos

Channel

System

Voice

Mode

Real Time

Common

Sys Ex

Note on

Note off

Key Pressure

Channel Pressure

Control Change

Program Change

Pitch Bend

All Notes Off

Local Control

Omni Off

Omni On

Mono

Poly


Mensagens de canal

Mensagens de Canal

Mensagens de Voz

Mensagens de Modo


Mensagens de voz

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

12

24

36

48

60

72

84

96

108

120

0

C1

C2

C3

C4

C5

C6

C7

C8

127

Tecla

Mensagens de Voz: Note On/Note Off

  • Note On

    • 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


Mensagens de voz note on note off1

0

64

127

Velocity

off

ppp

pp

p

mp

mf

f

ff

fff

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)


Mensagens de voz note on e note off

Mensagens de Voz: Note On e Note Off

  • 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

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

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

Mensagens de Voz: Program Change

  • 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

Mensagens de Voz: Control Change

  • Control Change

    • Usada para mudar volume, modulação e outras qualidades sonoras do sintetizador

    • 120 controles


Mensagens de voz control change1

0, 32 Seleção de Banco (somente MSB)

1Modulação

2Embocadura

4Pedal

5Tempo de Portamento

6, 38Entrada de Dados

7Volume

8Balanço

10Estereofonia

11Expressão

64Sustentação 1 (Booleano)

65Portamento (Booleano)

66Sostenuto (Booleano)

67Abafador (Booleano)

69Sustentação 2 (Booleano)

91Reverberação

92Tremolo

93Chorus

94Desafinador

95Modificador de Fase

98, 99NRPN (LSB, MSB)

100, 101RPN (LSB, MSB)

120 Cancela todas as Notas

121 Zera todos os controladores

Mensagens de Voz: Control Change


Running status

Running Status

  • Definição

    • 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

Usar Midi Monitor


Mensagens de modo

Mensagens de Modo

  • Mensagens de Modo

    • 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 modo1

Mensagens de Modo


Mensagens de modo2

Mensagens de Modo

  • Mensagens (1)

    • 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

Sintetizadores

  • Monofônicos x Polifônicos

    • 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

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 o1

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 o2

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 do sistema

Mensagens do Sistema

Mensagens Comuns

Mensagens Tempo Real

Mensagens Exclusivas


Mensagens do sistema1

Mensagens do Sistema

  • System Common

    • 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

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

Exemplo de Fluxo de Dados MIDI


  • Login