Erst mal großen Dank an Moogulator für die schöne Zusammenfassung und gut finde ich auch, dass alles in einem Thread bleibt.
Da ich in den letzten Jahren sehr viel mit Midi-Timing, Sync und Latenzeffekten bei Hardware- und Softwarelösungen zu tun hatte, möchte ich an dieser Stelle einfach ein paar Gedanken zum Thema loswerden.
Zuerst möchte ich betonen, dass die MIDI-Schnittstelle kein Allheilmittel ist. Dinge wie z.B. Sample Transfer (SMDI) sind nicht mehr als eine Notlösung, weil der Hersteller vielleicht zu geizig war, eine weitere schnelle Schnittstelle einzubauen.
Midi über USB ist z.B. seit je her nicht an das 31kbaud-Limit von MIDI gebunden und ermöglicht schon seit Jahren hohe Übertragungsgeschwindigkeiten - auch ohne "MIDI HD".
Was mit MIDI aber i.d.R. gut genug funktioniert, solange man nicht zu viele Instrumente parallel mit hoher Polyphonie über dieselbe MIDI-Buchse ansteuert:
- Tighte Synchronisation
- Noten- und Controllerdaten mit niedriger Latenz übertragen
- Sysex-Daten und -Dumps übertragen
Manche werden jetzt die Stirn runzeln und über ganz andere Erfahrungen berichten wollen, und in der Tat gibt es oft schon mit diesen einfachen Punkten Probleme.
Aber was ist der wahre Grund dafür?
Ich behaupte, dass 90% der MIDI-Probleme an der Elektronik und/oder Software dahinter und nicht an der MIDI-Schnittstelle selbst liegen.
Beispiele:
- Roland hat z.B. schon seit den 80er-Jahren die CPU-Power seiner Synthesizer und Workstations zwecks Gewinnmaximierung regelmäßig sehr knapp bemessen, so dass mit höherer Polyphonie fast immer auch hörbar schlechteres Timing einher ging. Eine Workstation mit 128 Stimmen hat daher oft dann schon geholpert, wenn man nur 10 Noten gleichzeitig angespielt hat (im multitimbralen Modus sind 10 Noten gar nichts!) und das selbst bei Verwendung des internen Sequencers, ohne MIDI-Beteiligung. Viele haben sich damit beholfen, einzelne Noten auf weniger timing-kritischen Spuren 1-2 clock ticks später abzufeuern...
- MIDI Slave Sync ist bei verschiedensten Herstellern oft gar nicht und wenn, dann nur lückenhaft implementiert und führt damit zu Synchronisationsproblemen:
- Song position pointer wird nicht oder nicht korrekt ausgewertet und führt zu Sync-Offsets
- Midi-Status-Messages wie START, STOP und CONTINUE werden nicht korrekt ausgewertet
- Midi Clock Ticks werden durch zu trägen Software-Code verschluckt, da im Code Prioritäten falsch gesetzt sind
- Midi Clock Ticks werden 1:1 ohne einstellbares Averaging übernommen, so dass kleinste Schwankungen an der Clock-Quelle zu holprigem Playback (oder auch ungewolltem Shuffle
) führen
- Gerade bei Slave Sync mit Audiospuren braucht man einen Regelkreis, der einerseits stabil genug ist ohne zu "jaulen", andererseits schnell genug auf BPM-Änderungen reagieren kann. Diese Mühe machen sich viele Hersteller nicht, und wenn, hat man meist zu wenige Einstellmöglichkeiten
- MIDI Sysex überfordert schon mit seinen läppischen 31kbaud viele Programme und MIDI-Treiber. Mit schnellerem MIDI allein würde man dieses Problem nur verschlimmern.
Ich sage nicht dass ich mir kein MIDI mit, sagen wir, 1MBit Datenrate wünschen würde (Und das könnte man sogar abwärtskompatibel über die aktuellen MIDI-Buchsen lösen), nur liegt das Problem meist an der Software und da liegt noch sehr viel Verbesserungspotenzial, ob mit oder ohne "MIDI HD".
Schon Gerhard Lengeling antwortete damals, noch zu Emagic-Zeiten, in einem Interview auf die kritische Bemerkung "ob denn MIDI nicht viel zu lahm für so ein High-End-Produkt wie das Logic Control" sei, dass selbst für die großen Mengen von Controllerdaten MIDI noch nicht ausgereizt sei, also kein Bedarf für eine Alternative...
Interessanterweise hat Logic Pro eine der stabilsten und flexibelsten MIDI-Implementationen die ich kenne.
Freue mich über Eure Kommentare; schön wäre es wenn sich auch mal ein paar Entwickler zu Wort melden