Musical Instrument Digital Interface

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
Voorbeeld van de muziek gemaakt in MIDI-formaat
In vet de centrale c en de a=440Hz (de kamertoon)

MIDI is een acroniem, dat staat voor Musical Instrument Digital Interface. Het is een digitaal systeem (en protocol) waarmee elektronische (muziek)instrumenten in realtime muzikale informatie kunnen uitwisselen.

Kenmerken[bewerken]

MIDI werkt met commando's, waarin versleuteld bijvoorbeeld "selecteer nu instrument 72" , "laat nu een Fis horen" en "voeg nu vibrato toe" worden verstuurd. Het is een soort elektronisch 'notenschrift'. Hoe het geluid uiteindelijk klinkt hangt af van de gebruikte synthesizer of geluidskaart. De muziekkaart van een laptop produceert doorgaans een minder fraai geluid dan een professionele synthesizer.

Elektronische muziekinstrumenten bestaan uit een gebruikersinterface (bijvoorbeeld een keyboard-toetsenbord) en een synthesizer. MIDI OUT maakt het mogelijk om de commando's van een toetsenbord naar een andere synthesizer (of ander MIDI-apparaat) te leiden, die deze ontvangt op MIDI IN. De synthesizer van eerstgenoemd instrument en het toetsenbord van het tweede instrument worden in dit voorbeeld niet gebruikt.

MIDI-commando's kunnen ook worden opgeslagen in bestanden. In de zogenaamde standaard MIDI-bestanden (met de extensie .MID) wordt tussen de commando's vastgelegd, hoe lang er gewacht moet worden voordat het volgende commando moet worden gegeven. MIDI-files kunnen handmatig worden aangemaakt met speciale sequencerprogrammatuur, maar ook door de MIDI signalen van een MIDI-muziekinstrument dat door een muzikant wordt bespeeld op te nemen. MIDI-files kunnen worden afgespeeld op of via synthesizers, en ook de meeste computers hebben tegenwoordig MIDI-ondersteuning. Een MIDI-geluidsbron heeft doorgaans 'banken' waarin voorgebakken geluiden zijn opgeslagen, die via MIDI-commando's kunnen worden afgespeeld. Ook zijn er programma's die via MIDI gesampelde geluiden kunnen afspelen, die bijvoorbeeld op CD, DVD of harde schijf zijn opgeslagen.

Op internet zijn heel veel MIDI-bestanden te vinden. Omdat MIDI-bestanden uit commando's bestaan, zijn zij ook betrekkelijk eenvoudig te bewerken. Zo kunnen instrumenten worden toegevoegd of verwijderd, en kan het tempo worden gewijzigd zonder dat de toonhoogte verandert, of kan juist de toonhoogte worden veranderd zonder het tempo te wijzigen. Aan de productie van MIDI-bestanden hoeft geen uitvoerend kunstenaar te pas te komen, of men zou degene die het MIDI-bestand invoert (bijvoorbeeld direct van de bladmuziek) als zodanig moeten aanmerken. Sommige MIDI-files zijn bepaald kunstzinnig, terwijl andere heel mechanisch klinken.

Computers, synthesizers, keyboards, sequencers, en veel andere elektronische instrumenten, opname-apparatuur en effect-apparaten werken veelal met MIDI.

Behalve voor muziekinstrumenten kan MIDI ook gebruikt worden voor andere toepassingen, in plaats van tonen kunnen dan bijvoorbeeld lampen aan- en uitgezet worden.

De MIDI-standaard definieert ook de vorm van de stekkertjes en de bijbehorende stopcontacten (DIN-5). Maar het is natuurlijk ook mogelijk om MIDI-signalen via andere hardware door te geven, mits zender en ontvanger dezelfde hardware ondersteunen. Er valt te denken aan mLAN-, USB- en IEEE(Firewire)-aansluitingen.

Geschiedenis[bewerken]

Het MIDI-protocol is in 1982 en 1983 ontwikkeld door een groep van Amerikaanse en Japanse synthesizerfabrikanten, die de wildgroei aan verbindingsmethoden wilden beteugelen. In 1983 verschenen de eerste synthesizers (van Sequential Circuits en Roland) met een MIDI-aansluiting. Sindsdien wordt praktisch elke synthesizer geleverd met een MIDI-aansluiting. Ook al is het protocol inmiddels meer dan 25 jaar oud, het geldt nog steeds als de universele standaard om muziekinstrumenten op elkaar aan te sluiten.

De opkomst van MIDI heeft gezorgd voor het einde van het fenomeen van de muur van synthesizer-klavieren zoals dat in de 1970er en 1980er jaren in de popmuziek vaak te zien was (Rick Wakeman, Keith Emerson). MIDI maakte het mogelijk meerdere synthesizers, die ergens in een kast stonden, te besturen vanaf een enkel keyboard. Zo'n synthesizer zonder klavier wordt een module genoemd. Via één enkele MIDI-poort kunnen tot 16 verschillende apparaten aangestuurd worden, of tot 16 verschillende kanalen in een multitimbraal instrument.

Vandaag de dag wordt MIDI het meest gebruikt in studio's in combinatie met een sequencer, die vaak het hart van de studio is. In dit geval neemt MIDI de taak van de instrumentalist over. Het grote voordeel hiervan is, dat muzikale informatie snel en flexibel bewerkt kan worden.

Het ligt in de lijn der verwachting dat uiteindelijk de speciale MIDI-aansluitingen het veld zullen moeten ruimen voor (goedkoper te produceren) massaproducten als USB.

Het protocol[bewerken]

Om MIDI-communicatie te kunnen bewerkstelligen moet ieder apparaat, zowel fysiek als communicatief, voldoen aan het MIDI-protocol.

Aansluitingen en kabels[bewerken]

Een apparaat kan over een of meerdere MIDI-connectoren beschikken. Een connector is altijd een vrouwelijke 180° 5-pin DIN-connector. De pinnen 4 en 5 worden gebruikt, eventueel kan een afscherming op pin 2 aangesloten zijn. Er bestaan drie verschillende connectoren:

Typische MIDI-aansluitingen en een MIDI-kabel
  • Een MIDI IN, via deze aansluiting ontvangt een apparaat MIDI-boodschappen die door het apparaat verwerkt worden.
  • Een MIDI OUT, boodschappen die een apparaat zelf genereert (bijvoorbeeld door middel van een klavier) worden via deze aansluiting verzonden.
  • Een MIDI THRU, alle boodschappen die via de MIDI IN binnen komen worden direct en onveranderd weer via de MIDI THRU verzonden. Deze wordt gebruikt om verschillende apparaten serieel aan één bron aan te sluiten.

Een MIDI IN dient altijd verbonden te worden met de MIDI OUT of MIDI THRU van een ander apparaat. Dit gebeurt door middel van een MIDI-kabel. Deze kabel bevat aan beide uiteinden een mannelijke 180° 5-pin DIN-connector en mag niet langer zijn dan 15 meter. Er vindt seriële communicatie plaats, die voor iedere aansluiting eenzijdig (simplex) verloopt. De OUT verstuurt stroompulsjes die in de IN via een optocoupler ingelezen worden om storing door aardlussen te voorkomen. De gebruikte bandbreedte is 31,25 kbit/s, wat voor de meeste toepassingen afdoende is, maar wat bij "volle" multitimbrale orkestraties tot kleine, maar storende vertragingen leidt.

Communicatie[bewerken]

Over een MIDI-verbinding wordt geen geluid verstuurd, noch digitaal noch analoog, maar alleen de besturingsboodschappen, die toonhoogte, volume en dergelijke aangeven. In feite komt MIDI overeen met een partituur of een draaiorgelboek.

MIDI voorziet in 16 onafhankelijke kanalen per verbinding, alsof er van de MIDI OUT van het ene apparaat 16 draden parallel gekoppeld zijn aan de MIDI IN van een ander apparaat. Van ieder apparaat kan worden ingesteld naar welk kanaal het moet 'luisteren'; informatie op andere kanalen wordt genegeerd. Multitimbrale apparaten kunnen echter boodschappen van meerdere of alle kanalen tegelijkertijd onafhankelijk verwerken. In een MIDI-boodschap kan bijvoorbeeld staan: zet op kanaal 7 noot c3 (c in het 3e octaaf) aan op volume 110. Of selecteer nu op kanaal 4 klank nummer 37.

Boodschappen[bewerken]

In het MIDI-protocol komen de volgende boodschappen voor:

  • Kanaalspecifieke boodschappen hebben invloed op een van de 16 kanalen. De eerste twee parameters van zulke boodschappen beschrijven om welke soort boodschap het gaat en op welk kanaal deze boodschap invloed moet hebben. Deze twee parameters zijn samengevoegd tot één byte.
    De betekenis van de overige parameters verschillen per soort. Deze parameters zijn 7-bits, wat betekent dat ze een bereik van 0 tot 127 hebben. Voor sommige doeleinden kan dit bereik te klein (of te grof) zijn. De oplossing hiervoor is, zoals dat bij Pitch Bend is toegepast, om twee bytes te combineren voor één parameter. De bytes worden dan respectievelijk MSB (Most Significant Byte) en LSB (Least Significant Byte) genoemd. Het MIDI-protocol kent de volgende kanaalspecifieke boodschappen:
    • Note-on triggert een toon. De parameters van een note-on zijn toonhoogte en aanslagsnelheid (velocity).
    • Note-off stopt een reeds klinkende toon. De parameters van een note-off zijn toonhoogte en een zogenoemde release-velocity, die nauwelijks wordt ondersteund. Een note-off moet altijd vooraf gegaan worden door een corresponderende note-on. Overigens wordt een note-on met een velocity van 0 algemeen geaccepteerd als een note-off.
    • Control change verandert een bepaalde eigenschap van de klank, zoals volume, stereopositie (panning), hoeveelheid galm, vibrato, etc. De eerste parameter is het zogeheten controllernummer en bepaalt om welke eigenschap het gaat. De tweede bepaalt de hoeveelheid van die eigenschap. Om een expressie als volume- en helderheidsverschillen binnen een toon na te bootsen, zijn control changes essentieel. Een control change wordt ook wel controller genoemd.
    • Program change kiest een bepaalde klank. Er is slechts één parameter: het nummer van de te kiezen klank, dat tussen 0 en 127 ligt.
    • Pitch bend 'buigt' de toonhoogte van een toon geleidelijk omhoog of omlaag. Omdat 127 stapjes hiervoor te grof zijn bestaat deze boodschap uit twee parameters die samengevoegd zijn tot één parameter met een 14-bits resolutie die 16.384 verschillende waardes kan aannemen. Pitch bend wordt onder andere gebruikt om glijdende tonen (glissando) na te bootsen, die een trombone of een viool kunnen produceren.
    • Aftertouch. Voor toetsenisten is aftertouch een hulpmiddel om meer expressie te genereren. Dit wordt niet op alle synthesizers en modules ondersteund. Door op een ondersteunende synthesizer een reeds aangeslagen toets harder in te drukken, worden aftertouch-boodschappen verstuurd. Er is slechts één parameter: de hoeveelheid aftertouch. Meestal beïnvloedt aftertouch het volume, klankkleur of vibrato van de klank (zie ook Aanslaggevoeligheid).
    • Poly-aftertouch. Identiek aftertouch, echter met als verschil dat poly-aftertouch onafhankelijk per toon werkt. Er zijn twee parameters: de toon waarop aftertouch wordt toegepast en de hoeveelheid aftertouch.
  • Globale boodschappen hebben een betekenis van algemener aard.
    • Een System Exclusive-message verandert een specifieke parameter op een specifieke module of wordt gebruikt voor speciale functies. Zie verder ook hieronder.
    • Een MIDI-verbinding wordt ook gebruikt om te synchroniseren. Dit om te voorkomen dat twee apparaten met een sequencer of andere tempoafhankelijke elementen aan boord muzikaal uit de pas lopen. Zo kan synchronisatie tussen een sequencer en een drumcomputer gerealiseerd worden.

Bank change[bewerken]

De meeste apparaten hebben dikwijls meer dan 128 klanken aan boord. Het bereik van een Program Change is dus niet altijd voldoende. Dit bereik kan echter aanzienlijk worden vergroot door het gebruik van banken. Een bank is een verzameling van maximaal 128 verschillende klanken. MIDI verleent ruimte voor 16.384 klanken. Met behulp van Control Change met controllernummer 0 (MSB - Most Significant Bit) en 32 (LSB - Least Significant Bit) kan een bank worden gekozen. De tweede parameter bepaalt dan om welke bank het gaat. Het apparaat, dat de bankchange ontvangt, wacht nu op een Program Change. Zodra ook die is verstuurd, schakelt het ontvangende apparaat over naar het gevraagde geluid, in de gevraagde bank.

MIDI-bestanden[bewerken]

Een MIDI-bestand (computerbestand met .MID-extensie) bevat een reeks MIDI-boodschappen. Tussen iedere boodschap zit een tijdsinterval. Dit maakt het mogelijk om melodieën en zelfs complete muziekstukken op te slaan als een bestand. Een MIDI-bestand is veel compacter dan digitale geluidsbestanden van dezelfde duur, zoals bestanden in het .WAV of zelfs het .MP3 formaat, omdat dit bestand niet het geluid zelf bevat maar alleen instructies om geluid te produceren. MIDI-bestanden lossen voor een groot deel het probleem op, dat twee verschillende software-sequencers geen bestanden konden uitwisselen.

Het nadeel van MIDI-bestanden is dat de geluidskwaliteit afhankelijk is van de kwaliteit van de gebruikte synthesizer of pc-muziekkaart. Vooral klassieke muziek kan via MIDI synthetisch klinken. Dit is ook afhankelijk van de hoeveelheid controllers die een MIDI-bestand bevat. Hierdoor krijgen veel mensen de indruk dat MIDI slecht klinkt, terwijl de klankkwaliteit niet door MIDI wordt bepaald. In feite is een MIDI-bestand een digitale variant van een draaiorgelboek. Het grote voordeel van MIDI is echter de flexibiliteit. MIDI-bestanden kunnen met speciale editors en sequencers worden bewerkt. Bij het afspelen kan heel eenvoudig het tempo of de toonhoogte worden veranderd, of een instrument worden weggelaten. Bovendien kunnen MIDI-bestanden door middel van speciale software eenvoudig in partituren worden omgezet.

Het internet is rijk aan MIDI-bestanden. Doorgaans zijn deze gemaakt volgens de General MIDI-standaard (zie onder).

Standaardisaties[bewerken]

Zoals gezegd schrijft MIDI alleen de syntaxis van de communicatie voor. In principe is het aan iedere fabrikant van synthesizers en modules vrij hoe de klanken genummerd worden (bereikbaar via program change). In studio's vormt dit niet echt een probleem, maar bij de uitwisseling van MIDI-files wel. Zo is er een MIDI-boodschap om instrument 72 te selecteren, maar wat voor geluid daarmee correspondeert laat de oorspronkelijke standaard open. Het resultaat was dat een MIDI-file dan alleen voor specifieke keyboards en modules geschikt was. Dezelfde MIDI-file resulteert in verkeerde geluiden op een andere module.

Om dit euvel te verhelpen is General MIDI ontwikkeld. Deze standaard bevat onder meer een vaste indeling van de klanken, waar bijvoorbeeld instrument 72 als een klarinet moet klinken.

Verder hanteert iedere fabrikant enkele vaste toewijzingen van controllers. Control change nummer 7 staat bijvoorbeeld voor het volume en nummer 10 voor de stereopositie (panning).

System Exclusive[bewerken]

Volledige compatibiliteit is echter nog steeds niet gewaarborgd. Daar zijn verschillende redenen voor. In de eerste plaats wordt MIDI doorgaans gebruikt om synthesizers aan te sturen, en iedere synthesizer heeft zijn eigen functionaliteit met talloze filters en opties voor bijvoorbeeld de aanslag en het wegsterven van tonen. De MIDI-standaard voorziet daarin met System Exclusive-boodschappen, die een fabrikantcodeveld bevatten en die door fabrikanten naar eigen goeddunken kunnen worden ingevuld. Worden zulke boodschappen naar een synthesizer van een ander merk verstuurd, dan worden deze genegeerd. Het resultaat kan al dan niet aanvaardbaar zijn.

Toepassingen[bewerken]

Het meest toegepaste gebruik van MIDI is dat de computer via een MIDI-interface boodschappen naar een of meerdere synthesizers of modules stuurt. Een MIDI-interface is een apparaat, dat aan de computer gekoppeld wordt om zo de computer van enkele MIDI IN- en OUT-poorten te voorzien.

Maar er hoeft geen pc aan MIDI te pas te komen. Zo kan MIDI ook worden gebruikt om de gebruikers-"interface" (een MIDI-controller), waar een muzikant mee te maken heeft, te koppelen met een afzonderlijke module die van de MIDI boodschappen geluid maakt zoals een mobiele telefoon. Zo zijn er niet alleen MIDI-toetsenborden, maar ook MIDI-gitaren en MIDI-saxofoons.

Het is mogelijk bladmuziek direct in een MIDI-file om te zetten, door de noten in te voeren of de partituur in te scannen. Doorgaans bieden zulke editors de mogelijkheid om MIDI-files af te drukken in notenschrift.

Het omzetten van digitale geluidsfiles, bijvoorbeeld de muziek, die op een cd staat, in MIDI-formaat is in theorie wel mogelijk (met spectrumanalyse) maar zeer complex omdat dit een programma vergt dat instrumenten kan herkennen. MIDI-files zijn wel zeer geschikt om het werk van een "levende" pianist vast te leggen. Met MIDI kan eventueel ook een speciale echte piano - met snaren - worden aangestuurd. Zo krijgt men een elektronische pianola. Een voorbeeld hiervan is de Disklavier van Yamaha.

MIDI-program change-commando's worden ook gebruikt voor het wijzigen van parameters van programmeerbare effectapparatuur en instrumentenversterkers. Ook de lichtshow kan met MIDI aangestuurd worden, hoewel het DMX-512-protocol daar beter voor geschikt is.

De gemiddelde pc-gebruiker heeft geen MIDI-interface nodig om MIDI te kunnen gebruiken. MIDI-files, die gedownload zijn van internet, kunnen met bijvoorbeeld de QuickTime Player of Windows Media Player worden afgespeeld via de interne muziekkaart, die inmiddels op de meeste computers standaard aanwezig is. In de regel voldoen zulke kaarten aan General MIDI.

Beperkingen[bewerken]

Door de snelheid van 31,25 kbit/s duurt het versturen van een enkele MIDI-boodschap van drie bytes ongeveer 1 milliseconde. Hierdoor kunnen noten nooit absoluut gelijktijdig aan- en uitgezet worden. Meestal is deze minieme vertraging niet hoorbaar, maar als een "volle" multitembrale orkestratie over een enkele MIDI-kabel verstuurd wordt kunnen ze storend merkbaar worden. De noten komen dan net niet meer op het goede moment, zodat de ritmesectie bijvoorbeeld net niet strak meer op de tel speelt. Ook wanneer er na een note-on commando door een technisch defect (bijvoorbeeld een slecht functionerende MIDI-kabel) een note-off commando ontbreekt, kan deze toon blijven doorklinken tot de synthesizer manueel gereset wordt, wat natuurlijk zeer storend is tijdens een live optreden.

Externe link[bewerken]