Veröffentlicht am

Einplatinencomputer mit HQPlayers NAA nutzen

Einleitung

Die Idee, einen Einplatinencomputer mit NAA (Netzwerk-Audioadapter) zu nutzen, liegt im rauscharmen Betrieb. Die sehr hohe Rechenleistung eines fis Audio PCs mit tendenziell viel Rauschen wird dadurch wirksam vom DAC ferngehalten.

Dabei kommt es nicht nur auf die Hardware an, sondern wie ich aktuell aus eigener Erfahrung berichten kann, auch auf die Aktualität der Software. So erlebte ich mit dem NAA Softwareupdate im SDV 3100 HV Referenz Streaming DAC Vorverstärker (ta-hifi.de) eine erstaunliche Steigerung der Sound Qualität (SQ).

Doch der Reihe nach. In den Grundlagen sehen wir uns das Konstruktionsprinzp eines Einplatinencomputers und die Funktionsweise von NAA an. Und am Beispiel des SDV 3100 HV, der in meinem Fall einen eingebauten NanoPi NEO4 Einplatinencomputer hat, sehen wir uns die Möglichkeiten eines Softwareupdates an.

Grundlagen

Einplatinencomputer

Ein Einplatinencomputer (Single Board Computer, SBC) ist ein kompletter Computer, der auf einer einzigen Leiterplatte (Platine) implementiert ist. Er umfasst typischerweise alle wesentlichen Komponenten eines Computers, einschließlich eines Mikroprozessors, Speicher (RAM), Ein-/Ausgabeschnittstellen und oft auch Speichergeräte (wie Flash-Speicher oder SD-Kartensteckplätze). Ein bekanntes Beispiel für einen Einplatinencomputer ist der Raspberry Pi.

Vorteile eines Einplatinencomputers

Kompaktheit und Platzersparnis:
Da alle Komponenten auf einer einzigen Platine integriert sind, sind Einplatinencomputer sehr kompakt und platzsparend. Dies macht sie ideal für Anwendungen, bei denen der Platz begrenzt ist.

Kosteneffizienz:
Einplatinencomputer sind im Allgemeinen viel günstiger als herkömmliche Desktop-Computer oder Laptops. Dies liegt daran, dass sie weniger Komponenten und eine geringere Fertigungskomplexität haben.

Energieeffizienz:
Sie verbrauchen weniger Strom als herkömmliche Computer, was sie für den Einsatz in energieeffizienten oder batteriegespeisten Anwendungen geeignet macht. Durch das geringe Eigenrauschen sind sie auch für Audio Zwecke sehr gut geeignet.

Einfachheit und Zugänglichkeit:
Einplatinencomputer sind oft auf Einfachheit ausgelegt und können mit minimalem Aufwand eingerichtet und betrieben werden. Viele Modelle, wie der Raspberry Pi, haben eine große Gemeinschaft von Nutzern und Entwicklern, was den Zugang zu Unterstützung und Ressourcen erleichtert.

Vielfältige Anwendungsmöglichkeiten:
Aufgrund ihrer Flexibilität und Kompaktheit können Einplatinencomputer in einer Vielzahl von Anwendungen eingesetzt werden, von der Heimautomatisierung über Bildungsprojekte bis hin zu industriellen Steuerungen und IoT-Geräten (Internet der Dinge).

NAA (Netzwerk-Audioadapter)

Signalyst (Jussi Laako) hat NAA entwickelt, welches den HQPlayer-Anforderungen entspricht. UPnP ist zum Beispiel weniger für die HQPlayer-Ausgabe geeignet, da es keine DSD Unterstützung bis DSD1024 bietet. Siehe auch mein Bericht: Was sind bessere Alternativen zu UPnP?

Asynchrones FIFO

Dabei wird die Verarbeitung vom HQPlayer in einem in der Regel sehr leistungsstarken Audio PC durchgeführt und die verarbeiteten Daten werden asynchron über das Netzwerk zu einem lowpower Netzwerk-Audioadapter gestreamt, der mit dem DAC als Endpunkt verbunden ist. Asynchrones FIFO bietet maximale Isolation zwischen Verarbeitung und Audiowiedergabe. Siehe Bild unten.

5. Generation des NAA-Protokolls (5.0.0)

NAA hat einige Versionssprünge gemacht. In der neuen fünften Generation des NAA-Protokolls (5.0.0) wurden einige Verbesserungen umgesetzt:

  • Unterstützung für mehrere Anschlüsse/Geräte,
  • Informationen zum Pufferpegel,
  • Low-Delay-Modus,
  • Hardware-Lautstärkeregelung,
  • Übergabe der Wiedergabeposition und Übergabe von Metadaten (einschließlich Bild),
  • Verbessertes Verhalten in verschiedenen Netzwerkumgebungen und -situationen.

Es gibt einige Hersteller, die NAA bereits integriert haben. So auch der SDV 3100 HV Referenz Streaming DAC Vorverstärker (ta-hifi.de). Die aktuelle Liste findest du hier: Netzwerk-Audio-Adapter (NAA) – Signalyst.

Hardware

Einplatinencomputer NanoPi NEO4

Wie bereits erwähnt, hat der SDV 3100 HV NAA integriert. Dabei handelt es sich sozusagem um ein Gerät im Gerät. In meinem Fall um einen eingebauten NanoPi NEO4 Einplatinencomputer. Für T+A SDV 3100 HV DACs ab 2023 wird eine andere Hardware verwendet: RockpiE – Radxa Wiki.

Selbstverständlich kann die hier vorgestellte Lösung auch separat betrieben werden. Auch mit anderen Einplatinencomputern. Interessant ist in diesem Zusammenhang, dass T+A die weit verbreitete Lösung mit Raspberry Pi 4 aus klanglichen Gründen nicht verwendet.

Ich hatte schon immer Probleme mit der Klangqualität, wenn ich einen RPi benutzte. Aus diesem Grund setzt T+A RPi für seine NAA-Implementierung in SDV3100HV nicht ein.

https://audiophilestyle.com/forums/topic/67597-ta-components-and-linux-support/?do=findComment&comment=1279050

Der NanoPi NEO4 Einplatinencomputer hat eine recht leistungsstarke CPU verbaut: RK3399 – Rockchip Wiki (wikidot.com). Es handelt sich dabei um ein 2-CPU-Cluster: Dual-core ARM Cortex-A72 MPCore processor and Quad-core ARM Cortex-A53 MPCore processor. Der große Cluster mit Dual-Core-Cortex-A72 ist für hohe Leistung optimiert, während der kleine Cluster mit Quad-Core-Cortex-A53 für geringen Stromverbrauch vorgesehen ist.

Mit 1 GB DDR3-RAM ist ein recht üppiger Arbeitsspeicher verbaut, der im NAA Betrieb nur mit etwas über 10% ausgenutzt wird. Also Reserven ohne Ende. Die Schittstellen sind vielfältig: USB, LAN, WLAN, Bluetooth und sogar HDMI. Der SDV 3100 HV nutzt davon den LAN Anschluss für NAA, also den Input. Der Output zum DAC läuft über USB.

Das Motherboard besteht aus einer 8 Layer Platine und misst bescheidene 60 x 45 mm. Der Stromverbrauch wird mit maximal 5V/3A angegeben.

Zwischendurch eine kleine Werbepause. 🙂 Ich habe schon viele DACs unterschiedlicher Bauarten (mit ESS Sabre Chips, R2R Ladder DAC oder True-1Bit DSD D/A-Wandler) im System gehabt. Der SDV 3100 HV ist mein bisher bester DAC. Ultrastabil, feinauflösend und analog klingend.

Um an den NanoPi NEO4 heranzukommen, muss die Bodenplatte entfernt werden. Dank der guten Anleitung von T+A war das problemlos möglich. Auf der Unterseite ist alles sauber montiert und strahlt Wertigkeit aus.

Die NAA Platine ist auf einer Lochplatte montiert. Für die Demontage müssen der LAN Stecker und die USB Verbindung abgezogen werden.

Unterhalb der USB C Buchse links ist befindet sich die microSD-Karte für das Betriebssystem und NAA.

Kommen wir nun zur Software.

Software

Proprietäre NAA Software von T+A

Wer Geräte von T+A mit Netzwerkanschluss hat, freut sich über die in der Regel unkomplizierte Updatefunktion. Beim Start des DACs wird man auf Updates hingeweisen. Im Fall vom SDV 3100 HV kann man sich die Versions Info auf der T+A Homepage ansehen. Aktuell ist das dieser Stand:

Currently available versions:

        	stable                   beta

Bundle: 	V1.18                    V1.18

Main:   	V1.25                    V1.25
BL:     	V3.00                    V3.00
Client: 	V3.0.4                   V3.0.4
FM/DAB: 	V1.10                    V1.10
DSP   : 	V1.16                    V1.16

New or improved features:
(GEN) = General,  (SCL) = Streaming Client,  (TUN) = FM/DAB tuner  (GW) Gateway

Da wird nun alles möglich auf den neuesten Stand gehalten, nur eines nicht: NAA! Das ist ein recht ärgerlicher Umstand. Denn auf der microSD-Karte des NanoPi NEO4 befindet sich die seit Kauf unveränderte T+A-Firmware mit einem zwar hochoptimierten Kernel, aber mit der Uralt-NAA Version 3.5. Der seit 2023 von T+A neu verbaute Single-Board-Computer RockpiE/hardware/rockpiE – Radxa Wiki hat immerhin NAA in der Version 4.4 an Bord. Nun wurde jedoch vor kurzem NAA OS 5.0.2 veröffentlicht.

Für ein Update muss leider der NanoPi NEO4 ausgebaut werden, denn anders kommt man nicht an die microSD-Karte heran. Das Original soll man gut aufbewahren und niemals überschreiben. So hast du immer ein Back up, falls etwas nicht funktioniert. Die nachfolgenden Beschreibungen beziehen sich auf das Flashen einer „neuen“ microSD-Karte!

DietPi – Hochgradig optimiertes minimales Debian-Betriebssystem

Aufgrund einer Empfehlung verwende ich DietPi, welches auf Debian basiert. Debian verwendet den Linux-Kernel als Kernbestandteil des Betriebssystems. Der Linux-Kernel ist das Herzstück eines Betriebssystems und verwaltet die Hardware-Ressourcen, wie CPU, Speicher und Peripheriegeräte. Er stellt auch grundlegende Dienste für alle anderen Teile des Betriebssystems bereit.

Nun ist Linux nicht gerade mein Steckenpferd. Mit dem HQPlayer OS, welches ebenfalls auf Linux basiert, kommt man nur mit Kommandozeilen weiter. Siehe: Linux-Befehle für das HQPlayer OS. Das erinnert mich an die alten MS DOS Zeiten. Was für ein Krampf! Dementsprechend wenig Lust hatte ich darauf. Doch mit sehr sachkundiger Hilfe und der hervorragenden Anleitung von DietPi war es nicht schwer.

DietPi auf microSD flashen

Die Einfachheit von DietPi liegt schon darin begründet, dass es für die unterstützte Hardware maßgeschneiderte Versionen gibt. Diese findest du unter DietPi – Download. Wähle deinen Einplatinencomputer aus und lade dir das komprimierte Image herunter. Das Image für den NanoPi NEO4 ist gerademal 1,2 GB groß. Dementsprechend klein kann die microSD Karte sein.

Für das Flashen gibt es eine sehr gute Anleitung: How to install DietPi – DietPi.com Docs. Neben einer neuen microSD benötigst du nur einen Kartenleser, den es für z. B. USB preisgünstig gibt. Das Image brennst du im Mac mit balenaetcher oder unter Windows mit Rufus auf den USB-Stick.

DietPi mit SSH einrichten

Du musst glücklicherweise keinen Monitor anschließen. Eine Netzwerkverbindung reicht. Mittels SSH (Secure Shell) kannst du eine verschlüsselte Verbindung zur Kommandozeile (Shell) des DietPi OS herstellen. Ich beschreibe hier nur den Weg über einen Apple Mac Computer. Ähnliches gilt auch für Windows.

Öffne dafür das Terminal (Befehlszeilen-Interface) und tippe: „ssh root@ip-address“. Ein Eingabebeispiel: „ssh root@192.178.188.10“. Dann wird nach deinem Passwort gefragt, welches „dietpi“ lautet. Bei der ersten Anmeldung wird noch ein RSA Fingerprint angelegt, bestätige das mit „yes“.

Deine Startseite soll dann so wie unten aussehen. Eine wichtige Information ist die Temperatur. NanoPi NEO4 läuft stabil bis 70°C, aber natürlich sind niedrigere Temperaturen immer besser. Die hier gezeigten 48°C sind optimal.

Die wichtigsten Kommandos stehen sozusagen kopierbereit bereits zur Verfügung:

dietpi-launcher : All the DietPi programs in one place
dietpi-config : Feature rich configuration tool for your device
dietpi-software : Select optimised software for installation
htop : Resource monitor
cpu : Shows CPU information and stats

Einfach mit der Maus markieren, kopieren und in der Kommandozeile einfügen und auf Enter klicken. Was die Befehle bewirken erkläre ich in den nächsten Absätzen.

DietPi Config in der Übersicht

Hier gibst du den Befehl dietpi-config ein. Du kommst in ein Verzeichnis.

DietPi Config: USB-Verbindung zum DAC herstellen

Wähle in der DietPi Config die Zeile „Audio Options“ aus. Im nächsten Verzeichnis wählst du die erste Zeile „Sound card“ aus. Klicke dann auf Enter.

Hier siehst du den gefundenen DAC, welchen du auswählst und bestätigst. Die Auswahl „USB Adio DAC (any)“ wäre auch ok, wenn es nur einen angeschlossenen DAC gibt.

DietPi Config: CPU konfigurieren

In meinen Experimenten mit Windows und dem kostenlosen Analyse-Tool: LatencyMon konnte ich sehr gut die Auswirkungen von Energiesparoptionen messen. Siehe Welche Windows Einstellungen für Audio wichtig sind. Diese Erfahrungen lassen sich auch auf andere Betriebssysteme übertragen.

Energie zu sparen ist natürlich ein erstrebenswertes Ziel, nur leider manchmal dem Audio Genuss abträglich. Sobald der Scheduler dabei ist, die Taktfrequenzen rauf und runter zu takten, nimmt in der Regel die Latenz zu. Das ist die Zeit, die für die Ein- und Ausgabe von Daten und deren Berechnung benötigt wird. Es ist meist besser die Latenzen so gering wie möglich zu halten. Siehe auch Grundlagen Audio PC Latenzen.

Mit den „Performance Options“ kannst du die Leistungsstufe und die Taktfrequenzen einstellen. Damit die CPU nicht rauf und runter taktet, habe ich im „CPU Governor“ die Einstellung „Performance gewählt“.

Die Taktfrequenz stellst du bei den „CPU Frequency Limits“ ein. Hier wählte ich 1.200 MHz, welches unter den CPU Limits bleibt.

Wenn du volle Leistung möchtest, kannst du auch 1.800 MHz für Max/Min einstellen. Der Scheduler ordnet dann die möglichen Maximalwerte den entsprechenden Leistungs- und Effizienzkernen zu.

DietPi Config: nicht benötigte Hardware abschalten

Hardware, die nicht benötigt wird aber im Hintergrund läuft, neigt dazu durch Interrupts den Betrieb zu stören und fügt ihr eigenes Rauschen hinzu. Deshalb soll soviel wie möglich abgeschaltet werden.

Hier kannst du im Pfad „Advanced Options“ zum Beispiel Bluetooth deaktivieren.

DietPi Config: Netzwerk konfigurieren

WLAN solltest du auch ausstellen. Das geht unter „Network Options: Adapters“. Außerdem wird für HQPlayer NAA das Internet Protocol Version 6 (IPv6) empfohlen. Es ist die neueste Version des Internet-Protokolls, das für die Adressierung und das Routing von Datenpaketen im Internet verwendet wird. 

DietPi Config: Netzwerk Autostart mit Script automatisieren

Unter „AutoStart Options“ kannst du zum Beispiel Scripts einbinden, welche beim booten automatisch Einstellungen tätigen.

Ich habe hier Flow Control (Flusssteuerung) aktiviert. Das ist die Empfehlung für HQPlayer NAA, damit kein Pufferüberlauf erfolgt. Der Code dafür lautet: ethtool -A eth1 rx on tx on.

DietPi Software: HQPlayer NAA installieren

Nun war schon oft die Rede von HQPlayer NAA. Mit DietPi kannst du vollautomatisch die neueste und vor allem die richtige NAA Version installieren. Es ist später über den gleichen Weg auch ein Update möglich.

Was DietPi wirklich einfach macht, sind die vorbereiteten Installationsroutinen für beliebte Anwendungen. Die findest du unter DietPi Software Options – DietPi.com Docs. Uns interessiert diese Rubrik: Media Systems Software Options – DietPi.com Docs. Und dort ist NAA Daemon – Signalyst Network Audio Adaptor (NAA) zu finden.

Das bedeutet, es ist auch im Software-Tool von DietPi enthalten. Gib in die Kommandozeile einfach den Befehldietpi-software ein. Mit „Browse Software“ kommst du in das Software Verzeichnis.

Anschließend navigierst du mit dem Cursor bis zu „NAA“ und klickst das an. Alternativ kannst du die Software auch direkt über den Code (für NAA z. B. „124“) auswählen, wenn du ihn kennst.

Mit „Install“ wird die neueste Version heruntergeladen und installiert.

DietPi htop: Performance kontrollieren

Die kleine aber feine Anwendung htop ist ein interaktiver Prozessviewer, mit der du unter anderem die CPU-Auslastung kontrollieren kannst. Unten im Bild ist die Einstellung mit durchgängig 1,2 GHz zu sehen. Die einzelnen Cores werden nur sehr gering in Anspruch genommen. Auch der Arbeitsspeicher (Memory) bietet noch hohe Reserven. Die sehr geringe Anzahl von 12 Tasks spricht für sich. Zum Vergleich: das HQPlayer OS hat rund 20 Tasks, was ebenfalls sehr wenig ist. Windows 11 Pro hat locker 160 Tasks.

Wenn du die Cores auf volle Leistung einstellst siehst du, dass die Cores mit den Nummern 0 – 3 auf maximal 1.416 MHz takten. Das sind die vier Effizienz Cores. Die Nummern 4 und 5 sind die beiden Performance Cores bis 1.800 MHz. Diese Einstellung empfehle ich nicht, weil sie tendenziell das Rauschen, die Latenzen und die Temperatur erhöht.

HQPlayer Client: Output Puffer

Im HQPlayer Client wird nun der Füllstand des Output Puffers (oben links, zweiter Balken) angezeigt. Falls jemand Drop Outs hat, kann hier ein niedriger Pufferstand ein Indiz für Probleme sein.

Interessant ist immer wieder bei neuen Alben, ob wirklich HiRes vorliegt. In diesem Fall kein Problem. Eine PCM Datei mit 96kHz/24Bit nutzt die volle Bandbreite der Niquist Grenzfrequenz aus. Im Spektrogramm ist zu sehen, dass einzelne Spitzen bis 48kHz gehen. Aber das ist ein anderes Thema.

Wie klingt es?

Meinem „Unterstützer“ bei der Implementierung des NAA Upgrades hatte ich folgendes mitgeteilt:

Ich hatte dir vorgestern geschrieben, dass ich mich nach dem Einbau nicht von der Musik lösen konnte und es sich „mindestens“ genauso gut anhört wie vorher. Nun bin ich schlauer. Um dich ein wenig auf die Folter zu spannen eine kleiner Vorspann zu meiner Herangehensweise bei der klanglichen Beurteilung. 

Ich weiß wie schnell man sich etwas einbilden kann. So nach dem Motto „die neueste Software muss sich auch besser anhören“. Ich bin als Berater in der IT unterwegs und weiß sehr gut, dass auch genau das Gegenteil eintreten kann. 

Auch kann das vermeintlich Bessere auf einer Sinnestäuschung beruhen. HF sorgt nach meiner Erfahrung für Schärfen im Klangbild, kann aber natürlich auch dazu führen, dass vermeintlich eine höhere Detailgenauigkeit in der Wiedergabe vorhanden ist. Für mich ist daher das Langzeithören wichtig. Denn spätestens da merke ich, wenn mich etwas nervt und das Klangbild zu einem Einheitsbrei wird.

Ein A/B-Vergleich war sowieso nicht möglich, denn ich schraube ja nicht ständig an dem schweren DAC herum. Nun zu meinen Erkenntnissen, wo ich mir relativ sicher bin.

Das Musikecho bei Stopp ist nicht mehr vorhanden

Komisch, dass ich erst heute drauf kam. Bisher war es so, dass bei einem Stopp des aktuellen Titels nach ca. 1 sek. ein Stück Restmusik gespielt wurde. So als ob der Buffer noch nicht vollständig entleert war. Das ist mit der neuen NAA-Version definitiv verschwunden. 

Zunahme der Sound Qualität

Mir ist das Timing wichtig und deshalb wähle ich oft kurze Filter, welche die Transienten betonen. Bei Klassik wär das natürlich witzlos, aber das höre ich selten. Ich höre gern Indie, Blues und Jazz und da merke ich mehr Präzision.

Räumlichkeit finde ich natürlich auch gut. Mit Acourate habe ich eine recht gute Kohärenz gemessen (IACC10 = 90%) und das macht sich natürlich in der Raumabbildung sehr positiv bemerkbar. Mit der neuen NAA Version hat die Instrumentenseparation zugenommen. 

Betriebssystem und NAA

Ich glaube dir gern, dass das proprietäre T+A OS extrem wenig Prozesse zu laufen hat und sehr stabil ist. Die Stabilität kann ich bestätigen. Nun ist DietPi v9.6 (das Update war nach vorübergehender Deaktivierung von IPv6 problemlos) mit seinen 12 Tasks (HQP OS hat 20 Tasks) auch nicht gerade ein Ressourcenfresser. Aber der springende Punkt scheint mir NAA zu sein. Bei mir war noch die NAA-Version 3.5 im Einsatz. Wir wissen beide, dass Entwickler nicht immer alle Änderungen dokumentieren. Es scheint mit der Version 5 einige Optimierungen zu geben, die den Klang verbessern. Möglicherweise durch eine Verbesserung der FiFo Speicherverwaltung, geringere Latenzen und Jitter oder was auch immer. 

Ich denke meine Gedanken treffen es ganz gut und kann ich weiter so unterschreiben.

Zusammenfassung

Wer einen Audio PC mit viel Rechenleistung betreibt, soll sich Gedanken über eine Isolierung von dem „Lärm“ machen. Beim Streaming ist auch ein stabiles Übertragungsprotokoll wichtig. Die Kombination mit einem Einplatinencomputer mit geringem Rauschen und dem HQPlayer NAA für eine stabile Audio-Übertragung ist ein sehr guter Problemlöser zu recht geringen Kosten.

Beim Einplatinencomputer empfehle ich nur die benötigten Komponenten zu nutzen. Hier ist der NanoPi NEO4 mit seinen zahlreichen Schnittstellen sogar überdimensioniert. Wer nicht gerade Programmierer ist, erspart sich mit einem einfach zu installierendem und auf die Hardware maßgeschneidertem Betriebsystem wie DietPi viel Kummer und Zeit.

Vermeide bei den Softwareeinstellungen hohe Latenzen durch Energiesparoptionen. Stell lieber feste Taktfrequenzen ein und schalte nicht benötigte Features ab.

Und halte deine Software aktuell. In meinem Fall war die Klangsteigerung deutlich warnehmbar.

Du hast Fragen oder möchtest etwas beitragen? Schreibe uns: Kontaktformular
Oder schreibe per E-Mail an: info@griggaudio.de