|
|
|
Musical Instrument Digital Interface
Je kunt MIDI gerust beschouwen als één van de bouwstenen van het muziek maken in de (home) studio. Het kan tegelijkertijd ook helaas een struikelblok zijn voor (beginnende) muziekmakers. Naast de tekening van de (oude) studio set-up van Mondial, geef ik een kleine uitleg over MIDI en zijn problemen.
|
|
Er is een groot verschil tussen MIDI en audio. MIDI is een soort besturingssysteem voor instrumenten dat ervoor zorgt dat deze instrumenten d.m.v. ingevoerde gegevens op de computer, geluid kunnen voortbrengen. Deze geluiden zijn door het veranderen van de ingevoerde gegevens, ook nog makkelijk te manipuleren of te wijzigen. Dit in tegenstelling tot een audio bestand waar geen fundamentele veranderingen meer in aan zijn te brengen, zoals het veranderen van een bepaalde muzieknoot in een partij of een program-change in een bepaalde part. Om een MIDI track op CD gebrand te krijgen, moet er wel eerst een audio bestand van gemaakt worden.
Zonder MIDI hadden heel veel homestudio's waarschijnlijk niet eens bestaan, om de doodeenvoudige reden dat mensen die zelfs geen noot kunnen lezen of spelen, dankzij MIDI toch in staat gesteld worden muziek te kunnen maken. Tegelijkertijd zou een studio zonder MIDI haast ondenkbaar zijn, omdat je dan bakken vol converters nodig zou hebben om je apparaten met elkaar te kunnen laten communiceren. Natuurlijk zou het bewerken van je geluiden enz, ook veel en veel moeilijker gaan. MIDI is HET systeem dat computers en synthesizers met elkaar verbind en zorgt dat ze met elkaar kunnen "praten".
MIDI werd ontworpen door Roland, met als doel dat verschillende merken en modellen met elkaar konden synchroniseren. MIDI verscheen in 1983 voor het eerst op de markt en zo'n twee jaar later was bijna iedere synth hiermee uitgerust. MIDI werkt zo eenvoudig mogelijk uitgelegt als volgt:
Alle MIDI gegevens gaan je apparaat binnen via de MIDI-IN poort. Een voorbeeld hiervan is de in-poort op je synthesizer of geluidsmodule die informatie ontvangt (b.v. de noten die je hebt ingetekent in een part) van de sequencer.
Alle MIDI gegevens die b.v. je synthesizer voortbrengt en waarvan je wilt dat andere apparaten dezelfde noten moeten afspelen, worden via de MIDI-OUT poort verzonden. Ook kun je natuurlijk via MIDI-OUT je gespeelde noten naar een sequencer sturen, die ze vervolgens opneemt.
MIDI-THRU stuurt de binnenkomende gegevens van de MIDI-IN poort door naar andere synthesizers, die je hebt gelinkt met een enkele MIDI patch of als daisychain.
Met DAISYCHAIN wordt bedoeld dat je verschillende apparatuur met elkaar verbind op een enkele MIDI aansluiting, door de THRU poorten te gebruiken op een van de apparaten, om de MIDI gegevens door te zenden/lussen naar de volgende. Lus je teveel apparaten door dan wordt de kans op problemen groter, in dit geval kun je beter een MIDI-Interface gebruiken.
 Roland A880 MIDI patcher
|
MIDI-Problemen, oplossingen en Tips
Geen respons meer: Controleer al je MIDI kanalen nog eens. Controleer je MIDI volume en de patch waarmee je problemen hebt. Controleer of de ontvangende synth MIDI-messages kan ontvangen vanuit een andere bron en of de synth die de messages verstuurt dit ook daadwerkelijk doet. Vervang de MIDI kabel
MIDI-loop: Als MIDI gegevens worden teruggestuurd en aankomen op de plek waar ze vandaan komen ontstaat een MIDI-loop, met als gevolg dat je dezelfde gegevens twee maal hoort. Als je met een sequencer werkt, zorg er dan voor dat de Master Controller staat ingesteld op Local-off. Schakel MIDI-thru uit op de sequencer, zodat de sound engine van je synthesizer geen messages meer ontvangt vanaf de sequencer maar alleen vanaf het keyboard.
Noten blijven Hangen: De toon (het geluid) zal gewoon blijven doorklinken wanneer een note-on boodschap niet wordt gevolgd door een note-off boodschap. Het vernieuwen van je kabels kan hier uikomst bieden en als je een lange MIDI keten hebt (meer dan 3 of 4 synths), wordt het mischien tijd voor een MIDI interface.
Ruis door de audio: Controleer of al je apparatuur geaard is. LET OP! - Er mogen beslist geen aardlussen zijn.
Bekabeling: Gebruik voor zowel Midi als Audio altijd zo kort mogelijke kabels om eventuele storing en vervorming te voorkomen. Zorg dat je echte Midi kabels gebruikt en niet de goedkopere Audio DIN kabel. Je kunt een goede Midi kabel makkelijk herkennen doordat op de kabel zelf, of op de verpakking het opschrift "Midi" staat.
|
-Houd de kabels tussen je apparatuur zo kort mogelijk. Het is van groot belang dat het signaal je apparatuur zo accuraat mogelijk bereikt. (Te) Lange kabels kunnen problemen geven omdat ze de MIDI gegevens kunnen verslechteren, waardoor je ineens noten mist of de synth iets heel anders doet dan je verwacht.
-Als je de instrumenten één voor één opmeemt, speel de MIDI track dan solo af, om MIDI problemen te voorkomen gedurende je MIDI playback. Doe je dit niet, dan kan het te druk worden in de MIDI-kabel vanwege het verkeer van alle andere MIDI tracks.
-Voor je (eind) montage is het handig om te weten wat voor nootwaarde (de lengte van een noot) wordt gebruikt in je synth of sequencer in relatie tot de MIDI klok. Als de MIDI klok resolutie 96 tikken per kwart(¼) noot is, dan zijn met wat eenvoudige wiskunde ook de andere nootwaarden uit te rekenen:
|
|
MIDI sporen als AUDIO opnemen: De muziek die je via MIDI hebt gemaakt kun je ook op een audio spoor in je sequencersoftware opnemen. Zoals je in bovenstaande tekening van de Mondial set-up kunt zien, moet je er wel voor zorgen dat de uitgangen van de synths en modules die je gebruikt voor de geluidsweergave van je muziek, via een mengtafel (of direct op de line-ingang van je geluidskaart) op je geluidskaart zijn aangesloten. Let er wel op dat je voldoende opslagcapaciteit hebt, want het omzetten van een MIDI bestand van b.v. 100 kB, wordt al gauw een audio bestand van 25 MB.
Als je nu een audio spoor hebt geselecteerd in je sequencer software (cubase, cool edit pro, enz), en dat audio spoor staat klaar voor opname, speel dan de MIDI-track(s) af die je wilt opnemen en start de opname. Mocht je meerdere MIDI sporen hebben aangemaakt in je sequencer en je wilt er daarvan één opnemen, zorg er dan voor dat je alle andere MIDI sporen op MUTE zet anders komen alle MIDI-sporen tegelijkertijd op één audio kanaal. Wil je wel alle MIDI sporen op hetzelfde audio kanaal hebben, dan kun je de Mute knoppen onberoerd laten. Als de opname(s) is/zijn gemaakt kun je alle MIDI sporen uitzetten en de audio sporen gebruiken om het geluid weer te geven dat dus eerst via MIDI naar de sequencer werd gestuurd. De audio zou je nu verder kunnen bewerken en van eventuele effecten voorzien.
De commando's die in het Midi protocol zijn gedefinieerd, zijn helemaal afgestemd op de mogelijkheden en controllers van toetseninstrumenten die op dat moment (1983) modern waren.
Het belangrijkste onderdeel van een toetseninstrument zijn de toetsen. In Midi is er daarom een commando voor het indrukken van een toets (Note On) en het loslaten van een toets (Note Off). Midi werkt met nootnummers, gebasseerd op de toetsenreeks van een klavier. Midi kent, net als toetseninstrumenten, geen verschil tussen een Fis en een Ges. Andere instrumenten zoals viool, zang, en tot op zekere hoogte ook gitaar kennen dat verschil wel.
Voo de andere onderdelen van een synthesizer zijn ook speciale midi-commando's gemaakt. Er is een Pitchbend commando voor het pitchbendwiel op een synth, en er is een Program Change commando voor de verschillende klankgeheugens op een synth (het was in 1983 nog helemaal niet zo gewoon dat een synth geheugens voor geluiden aan boord had). Het nieuwste van het nieuwste was Aftertouch en daar is ook een apart Midi commando voor gedefinieerd. Kortom, voor alles wat een synthesizer anno 1983 kon versturen werd een Midi-commando bedacht.
Omdat de makers er vanuit gingen dat er in de toekomst nog wel wat nieuwe dingen bij konden komen, hebben ze als soort van reserve het Controller commando gedefinieerd. Een Controller commando op zich is niets. Er zijn 128 Controllers mogelijk en in het Controllernummer wordt aangegeven waar die voor dient.
Zo is voor Controllernummer 1 het Modulationwiel in gebruik. Het is erg vreemd dat voor Pitchbend wel een apart Midi-commando is gemaakt en voor Modulation niet. Die wielen zitten op praktisch elke synthesizer gebroederlijk naast elkaar, links naast de toetsen. Waarom wel een Midi-commando maken voor de ene en niet voor de ander? Maar goed, de reserve was er dus in de Controllernummers voor Modulation. Anders had je die via Midi misschien helemaal niet kunnen versturen.
Ze waren blijkbaar ook vergeten om het sustainpedaal te benoemen, daar is geen apart Midi-comando voor. Geen nood, ook daar maar weer een Controller voor gepakt. Controllernummer 64 in dit geval. De andere pedalen die op een toetseninstrument (met name digitale piano's) gebruikt worden zijn later ook benoemd met Controllers. Voor het Sostennutopedaal wordt Controller 66 gekozen en voor het Softpedaal nummer 67. Waarom niet gewoon doornummeren na nr.64/ Omdat Controller 65 al in gebruik was voor het aan- en uitschakelen van Portamento.
Die hele range van 128 Controllers werd dus gebruikt als vergaarbak voor alle functies waarvoor geen "eigen" Midi-commando's bestonden, want er zijn er nog veel meer: All Notes Off, Omni On, Omni Off, Poly On en Poly Off werden allemaal in de Controllerafdeling gepropt. Meer gangbaar is bijvoorbeeld Controller 7 voor Volume-regeling. Algemeen in gebruik is ook Controller 10 voor Panning-regeling (stereopositie), maar er is ook Controller 8 voor Balance. Deze twee -panning en balance- worden nogal eens door elkaar gehaald. Controller 10 voor Panning wordt door veel instrumenten ondersteund om per Midikanaal de plaatsing in het stereobeeld te regelen. Controller 8 voor Balance wordt door zeer weinig iinstrumenten ondersteund. Deze parameter is ervoor bedoeld om de volumeverhouding van verschillende onderdelen van één en hetzelfde geluid te regelen.
Behalve Controller commando's Biedt Midi ook de mogelijkheid Van System Exclusive commando's. Die zijn ervoor bestemd om parameters te versturen dat maar door één specifiek apparaat wordt begrepen. Instelling van de attack of van de ingebouwde galm van een synthesizer bijvoorbeeld. Maar een probleem is dat System Exclusive commando's nogal veel bytes in beslag nemen. Voor realtime toepassingen niet het meest ideaal, plus dat een aantal sequencers geen SysEx kan opnemen (in realtime). Roland vond dan ook dat ze voor de regeling van Chorus en Reverb geen System Exclusive gebruiken in de GS-norm, die norm moest immers simpel zijn. Daarom maar weer teruggegrepen op de Controllers. Controller 91 werd gepakt voor Reverb-intensiteit en Controller 93 voor Chorus-intensiteit. Niet Controller 92? Nee, die hadden anderen al gedefinieerd voor Tremelo-diepte. Dit was eerder al door de IMA voorgeschreven maar tot dan toe praktisch niet toegepast.
Een Controllernummer op zich betekent dus eigenlijk helemaal niets. Het is alleen maar een getalletje. Het ontvangende instrument of apparaat bepaalt de betekenis van een Controller. het zal duidelijk zijn dat daar veel verschillen in bestaan.
|
Controllers zijn er in drie soorten:
1- De Continue Controllers
2- De Switsch Controllers
3- De Message Mode Controller
Veel gebruikte Controllers: 0- Bank select, hiermee kun je in een synth of module van de ene geluidsbank naar de andere schakelen. 7- Volume, in vrijwel elk apparaat te vinden. Hiermee kun je zelfs de mix automatiseren. 10-Panning, hiermee bepaal je hoe de klank in het stereobeeld van de synthesizer neergezet wordt.
|
|
Met de Switch Controllers schakel je bepaalde functies in een synth of geluidsmodule aan of uit. Als voorbeeld neem ik Controllernummer 65, de Portamento On/Off schakelaar waarmee een vloeiende overgang van de ene naar een andere gemaakt kan worden. Bij de volledige waarde van 127 zal het "vloeien" van de ene noot naar de andere (lang) blijven aanhouden (aan). Bij de waarde 0 stop je de Portamento (uit).
De Message Mode Controllers hebben zeer specifieke functies:
121- Reset all controllers: Zegt genoeg lijkt mij.
122- Local control: Bij de waarde 0 zet je de Local Control van je Synth op Off en bij de waarde 127 zet je deze functie aan.
123- All Note Off: Dit commando zorgt ervoor dat je synthesizer geen klanken meer weergeeft.
124- Omni Off: Via dit commando voert je synthesizer of module nog maar op één specifiek geselecteerd Midi-kanaal opdrachten uit. Dit gaat in werking als je ontvangende apparaat de waarde nul heeft ontvangen via deze Controller.
125- Omni On: Zorgt ervoor dat je synth of module (weer) taken (kan) gaat uitvoeren op alle Midi-kanalen tegelijk.
126- Mono Mode On: Als je aangesloten synth of module deze boodschap ontvangt, kan het geen akkoorden meer weergeven maar slechts één noot per moment.
127- Poly Mode On: Schakelt de "Mono Mode on" van je apparaat uit.
de overige Controllers zijn pas later aan het Midi protocol toegevoegd. Deze zijn bedoeld voor het besturen van vrij algemeen voorkomende parameters zoals effects. De registered parameters zijn door de MMA (Midi Manufacturer's Association) vastgesteld, de non-registered parameters kunnen door de fabrikanten zelf nader worden bepaald.
|
 Op het plaatje hiernaast is een lopende sequence te zien waar Controller 91, Effects 1 Depth, wordt gebruikt. In een sequencer-softwareprogramma is dit vaak heel makkelijk in te tekenen in de part editor. De gekleurde blokjes op de notenbalk tussen B1 en G3 geven de noten weer die van links naar rechts worden afgespeeld in de sequencer. De grafische lijnen daaronder geven de hoeveelheid Ext Fx Depth weer. Waarbij de waarde 127 maximaal is en de waarde 0 minimaal.
|
|
General MIDI
Al snel voldeden de uit 1983 daterende afspraken voor de MIDI norm niet meer. Een knellend probleem was bijvoorbeeld dat de nummers die de geluiden symboliseerden (patchnummers) niet overeen kwamen. Als je een MIDI file had gemaakt op een bepaald instrument waarop een pianosound onder nummer 18 zat, was 18 op een ander instrument bijvoorbeeld een trompet, waardoor het arrangement totaal anders uitpakt!
 In 1991 werd de norm General Midi 1 vastgelegd. Hierin werd o.a. vastgelegd dat een instrument dat aan de GM norm voldoet, 16 stemmig multitimbraal moet zijn, dus 16 verschillende instrumenten tegelijkertijd moet kunnen weergeven. Bovendien moeten de sounds op een bepaalde manier gerangschikt zijn. Ook worden er meer controllernummers vastgelegd dan in de oorspronkelijke specificatie van Midi.
 General Standard (GS) is een Roland uitbreiding van General Midi. Hierin worden meer drumsets gedefinieerd, instelbare effecten zoals Chorus, reverb en panning. GS kan meer dan 16.000 geluiden opslaan, in plaats van de 128 van GM. GS is downward compatible met GM, het bevat dus alle GM geluiden etc.
 Yamaha heeft een eigen uitbreiding op de GM norm: XG (e Xtended General Midi). Hierin zijn veel meer sounds mogelijk en bovendien zijn hier meer mogelijkheden voor beïnvloeding van een toon tijdens het spelen (Real Time).
 In 2003 werd GM 2 vastgelegd. Hierin staan meer specificaties voor sounds en vooral ook meer effecten vastgelegd (chorus, delay, enz.) GM 1 is in zijn geheel in GM 2 opgenomen.
Het is van General Midi dus de bedoeling dat elke Midi-file die je met bepaalde instrumenten of klanken hebt gemaakt, direct met de juiste klanken wordt weergegeven als je de file door een ander GM instrument(en) laat weergeven!
Klanknummer 41 op jouw GM instrument moet dus een soortgelijke klank oproepen in elk willekeurig ander GM instrument. Verder moet een General Midi instrument 128 verschillende klanken aan boord hebben, die in 16 verschillende groepen van gelijksoortige klanken zijn ingedeeld. De volgorde en indeling hiervan zijn vastgelegd, zodat er tevens een vaste relatie bestaat tussen de Program Change nummers en de klank.
Deze indeling wordt de General Midi soundset genoemd en wordt in onderstaande tabel weergegeven.
|
|
|
|
Naast de General Midi Sound Set bestaat er ook een Drumklank indeling, deze staat voorgeschreven in de General Midi Percussion Map.
De drumklanken moeten binnen General Midi worden aangestuurd op Midi kanaal 10. De vaste voorgeschreven indeling waarbij diverse typen klanken een vast Midinootnummer hebben, vind je in onderstaande tabel.
|
|
|
|