LSB & MSB
Least Significant Byte en Most Significant Byte uitgelegd
Solution 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