Running Status
Zie ook: Note on Note off
Mididata worden serieel verstuurd. Dat betekent dat alle gegevens (ook
gegevens die op exact hetzelfde tijdstip horen te zitten) na elkaar worden
verzonden. In extreme gevallen kan het betekenen dat je vertragingen krijgt
omdat er teveel data ineens door de kabel moeten. Ze gaan er altijd wel
allemaal doorheen maar niet tegelijk. Om de mididata stroom te beperken,
is Running Status bedacht.
De zin van Running Status wordt duidelijk als je weet hoe mididata precies
worden verstuurd. Als voorbeeld het midicommando voor Pitchbend. Als je aan
het Pitchbend wiel van je synthesizer draait, wordt er ineens een hele klont
mididata verstuurd. Elke stand van het wiel wordt in een midicode doorgegeven
(hoewel het wel zo is dat er meer data verstuurd worden als je langzamer aan
het wiel draait, bij hele snelle bewegingen gaan er meestal maar een paar waarden
door).
Als je het Pitchbend wiel 1 stapje omhoog zet, wordt er dus 1 waarde verstuurd.
Dat kan er bijvoorbeeld als volgt uitzien: $10 $00 $ 45. Een Pitchbend commando
bestaat uit drie bytes. De eerste byte (statusbyte) bepaalt dat het hier om
Pitchbend gaat. In begrijpelijk Nederlands vertaald staat er in die eerste
byte $10: Er is Pitchbend op midikanaal 1. De twee volgende bytes zijn valuebytes
en geven de waarde aan van de Pitchbendstand.
Als je het wiel ineens helemaal naar boven draait, worden er heel veel waardes
verstuurd. Er komt dan dus een hele serie van telkens drie bytes. Voor elke
andere waarde wordt een nieuw commando van drie bytes verstuurd. Het is echter
overbodig dat die eerste byte steeds wordt herhaald. Daar staat namelijk elke
keer precies hetzelfde in. Alleen de valuebytes (waarden) veranderen.
De eerste keer is het natuurlijk nodig dat de statusbyte wordt gegeven, maar
daarna weten we het wel. Dan zou het voldoende zijn om alleen de valuebytes
nog door te geven. Dat is dan ook precies wat gebeurt met Running Status.
Bij een hele stroom data met dezelfde statusbyte wordt die statusbyte alleen
bij het eerste commando gegeven. Daarna wordt hij niet meer verstuurd maar
gaan alleen nog de valuebytes door de kabel. Dat blijft zo tot er een andere
statusbyte binnenkomt (bijvoorbeeld een note-commando).
Met Running Status zul je zelden direkt te maken hebben. Het is iets wat automatisch
wordt afgehandeld door midi-instrumenten en midi-software. Er zijn programma's
en mididrivers waarin je Running Status kunt uitschakelen. Dat zal nooit nodig
zijn. Als je de keuze hebt, kies dan vooral om wel met Running Status te werken.
Het komt er immers op neer dat je alleen die mididata verstuurt die echt nodig
zijn.
Het doel van Running Status is dus om de stroom van mididata zo beperkt
mogelijk te houden. Om de meest optimale timing te garanderen.
* 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