MIDI controllers

5-polige DIN MIDI plugComplex geheel en niet altijd even logisch

Zie ook: bits & bytes, binair en hex

Midi is in 1983 ontwikkeld om verschillende synthesizers, van verschillende merken, op elkaar te kunnen aansluiten en met elkaar te laten communiceren. Aanvankelijk is midi dus uitsluitend voor toetseninstrumenten bedoeld. De commando's die in het midiprotocol 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, gebaseerd 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.

Voor 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-commando 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 sostenutopedaal wordt Controller 66 gekozen en voor het softpedaal nummer 67. Waarom niet gewoon doornummeren na nummer 64? Omdat Controller 65 al in gebruik was voor het aan- en uitschakelen van Portamento. Dat was er eerst even tussendoor gekomen.

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 een 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 van een geluid te regelen. Controller 8 voor Balance wordt door zeer weinig instrumenten ondersteund. De parameter is ervoor bedoeld om de volumeverhouding van verschillende onderdelen van een 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 1 specifiek apparaat wordt begrepen. Instelling van de attack of van de ingebouwde galm van een synth 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 moesten 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.

Bij speciale toepassingen worden de Controllernummers weer voor heel andere doeleinden gebruikt. Bijvoorbeeld bij mixers die via midi te bedienen zijn, of bij midibediening van een lichtshow.

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.

MIDI Controller Numbers

The table below presents a summary of the MIDI Standard Controller codes
in decimal and hexadecimal (h) form.
Decimal Hex Controller Name
0 00h Bank Select (Controller # 32 more commonly used)
1 01h Modulation Wheel
2 02h Breath Contoller
3 03h Undefined
4 04h Foot Controller
5 05h Portamento Time
6 06h Data Entry MSB
7 07h Main Volume MSB
8 08h Balance MSB
9 09h Undefined
10 0Ah Pan MSB
11 0Bh Expression MSB
12 0Ch Effect Control 1
13 0Dh Effect Control 2
14-15 0E-0Fh Undefined
16-19 10-13h General Purpose Controllers Sliders (Nos. 1-4)
20-31 14-1Fh Undefined
32-63 20-3Fh LSB for Controllers 0-31 (0=bank select, rest rarely implemented)
64 40h Damper Pedal (Hold, Sustain) [Data Byte of 0-63=0ff, 64-127=On]
65 41h Portamento
66 42h Sostenuto
67 43h Soft Pedal
68 44h Legato Footswitch
69 45h Hold 2
70 46h Sound Controller 1 (default: Sound Variation)
71 47h Sound Controller 2 (default: Timbre/Harmonic Content)
72 48h Sound Controller 3 (default: Release Time)
73 49h Sound Controller 4 (default: Attack Time)
74 4Ah Sound Controller 5 (default: Brightness)
75-79 4B-4Fh Sound Controller 6-10 (no defaults)
80-83 50-53h General Purpose Controllers (Nos. 5-8)
84 54h Portamento Control
85-90 55-5Ah Undefined
91 5Bh Effects 1 Depth (previously External Effects Depth)
92 5Ch Effects 2 Depth (previously Tremolo Depth)
93 5Dh Effects 3 Depth (previously Chorus Depth)
94 5Eh Effects 4 Depth (previously Detune Depth)
95 5Fh Effects 5 Depth (previously Phaser Depth)
96 60h Data Increment
97 61h Data Decrement
98 62h Non-Registered Parameter Number LSB
99 63h Non-Registered Parameter Number MSB
100 64h Registered Parameter Number LSB
101 65h Registered Parameter Number MSB
102-120 66-78h Undefined

Channel Mode Messages

121 79h Reset All Controllers
122 7Ah Local Control
123 7Bh All Notes Off
124 7Ch Omni Off
125 7Dh Omni On
126 7Eh Mono On (Poly Off)
127 7Fh Poly On (Mono Off)

* Met dank aan MOPRO.nl

Donatie

Dit is een gratis site, die al sinds 2003 voortdurend wordt uitgebreid en geactualiseerd. Als jij ook wilt dat dat zo blijft, doe dan een donatie aan Popschool Maastricht >>

Bijgewerkt op: 19 Juni, 2024