sinais MIDI foram originalmente desenvolvidos como um meio de comunicação entre dois instrumentos eletrônicos , como teclados e sintetizadores . Com o tempo, os protocolos foram adaptados e desenvolvidos para trabalhar com os sintetizadores internos dentro computadores domésticos e eletrônicos pessoais. Sinais MIDI não contêm dados de áudio de seus próprios. Eles simplesmente transmitir instruções para hardware, o que gera sinais de áudio com base nestas instruções . Estado Bytes ou Command Bytes
Cada sinal MIDI transmitida contém pelo menos um byte , embora dois bytes são mais comuns e às vezes pode ser usado mais bytes. O primeiro dos dois ou mais bytes de um sinal de MIDI é conhecido como o byte de comando e de bytes de estado. Cada byte de dados contém uma série de 8 bits de dados . O byte de status é único entre os outros bytes no sinal em que o seu contém uma instrução no sétimo bit em sua série . Outros bytes em um sinal MIDI não tem uma instrução presente em seu sétimo bit . O sétimo bit normalmente instrui uma nota sobre um canal específico para ligar ou desligar , mas outras instruções podem ser contidos bem . Estes incluem um ajuste " aftertouch " , que simula a pressão chave , bem como mudanças no tom e controle da nota.
Midi Canais
dispositivos MIDI operar 16 canais de som . Cada um desses canais é configurado para desempenhar uma voz particular. Por exemplo, um canal pode ter um som de guitarra sintetizada , enquanto outro tem um som de piano e outro ainda toca percussão . A maioria dos dispositivos MIDI exibir esses canais numeradas de 1 a 16 , embora a informação no byte de status MIDI é exibido em hexadecimal , ou formato de base de dezesseis anos. Números hexadecimais são representados pelos números 0 a 9 e letras de A a F , então o número hexadecimal 0 na verdade representa o primeiro canal de MIDI, ou um canal. Número hexadecimal 1 representa o segundo canal MIDI e assim por diante , com A a F representam os canais 11 a 16.
Comandos e Canais
Cada byte de comando contém dois tipos de dados . Significativamente , uma metade do byte contém o comando MIDI . A outra metade do outro byte de dados contém dados de canal correspondentes a esse comando . Esta informação é apresentada através de dois valores hexadecimais , com o primeiro valor de ditar o comando e o segundo valor de determinação do canal . Por exemplo, um valor hexadecimal de 9A iria enviar a nota no comando para o canal MIDI décimo primeiro do dispositivo.