Technische Artikel
Verzögerungen bei unterschiedlichen MIDI-Systemen

Das MIDI-Protokoll gestattet lediglich Noten- und Controllerwerte von 0 bis 127, was dazu führt, dass bei Werten geringer Aussteuerung für z.B. die Lautstärke relativ grobe Abstufungen entstehen, wenn ein bereits kleiner stark klangbestimmender Wert um einen geringen Betrag geändert werden soll. Daher werden in vielen modernen MIDI-Geräten die von externen Geräten kommenden Werte der Steuerkommandos interpoliert, um hörbare Sprünge zu vermeiden. Dieser Rechenschritt führt zu Verzerrungen der Steuerkurve und auch zu einer kleinen Verzögerung, die um so stärker zu Tage tritt, je schneller ein Parameter geändert werden soll.

 

Die Bandbreite des MIDI-Protokolls ist physikalisch auf 30kBit begrenzt, wodurch für typische 3-Byte-Nachrichten mit overhead und sendebedingten Pausen nur etwa 1000 Ereignisse je Sekunde möglich sind. Werden dann aber mehrere Tasten angeschlagen, so können diese bei direkter und unverzögerter Ausgabe nicht gleichzeitig übertragen und vom Zielsystem wiedergegeben werden. Es entstehen unweigerlich dynamische Verzögerungen. Das Ausdruckspiel von Blasmusikern aber auch der detailierte Anschlag von Pianisten, müssten sehr fein aufgelöst werden, um sie angemssen genau zu übertragen, was bereits bei einigen wenigen Kanälen an seine Grenzen stösst und selbst bei einem einzigen Tonkanal zu Fehlern führt - wenn auch zu geringen.

Das Problem lässt sich nur durch eine Steigerung der Bandbreite lösen:

Mit dem Aufkommen des USB-Protokolls bei Computern besteht die Möglichkeit, eine USB-fähige Tastatur an Computer anzuschließen und damit aufzuzeichnen. Die Bandbreite des USB-Protokolls ist nahezu um den Faktur 50 grösser und reduziert die auftretende Latenz theoretisch um diesen Faktor. Problem: Die Treiber der Rechnersysteme produzieren ihrerseits wieder eine Latenz. Bis das Signal im System verarbeitet wird und ein - womöglich noch über Softwaresynthesizer erzeugter - Klang hörbar wird, vergehen oft 10-20ms und mehr, was für ein flüssiges Einspielen vollkommen unakzeptabel ist.

 

Bei einer selbstentwickelten Hardware wird daher der Weg verfolgt, eine vorhandene digitale Audioschnittstelle zu nutzen, um MIDI-Daten mit 4MHz Bandbreite OHNE nennenswerte Verzögerung zu übertragen. Statt einem klassischen seriellen Interface wird das bereits eingeführte S/PDIF genutzt und einfach das MIDI-Protokoll auf gelegt. Ein Datenstrom, wie er beim Anschlag eines beidhändigen Akkords erfolgt und einen Umfang von 20 Bytes hätte, die gleichzeitig zu erklingen hätten, ist damit in 5us übertragen. Die Verarbeitung der Tastaturinformation auf der Sendeseite ist damit der zeitbegrenzende Faktor und kann von einer Hardware in etwa derselben Zeit bewerkstelligt werden.

 

 Beispiel für die Verzögerung bei unterschiedlichen Nachrichtengrössen: 

 

 

  20 Bytes 200 Bytes 2 kBytes
MIDI 30kBit 1 ms 10 ms 100 ms
USB 1.1 12 MBit 10,0 ms 10,0 ms 10,1 ms
S/PDIF 48 kHz 10 us 100 us 1 ms
ETHERNET 100 3 ms 3 ms 3 ms

 

 

Ähnlicher Artikel : Probleme mit dem MIDI-Protokoll

 

J.S. Stand Februar 2003

© Studio 96