MIDI-signaler blev oprindeligt udviklet som et middel til at kommunikere mellem to elektroniske instrumenter, såsom tastaturer og synthesizere . Over tid, var de protokoller tilpasses og udvikles til at arbejde med de interne synthesizere indenfor hjemmecomputere og personlige elektronik. MIDI-signaler indeholder ikke lyddata af deres egne. De har simpelthen overføre instruktioner til hardware, som derefter genererer lydsignaler baseret på disse vejledninger . Status Bytes eller kommando Bytes
Hver MIDI transmitterede signal indeholder mindst én byte , selv om to bytes er mere almindelige og flere bytes kan undertiden anvendes . Den første af de to eller flere bytes i en MIDI- signal er kendt som kommandoen byte eller status-byte . Hver byte indeholder en serie af 8 databit . Status byte er unik blandt andre bytes i signalet i , at hans indeholder en instruktion i syvende bit i sin serie. Andre bytes i et MIDI -signal ikke har en instruktion til stede i deres syvende bit. Den syvende bit normalt instruerer en note om en specifik kanal for at tænde eller slukke , men andre instrukser kan være indeholdt som godt. Disse omfatter en " aftertouch " indstilling, som simulerer nøglen pres , såvel som ændringer i banen og kontrol af noten.
MIDI-kanaler
MIDI-enheder fungerer 16 lydkanaler . Hver af disse kanaler er konfigureret til at spille en bestemt stemme . For eksempel kan den ene kanal spiller en syntetiseret guitarlyd , mens en anden spiller en klaverlyd og endnu en spiller slagtøj. De fleste MIDI-enheder vise disse kanaler nummereret fortløbende fra 1. til 16. , selv om oplysningerne i MIDI status-byte vises i hexadecimal , eller base seksten format. Hexadecimale tal er repræsenteret ved tallene 0 til 9 og bogstaverne A til F , så det hexadecimale tal 0 faktisk repræsenterer det første MIDI-kanal , eller kanal én. Hexadecimal nummer 1 repræsenterer den anden MIDI-kanal , og så videre, med A til F , der repræsenterer kanalerne 11 til 16. .
Kommandoer og Kanaler
Hver kommando byte indeholder to typer data . Betydeligt , den ene halvdel af byte indeholder MIDI-kommando . Den anden anden halvdel af byte indeholder kanal data relevante for den pågældende kommando. Disse data vises via to heksadecimaler med den første værdi dikterer kommando og den anden værdi bestemme kanalen . For eksempel vil en hexadecimal værdi på 9A sende noten -on kommando til den elvte MIDI-kanal på enheden.