Vor etwa eineinhalb Jahren hatte ich begonnen, mich mit dem Aufbau einer Streaming-Lösung rein auf Computer-Basis unter dem Betriebssystem Windows zu beschäftigen. Bei meinen vielfältigen Versuchen bin ich auf das Programm JPLAY gestoßen, das mich seit dem nicht mehr loslässt, denn JPLAY ist so ganz anders als die üblichen Programme
Das beginnt damit, dass JPLAY gleich drei verschiedene Möglichkeiten bietet, eingesetzt zu werden. Zunächst einmal kann man JPLAY im Zusammenspiel mit jedem anderen Audio-Player verwenden, der die Audio-Ausgabe über ASIO unterstützt. Hierzu wird in den Ausgabeeinstellungen des jeweiligen Programms, beispielsweise Foobar, aus der Liste der vorhandenen ASIO Geräte einfach der JPLAY Driver ausgewählt. Eine weitere Möglichkeit ist die Verwendung von JPLAYmini, einem super minimalistischen Player ohne jegliche grafische Oberfläche. Man kopiert die abzuspielende Datei mittels Windows-Explorer in die Zwischenablage und drückt dann im leeren Fenster von JPLAYmini die Leertaste zum Start der Wiedergabe. Ich gebe gerne zu, dass mir dieser Modus dann doch etwas zu puristisch ist; doch in klanglicher Hinsicht liegt JPLAYmini im Vergleich zur ersten Möglichkeit klar vorne. Und dann gibt es noch die Möglichkeit, JPLAY über JPLAY Streamer zu nutzen. JPLAY Streamer macht aus dem PC einen Renderer und soll bestmögliche Klangqualität mit Bedienungskomfort verbinden. JPLAY Streamer basiert auf dem OpenHome-Standard und ermöglicht die Steuerung von JPLAY mit OpenHome kompatiblen Media Controllern. OpenHome ist ein offener, von LINN entwickelter Standard für in einem Netzwerk verbundene Audio-Geräte (http://openhome.org), der auf dem UPnP Standard aufbaut und insbesondere eine bessere Zusammenarbeit zwischen Renderer und Control Point gewährleisten soll. Allerdings ist das Angebot an verfügbaren Controllern für den OpenHome-Standard (noch) sehr überschaubar.
Ungewöhnlich an JPLAY sind auch die Konzeption und daraus resultierende Detaillösungen. Es ist zwischenzeitlich unstrittig, dass im Digitalbereich exaktes „timing“ eine wesentliche Anforderung für optimale Audiowiedergabe ist. Auf einem modernen PC laufen während der Audiowiedergabe aber oft hunderte anderer Aktivitäten im Hintergrund, die das „timing“ beeinflussen. Josef Piri and Marcin Ostapowicz, die beiden Köpfe hinter JPLAY, glauben, dass ein Computer um so besser ist er für die digitale Audiowiedergabe geeignet ist, je weniger Rechenarbeit er zu verrichten hat. Ein zentraler Ansatz von JPLAY besteht folglich darin, das „timing“-Verhalten von Betriebssystem, Player und DAC-Anbindung in ihrer Gesamtheit zu optimieren. Das Thema „timing“ zieht sich wie ein roter Faden durch JPLAY. JPLAY läuft im Gegensatz zu vergleichbaren Programmen als Windows Dienst im Hintergrund. Dies ermöglicht JPLAY besseren Zugang zu einem nicht fragmentierten Hauptspeicher, da JPLAY bereits beim Start von Windows zum frühestmöglichen Zeitpunkt gestartet wird; gleichzeitig wird JPLAY dabei die höchste CPU-Priorität zugeteilt.
Das Thema „timing“ findet seine konsequente Fortsetzung in den verschiedenen Einstellungsoptionen für JPLAY. Nach Aufruf des Fensters mit den Einstellungen wird zunächst oben in der Mitte mit „Playing via“ der Weg eingestellt, den die Audiowiedergabe zwischen Audioplayer und Audio-Hardware im Betriebssystem Windows nimmt. Hier sollte man am besten die Option „Kernel Streaming“ auswählen. Kernel Streaming ist die Hardware-nächste „Audio-Ebene“ im Windows Betriebssystem und verspricht effizienteres real-time-Streaming und beansprucht geringere Systemressourcen als die Alternativen WASAPI und ASIO.
Im nächsten Schritt gilt es, die „Audio Engine“ auszuwählen. Hier stehen Classic, Xtream, ULTRAStream zur Auswahl. Alle drei Alternativen bieten bit-perfekte Wiedergabe, unterscheiden sich aber in der Art der RAM-Nutzung. Xtream und ULTRAStream erfordern unter „Playing via“ die Einstellung „Kernel Streaming“; ULTRAStream setzt zusätzlich Windows 8 oder höher voraus. JPLAY empfiehlt die Verwendung der Option ULTRAStream, die aufgrund niedrigerer Latenzzeiten und der Verwendung des UDP-Protokolls anstelle von TCP erheblich weniger Betriebssystem-Ressourcen benötigt. Ich habe in meiner Konfiguration mit Kernel Streaming und ULTRAStream die besten Erfahrungen gemacht, die klanglichen Auswirkungen dieser beiden Einstellungen sind eklatant. Für die optimale DAC-Anbindung sind „DAC Link“ und „PC Buffer“ verantwortlich. JPLAY bietet seit Version 6 eine Besonderheit, die ich so noch bei keinem anderen Programm gesehen habe und auf die Josef und Marcin besonders stolz sind. JPLAY synchronisiert sich quasi rückwärts mit dem DAC: ist normalerweise die Clock des PCs die Takt-Referenz, verwendet JPLAY genau umgekehrt die Clock des DAC als Referenz.
„DAC Link“ bestimmt, wie oft neue Musikdaten an den DAC übergeben werden. So werden bei der Einstellung ein Hertz jede Sekunde und bei 10 Hertz alle 0,1 Sekunden neue Daten an den DAC übergeben. Kleine Werte führen grundsätzlich zu einer geringeren Inanspruchnahme der CPU. Auch diese Einstellung hat erhebliche Auswirkungen auf das klangliche Ergebnis, aber auch auf die Funktionsfähigkeit an sich. So können zu kleine oder zu große Werte zu einem Stottern oder Dropouts bei der Musikwiedergabe führen. Hier hilft nur ausprobieren. „PC Buffer“ legt die Größe des Zwischenspeichers fest, aus dem die Daten an den DAC übertragen werden. Für das Verhältnis zwischen DAC Link und PC Buffer gilt, dass der PC Buffer größer sein muss als der DAC Link, also beispielsweise PC Buffer = 10s und DAC Link = 1 Hz = 1s. Ich bin nach vielem Probieren bei DAC Link = 2,5 Hz und PC Buffer = 10s gelandet.