Einleitung
Roons wichtigstes Update in der Architektur ist schon etwas länger her. Es erlaubt Einblicke, wie die Leistungsfähigkeit von Musikplayern verbessert werden kann.
Auch beim HQPlayer hat sich in der Architektur eine bedeutsame Änderung ergeben. Nämlich in der Kernzuordnung beim Upsampling.
Für ein besseres Verständnis gehe ich vorher in den Grundlagen auf die grundsätzliche Verarbeitung in Computern und auf die Leistungsanforderungen bei Filtern und Modulatoren ein.
Grundlagen
Computer Processing
Interrupts und andere Probleme
Ein Computer ist ständig damit beschäftigt, Daten zu lesen, zu berechnen und zu schreiben.
Bei der Wiedergabe von Musik müssen die Musikdateien von einer SSD gelesen oder vom Netzwerk gestreamt werden. Die Musik muss verwaltet werden, z.B. sortiert nach Musikgenre, Interpret und ggf. mit Informationen über die Musiker. Es muss auch möglich sein, die Musik zu steuern, einschließlich des Auswählens, Abspielens, Stoppens und ggf. Einstellens der Lautstärke.
Dies führt unweigerlich zu häufigen Unterbrechungen, die dem Audiobetrieb sehr abträglich sind. Dabei kann es sich um störende Latenzen handeln. Ein Interrupt tritt bei einem externen Ereignis auf, dass die normale Ausführung eines Programms unterbricht. Dieses Ereignis kann z.B. das Drücken einer Taste auf der Tastatur, das Eintreffen einer Netzwerknachricht oder der Ablauf eines Timers sein.
Sobald ein Interrupt ausgelöst wird, stoppt der Prozessor seine aktuelle Aufgabe und springt zu einem speziellen Interrupt-Handler, der das Ereignis behandelt. Der Task-Scheduler ordnet dann den Prozessen die CPU-Kerne neu zu und priorisiert die Aufgaben.
Leider neigen Betriebssysteme dazu, alle möglichen Interrupts zuzulassen. Die Musikwiedergabe kann beeinträchtigt werden, weil z.B. die internetfähige Waschmaschine meldet, dass die Wäsche fertig ist. Schuld daran ist Broadcast. In einem Computernetzwerk handelt es sich dabei um eine Nachricht, bei der Datenpakete von einem Punkt an alle Teilnehmer eines Kommunikationsnetzes übertragen werden.
Deshalb ist es allgemein besser, die Musikwiedergabe auf zwei Computer aufzutrennen. Ein Computer, nennen wir ihn Control PC, speichert und streamt die Musik und verwaltet und steuert sie. Das kann auch ein leistungsfähiges NAS (Network Attached Storage) sein, welches im Keller steht. Wichtig ist an dieser Stelle nach meiner Erfahrung eine galvanische Trennung z. B. mit Glasfaser und ein Reclocking mit einer hochwertigen OCXO-Clock.
Der andere Computer, nennen wir ihn Audio PC, hat nur eine Aufgabe: die Musikdateien bestmöglich für den DAC aufzubereiten und die Daten an ihn störungsfrei zu senden. Deshalb soll der Audio PC nur Prozesse ausführen, die im direkten Zusammenhang mit der Musikwiedergabe stehen. Hier soll möglichst ein sehr schlankes Betriebssystem mit geringsten Latenzen eingesetzt werden. So wie wir es mit dem HQPlayer OS anbieten.
Upsampling
Die Grundidee des Upsamplings außerhalb des DACs ist, dass Computer eine viel geeignetere Umgebung (Auflösung, Befehlssatz-Effizienz, Verarbeitungsgeschwindigkeit) für mathematische Operationen bieten als die begrenzte Rechenkapazität eines DAC.
Die meisten DACs haben einen Delta-Sigma-Chip wie ESS SABRE oder AKM, welche sowieso jedes eingehende Signal in DSD umrechnen. Unten im Bild wird im ersten Prozesspfad gezeigt, wie im DAC eine Musikdatei im Format PCM mit zwei Oversamplingstufen in den Megahertzbereich gebracht wird. Aus 44,1 kHz werden im Beispiel 11.289,6 kHz, bzw. 11,2896 MHz. Das entspricht DSD256! Einfache Anti-Aliasing-Filter vermeiden dabei die Spiegelfrequenzen, welche den hörbaren Bereich demodulieren können.
Das nun vorliegende Musikmaterial in Megahertz wird durch einen einfach gehaltenen Modulator in den sogenannten Bitstream überführt, welcher letztendlich in ein analoges Signal gewandelt wird.
Wird das Hochrechnen in den Megahertzbereich von einem leistungsfähigen Computer und einer Software wie z. B. den HQPlayer übernommen, können Gleitkommaberechnungen statt Festkomma und viel bessere Filter verwendet werden (oben im Bild mittlerer Prozesspfad).
Im unteren Prozesspfad ist der Königsweg zu sehen: der einfache DAC Modulator (oft 3. Ordnung) wird durch einen leistungsfähigen Modulator 7. Ordnung ersetzt. Der DAC macht dann tatsächlich nur noch die Umwandlung von Digital (Bitstream) in Analog. Diese deutliche Arbeitsentlastung führt auch zu weniger elektronischem Rauschen im DAC.
Zur Vertiefung des Themas empfehle ich diesen Newsletter: Wie arbeitet ein DAC und was kann Upsampling bewirken?
Architekturänderungen
Roon Update
Im November 2023 wurde die neue Softwarearchitektur veröffentlicht:
Diese neue Architektur spiegelt unsere empfohlene Roon-Konfiguration wider – Roon Server und Roon separat laufen zu lassen In Zukunft werden wir Roon Server nicht mehr als eigenständigen Installer für Windows und Mac anbieten. Auf diesen Plattformen wird es einen einzigen Roon-Installer geben, der die Roon-Anwendung (zum Auswählen von Musik und Konfigurieren von Roon) und Roon Server für Benutzer enthält, die ihren Core unter Windows oder macOS ausführen.
Roon 2.0.25 is live! – Roon Software Discussion / Software Release Notes – Roon Labs Community
Einordnung des Updates
Eigentlich ist es ein Zusammenschluss des ursprünglichen Roon Desktops mit dem Roon Server. Beide enthielten den sogenannten Roon Core, also den Rechenknecht. Nur das der Roon Server Headless war und einer Fernsteuerung mit der App Roon Control bedurfte. Der Roon Server in Verbindung mit Roon Control war auch die von Roon empfohlene Konfiguration, um die Hintergrundaktivitäten von der Steuerung zu trennen.
Etwas lästig und verwirrend sind die Namensänderungen der unterschiedlichen Bestandteile. Eingeführt wurde Roon nämlich mit den Komponenten:
- Roon Core: Der Media Server mit DSP.
- Roon Control App: Das User Interface zur Steuerung.
- Roon Output: Der Media Renderer, der die Audiodateien (z. B. FLAC) vom Core empfängt und mit einem geeigneten digitalen Datenstrom (z. B. WAV) an den DAC weiterleitet.
Der Roon Core heißt heute Roon Server, das DSP heißt MUSE. Roon Control App heißt Roon Remote App und Roon Output heißt Audio Devices. Da gefielen mir die alten Bezeichnungen besser.
Es gibt User, die auch am PC Roon bedienen wollen und deshalb Roon Desktop installierten. Der Nachteil: wurde Roon Desktop beendet, war auch mit dem Roon Core Ende Gelände. Das kann mit „einer“ Installationsroutine, welche automatisch „zwei“ Applikationen installiert, nicht mehr passieren.
Der Roon Server wird (auf Wunsch) mit dem Hochfahren des PCs automatisch gestartet und steht sofort für Apps auf dem Smartphone oder Tablet zur Verfügung. Wer auf dem PC Roon steuern möchte, ruft manuell die zweite Applikation mit „Open Roon“ auf. Im Bild unten ist der neue Ordner „Roon“ zu sehen. Es sind 710 MB hinzugekommen.
Probleme bei Taiko Audio
Taiko Audio – High End Music Servers hatte dabei ein hausgemachtes Problem mit dem Roon Update. Hausgemacht deshalb, weil sie den Roon Start mit einem eigenen Dienst „TaikoRoon“ ausführten und hier passten die Variablen nicht mehr zur neuen Version.
Interessanter ist, dass die Taiko Extreme Hörer mit Roon eine Klangverschlechterung feststellten. Die Ursache lag vermutlich an der übermäßigen Menge an Trace- und Debug-Logging-Einträgen, welche Festplattenaktivitäten auslösen. Taiko Audio geht davon aus, dass diese zusätzliche Debug-Protokollierung und -Ablaufverfolgung von den Roon-Entwicklern aktiviert wurde, um Probleme diagnostizieren zu können. Taiko Audio hat sich entschieden einen eigenen Player zu entwickeln, der allerdings nur für eigene Musik Server angeboten wird: XDMS NSM User Feedback – Taiko Audio.
HQPlayer Update
Dieses Update beinhaltete eine wesentliche Neuerung in der Auslastung von CPU Kernen:
6. Februar 2024 | HQPlayer 5 Embedded 5.4.1 veröffentlicht. Unterstützung für die Verwendung von E-Cores als Offload Prozessoren. Kleine Korrekturen Verbesserungen. |
Einordnung des Updates
Wir verwenden für den fis Audio PC die Flaggship-CPU Intel® Core™ i9-13900K Prozessor. Das ist eine Hybrid CPU mit P-Cores (Performance) und E-Cores (Efficient).
Neben den Performance-Kernen (P-Cores) kommen Effiziente Prozessorkerne (E-Cores) zum Einsatz. Die 24 Kerne verteilen sich auf 8 P-Cores und 16 E-Cores. Mit Hyperthreading der P-Cores, also der Verteilung der Last auf zwei virtuelle Cores, sind insgesamt 32 Threads möglich.
Vor dem Update war es so, dass der HQPlayer die E-Cores nicht nutzte. Deshalb schalteten wir die E-Cores bis auf zwei Kerne ab. Nun können mehr E-Cores für die Filterberechnung herangezogenwerden. Die Anzahl der E-Cores hängt von der Stromversorgung ab. Das ist eine deutliche Verbesserung der CPU-Auslastung.
HQPlayer mit Filter poly-sinc- gauss-halfband
Unten im Bild wird ein 96kHz Titel zu DSD512x48 hochgerechnet. Der Filter poly-sinc- gauss-halfband hat folgende Eigenschaften:
Linearphasiger Halbband-Gauß- Filter. Leichtes Leck im Nyquist- Bereich, aber extrem hohe Dämpfung. Nur geeignet für Quellenmaterial von höchster Qualität | jede Rate | nicht Apodisierend | jedes Genre | Transients, Timbre, Space |
Per Definition leiten Halbbandfilter die Originaldaten unverändert durch und fügen nur dazwischen neue Samples hinzu. Dies bedeutet auch, dass es keine Fehler in den Quelldaten beheben kann und somit auch alle Fehler originalgetreu reproduziert. Deshalb ist es für 95% der RedBook-Inhalte (44,1kHz/16Bit) nicht geeignet!
Die P-Cores für die Modulatoren (Nr. 1 und 3) müssen die größte Last stemmen. Die Rechenlast der E-Cores (Nr. 17 bis 32) für die Filter ist sehr gering und verteilt sich sehr gleichmäßig auf alle Kerne.
HQPlayer mit Filter sinc-MG
Der Filter sinc-MG hat folgende Eigenschaften:
Gaußscher Konstantzeitfilter mit einer Million Taps bei 16- facher PCM-Ausgangsrate. Extrem hohe Dämpfung. (65536 Umrechnungsverhältnis) | Ratio Integer | nicht Apodisierend | Classical, Jazz, Blues | Transients, Timbre, Space |
Hier werden aufgrund der 1 Million Taps pro Kanal (Stereo) zwei E-Cores deutlich höher belastet als die anderen.
HQPlayer mit Filter poly-sinc- gauss-xl
Der Filter poly-sinc- gauss-xl ist sehr anspruchsvoll:
Extra langer Gaußscher Polyphasen-Sinc-Filter mit extrem hoher Dämpfung. Optimaler Zeit-Frequenzgang. Bei SDM-Ausgängen erfolgt die Verarbeitung in zwei Stufen mit 16-facher Zwischenrate. | Jede Rate | nicht Apodisierend | Classical, Jazz, Blues | Transients, Timbre, Space |
Hier werden die E-Cores ordentlich in die Mangel genommen. Die Lastverteilung ist dafür sehr gleichmäßig.
Zu den Filtern findest du hier weitere Informationen: Audio PC HQPlayer Filtereigenschaften.
Zusammenfassung
Im Computer Processing sorgen Interrupts für Unterbrechungen in der Verarbeitung und führen eventuell zu hohen Latenzen. Der Klang verschlechtert sich. Deshalb ist es eine gute Idee die Aufgaben in einen Control PC (z. B. Roon) und einen Audio PC (z. B. HQPlayer) aufzuteilen. Siehe auch unseren Newsletter: Komfortable Bedienung und bester Klang – geht das?
Das externe Upsampling verbessert zum Teil ganz erheblich den Klang. Das liegt an der deutlich besseren Rechenleistung von Computern, die hochwertige Algorithmen mit Gleitkommaberechnungen ausführen können. Der DAC hat weniger Rauschen, weil er in seiner Arbeit entlastet wird.
Das Roon Update trennt den Roon Core konsequent von Roon Control, also der Steuerung. Allerdings war das mit dem Roon Server, der Headless (ohne Grafikelemente) war, auch vorher schon möglich. Die neue Philosophie bestätigt den Kurs der Aufteilung von Aufgaben. Die Klangverschlechterung bei Taiko Audio aufgrund erhöhter Festplattenaktivitäten zeigt, was es bedeutet, die Speicherung von Daten nicht von der eigentlichen Musikverarbeitung zu trennen.
Das HQPlayer Update brachte eine Verbesserung der Filterverarbeitung durch E-Cores, eine geeignete CPU vorausgesetzt.
Ich kann jedem nur empfehlen das Beste aus zwei Welten zu verwenden: Roon als sehr moderne bedienerfreundliche Benutzeroberfläche und den HQPlayer für das Upsampling.
Du hast Fragen oder möchtest etwas beitragen? Schreibe uns: Kontaktformular
Oder schreibe per E-Mail an: info@griggaudio.de
Verpasse keinen Newsletter: