Een MIDI controller/keyboard met USB aansluiting?

Het ontstaan van MIDI

In de jaren tachtig zocht men een manier om synthesizers en computers met elkaar te kunnen laten communiceren. Voor die tijd was een synthesizer een instrument op zich, met een keyboard en een gedeelte dat het geluid genereerde. Met de opkomst van de personal computer werd de behoefte steeds groter om die twee apparaten met elkaar te kunnen laten samenwerken. Dat zou een universele afspraak moeten zijn, zodat apparaten van verschillende fabrikanten met elkaar konden praten. Na een kort leven als UMI ontstond zo MIDI, de Musical Instruments Digital Interface.

Hoe werkt MIDI

De MIDI norm bestaat uit een protocol en een interface. Lees vooral verder als deze termen je niets zeggen. Het betekent zo ongeveer dat er afspraken zijn over de taal die de apparaten spreken en de manier waarop ze verbonden zijn. Er zijn binnen het protocol natuurlijk afspraken over de onderwerpen waarover ze kunnen praten, dat noemen we maar even het vocabulaire. Je keyboard zal je computer niet vragen om een foto te nemen.

Het vocabulaire

Om met het laatste te beginnen, waarover kunnen onze apparaten van gedachten wisselen? Dat is vrij beperkt. De bekendste signalen zijn note on en note of, ze geven aan dat je een toets indrukt en weer loslaat. Met deze commando's wordt meegegeven om welke toets het gaat en hoe snel hij wordt ingedrukt respectievelijk losgelaten. Zoals bijna overal in MIDI zijn er 127 mogelijke waarden. Dus 127 mogelijke toetsen, die op maximaal 127 verschillende snelheden worden bediend.

Je pitch-wheel en je aftertouch geven soortgelijke signalen af. Die eerste is trouwens direct een uitzondering op het maximum van 127 waarden. 

Dan zijn er de CC messages. CC staat voor Continuous Controller, al betekende het oorspronkelijk Control Change. Je mod-wheel genereert de bekendste, CC#1, Zo zijn er meer nummers gereserveerd: CC#2 is voor de breath controller, CC#7 het volume en CC#11 de expressie. Steeds weer geven ze een waarde tussen 0 en 127 mee. Ook je sustainpedaal geeft via een eigen message door in welke stand hij staat: CC#64. Die heeft dan weer maar twee standen: aan of uit.

Tenslotte kent MIDI nog een kloksignaal voor het tempo en sysex messages, die door elke fabrikant vrij zijn te gebruiken voor eigen functies.

Het digitale protocol

Nu we weten waarover onze muzikale vrienden kunnen praten kunnen we kort iets zeggen over de taal waarin dat gebeurt. Digitaal natuurlijk, en op een manier die we tegenwoordig erg simpel en vooral erg langzaam vinden. Maar wel heel efficiënt overigens. MIDI praat in korte woorden, messages. We gaan je niet vermoeien met bits en bytes, maar die keuze voor efficiëntie (en dus korte messages) uit de jaren tachtig maken wel dat we nog steeds met die 127 mogelijke waarden opgescheept zitten. Is dat een probleem? Ja, zo langzamerhand wel. Daarom wordt er nu gewerkt aan MIDI 2.0.

Wat zijn MIDI kanalen?

De ontwerpers van de MIDI norm bedachten dat handig zou zijn als je met één kabel meerdere apparaten zou kunnen bedienen. In plaats van over verschillende draden worden die kanalen allemaal over het zelfde draadje verstuurd, door bij elke boodschap te vermelden over welk kanaal het gaat. Om praktische redenen was er ruimte voor 16 kanalen. Bij elk apparaat geef je aan naar welk kanaal hij moet luisteren of, als je daar geen behoefte aan hebt, naar alle kanalen tegelijk. Een slim idee. Maar je kunt ook verschillende kanalen binnen één apparaat gebruiken. Verwarrend, maar het geeft wel extra mogelijkheden.

De MIDI aansluiting

De fysieke aansluiting, de ronde DIN plug, is ook zo'n relikwie uit een ver verleden. Hij was eigenlijk al zo'n beetje uitgestorven in de audio-wereld toen in 1983 de eerste fabrikanten op het idee kwamen om hem te hergebruiken voor MIDI. Wat wel een heel goed idee was: naast een ingang en een uitgang bedachten ze een tru aansluiting. Deze geeft het signaal door (na buffering), waardoor je MIDI apparaten kunt doorlussen. Door het bestaan van de verschillende kanalen luisteren ze dan toch elk naar hun eigen signaal.

MIDI over USB

En toen veroverde USB de computerwereld. Een universele aansluiting met eigen protocol die op elke computer zit, in tegenstelling tot de ronde MIDI-aansluiting. Veel handiger dus om je keyboard of controller ook met USB aan te sluiten. Met nog een voordeel trouwens: USB kan ook de stroom voor je keyboard of controller verzorgen. En bovendien: het heeft een veel grotere snelheid.

Alleen maar voordelen dus? Ja, heel veel, maar wel een paar kleine probleempjes. Onze apparaten praten nog steeds MIDI, en daar houden we ons voorlopig aan. We moeten dus die MIDI boodschappen inpakken in USB signalen. En dat is niet heel efficiënt. Waar een MIDI signaal op elk gewenste moment kan starten zijn hier bij USB andere afspraken over gemaakt: de computer bepaalt waanneer hij klaar is voor de ontvangst. En je USB controller heeft meer te doen: je muis en andere randapparaten willen ook aandacht. Je kunt je dus voorstellen dat er timing-problemen kunnen optreden en vertraging. Gelukkig valt het in de praktijk wel mee, omdat USB veel sneller is.

Heb je een driver nodig voor je USB controller?

Nee, normaalgesproken niet, of tenminste niet voor de normale MIDI functies. Windows en MacOS hebben een systeemdriver ingebouwd die de standaard MIDI signalen uit het USB signaal halen en doorgeven aan je software. Er zijn wel controllers met speciale functies die wel de installatie van eigen software vereisen. Check hiervoor even de documentatie van je controller. Meestal is het plug and play!