Hallo Michael,
Du machst einen typischen Fehler, indem Du die
Steuerungsauflösung der maximalen Lautstärke mit der Audiowellenformauflösung gleichsetzt.
Der Breath Controller bildet lediglich die obere Grenze der Lautstärke eines Tones (= ein Wellenzyklus) ab. Die Audioauflösung von 16, 24 oder 32Bit beinhaltet hingegen die komplette Auflösung der Wellenform, die alle Obertöne im hörbaren Bereich und sogar komplexe Musiksignale aus mehreren Instrumenten (inklusive der Klangfarben- und Tonhöhendarstellung mehrere Instrumente gleichzeitig) darstellt, möglicht ohne Feinheiten bei überlagernden Frequenzen und Geräuschen zu verlieren.
Theoretisch müsste man beim Aufaddieren mehrerer Einzelinstrumente jeweils die Auflösung verdoppeln, um keine Verluste zu erhalten. Das ist jeweils ein Bit mehr. Wenn ein einzelnes Instrument korrekt mit 16Bit dargestellt werden kann, benötigt man für 8 Instrumente bereits 24Bit.
Bei MIDI muss man die Auflösung nicht erhöhen, da mehrere Instrumente nicht aufaddiert werden, sondern parallel auf verschiedenen Kanälen (oder MIDI-Leitungen bei hoher Datendichte) existieren.
Versuch mal einfach, nur die acht musikalischen Sandardlautstärken (ppp, pp, p, mp, mf, f, ff, fff) präzise, jedes mal akkurat anzuspielen oder anzusingen (am besten mit Kontrolle eines Peakmeters), dann weißt Du, wie präzise ein Mensch Dynamik umsetzten kann. Nun mach das mal mit 127 Dynamikwerten. Und wenn Du die dann fehlerfrei ansingen oder anblasen kannst, probier's mal mit den 16.384 Werten einer 14Bit MIDI-Auflösung.
Die 7Bit Auflösung ist (als Steuerungswert) bereits mehr als ausreichend!
Hörbare Lautstärke-Stufen entstehen hier lediglich durch eine schlechte Programmierung des Tonerzeugers, der die Zwischenstufen / Übergänge nicht korrekt interpoliert.
Derselbe Fehler wird auch bei der Timingauflösung gemacht.
Der Breath Controller stellt nur den jeweils höchsten Wert eines einzelnen Wellenzyklus dar. Dieser wird bei einer Frequenz von beispielsweise 100Hz eben auch nur 100x pro Sekunde erreicht. Also ist eine Breath-Frequenz bei einem ausgehaltenen Ton von 100Hz bereits ausreichend um jeden einzelne Wiederholung des Wellenzyklus (in dieser Tonlage) in einer anderen Dynamik zu spielen. Versuch mal beim Singen einen einzelnen Wellenzyklus herauszuheben!
Bei der Timingpräzision im Anspielen sieht das allerings etwas anders aus. Hier können 3-5ms bereits hörbar und wichtig sein. Das darf man allerdings nicht mit einer stabilen Latenz verwechseln, die um ein Vielfaches höher sein kann, ohne zu stören.
Der Mythos der schlechten MIDI-Auflösung wird von Theoretikern verbreitet, die die Materie nicht wirklich durchdacht haben und, wie Petra bereits erwähnte, Äpfel mit Birnen vergleichen.
Das EWI sendet bereits doppelt so viele Breath Controller Werte (200Hz) als notwedig sind, währen das Aerophone tatsächlich ungefähr nur alle 10 ms sendet. Allerdings hat das Aerophone aufgrund einer nicht gerade optimalen Programmierung (um's mal gelinde auszudrücken) einen sehr hohen Jitter Wert von ca. 10 ms, was die Timing Präzision alles andere als akkurat macht.
Hier habe ich ein paar Details (auf englisch), die ich beim Testen herausgefunden habe:
https://dynasample.com/downloads/Aerophone_setup_for_use_with_the_XPression.pdf
Man sollte auf keinen Fall eine schlechte Umsetzung der akustischen Gegebenheiten, wie beim Aerophone, dazu misbrauchen, um bestehende MIDI Implementationen in Frage zu stellen. MIDI in der jetzigen Form - mit seiner standardmäßigen 7Bit Auflösung - ist durchaus in der Lage, den Verlauf eines akusitschen Instruments in Dynamik und Tonhöhe präzise darzustellen. Und das sogar ohne den MIDI Bus mit seinen maximal ca. 1.000 Events pro Sekunds voll auszulasten.
Ob ein Programmierer aber auch in der Lage ist, mit diesen Steuerwerten etwas vernünftiges anzufangen, ist natürlich ein anderes Thema.
LG, Ingo