MIDI controllers
Complex 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