Skicka och ta emot MIDI med Arduino (2 / 11 steg)
Steg 2: Lite om MIDI-protokoll
Här ges en verkligen grundläggande översikt av MIDI-termer och begrepp.
MIDI-meddelanden är består av två komponenter: kommandon och data-byte. Kommandobyte berättar det MIDI-instrumentet vilken typ av meddelande skickas och den efterföljande data byte lagrar faktiska data. Till exempel ett kommandobyte kan berätta ett MIDI-instrument som det går för att skicka information om pitchbend och databyte beskriver hur mycket pitchbend.
MIDI-data byte varierar från 0 till 127. Konvertera dessa tal till ett binärt och vi ser allt från 00000000 till 01111111, viktigt att notera här är att de alltid börjar med 0 som den mest signifikanta biten (MSB). MIDI kommandot byte mellan 128 och 255, eller 1000000 till 11111111 i binär. Till skillnad från data-byte börja MIDI-kommandot byte alltid med en 1 som MSB. Denna MSB är hur ett MIDI-instrument gör åtskillnad mellan ett kommandobyte och en databyte.
MIDI-kommandon uppdelas ytterligare av följande system:
Första halvan av MIDI kommandobyte (de tre bitarna efter MSB) anger vilken typ av kommando. Mer information om betydelsen på vart och ett av dessa kommandon är här.
10000000 = Obs av
10010000 = Obs på
10100000 = aftertouch
10110000 = fortlöpande kontroller
11000000 = patch ändra
11010000 = kanal tryck
11100000 = pitch bend
11110000 = icke-musikaliska kommandon
Sista halvan av kommandobyte anger den MIDI-kanalen. Alla de byte som anges ovan skulle vara i kanal 0, kommandot byte slutar i 0001 skulle vara för MIDI-kanal 1 och så vidare.
Alla MIDI-meddelanden börja med ett kommandobyte, vissa meddelanden innehåller en databyte, andra innehåller två eller fler (se bilden ovan). Till exempel en anteckning på kommandobyte följs av två data-byte: Obs och hastighet.
Jag kommer att förklara hur man använder Obs på, notera av, hastighet och pitchbend i detta instructable, eftersom dessa är de vanligaste kommandona. Jag är säker på att du kommer att kunna dra slutsatser om hur du ställer in de andra i slutet av detta.