LSB & MSB

Least Significant Byte en Most Significant Byte uitgelegd

5-polige DIN MIDI plugSolution for the resolution

Zie ook controllers, bits & bytes, binair, hex

Een valuebyte kan 128 verschillende waarden geven. Voor een aantal commando's is 128 voldoende. Voor nootnummers bijvoorbeeld. Het is niet vaak nodig om meer dan de 128 in midi gedefinieerde noten te kunnen spelen.

Voor andere toepassingen kunnen die 128 stappen een te grove resolutie zijn. Voor Pitchbend bijvoorbeeld. Als er maar in 128 stapjes wordt gebend, kan het zijn dat je met pitchbend geen vloeiende glissando hoort, maar allemaal kleine trapsgewijze verhogingen. Het menselijk oor is nogal gevoelig voor toonhoogtewisselingen.

De manier om de resolutie te verbeteren is even voor de hand liggend als doeltreffend. Er wordt gewoon nog een valuebyte ingeschakeld. Elke valuebyte biedt 128 verschillende waarden. Twee valuebytes samen geven dus 128 x 128 = 16.384 verschillende waarden. Het resultaat is een 14-bit resolutie.

In het pitchbend commando is dit mooi aangepakt. De statusbyte voor pitchbend wordt gevolgd door twee valuebytes. Niet alle apparaten gebruiken beide valuebytes. Sommige synths benutten alleen de tweede. De eerste byte blijft dan gewoon op 0 staan. De tweede valuebyte heeft voorrang en heet daarom ook Most Significant Byte, afgekort als MSB. De minder belangrijke byte heet Least Significant Byte (LSB).

Met control change commando's is het ook mogelijk om de resolutie te vermenigvuldigen met een extra valuebyte. In dat geval is het echter minder elegant opgelost. De controllernummers 32 tot en met 63 fungeren als LSB voor de controllers 1 tot en met 32.

Controller 0 is de MSB en eventueel kan daarbij Controller 32 worden ingezet als LSB. En dan gewoon doortellen. Dus Controller 33 is de LSB van Controller 1 enzovoort. Daar wordt maar zelden gebruik van gemaakt. Pas sinds korte tijd is Controller 0 definitief als Bank Select commando gedefinieerd. Het is ook vastgesteld dat altijd Controller 32 als LSB moet volgen.
Maar bij Controller 1 (Modulation) wordt vrijwel nooit Controller 33 als resolutieverbetering gebruikt. Die ruimte is er in ieder geval voor de toekomst.

Waarom is de oplossing met een control change commando minder elegant? Omdat er nu drie bytes extra nodig zijn om een betere resolutie te krijgen! Bij het pitchbend commando zijn in totaal drie bytes nodig voor een resolutie van 16.384 (een statusbyte en twee valuebytes). Voor modulation zijn zes bytes nodig: een statusbyte voor controller, een valuebyte die bepaalt dat het modulation is en een valuebyte voor de MSB waarde. Dan moet er nog een statusbyte voor controller volgen, een valuebyte om aan te geven dat het de LSB voor controller 1 is en dan nog een valuebyte die de waarde van deze LSB aangeeft.
Dat is dan misschien ook de reden dat het niet zoveel wordt gebruikt. Het is kiezen voor een minder hoge resolutie of voor heel veel extra mididata door de kabel, wat met running status maar gedeeltelijk wordt verholpen

* 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: 14 November, 2024