Raspberry PI Audio Software

Dual01
Aktiver Hörer
Beiträge: 59
Registriert: 09.02.2021, 23:37
Wohnort: Rhein-Main-Gebiet

Beitrag von Dual01 »

Nachdem es jetzt einen eigenen Faden zu den RPI Softwarepaketen gibt, und einige Softwaredistributionen schon eingehend vorgestellt wurden, möchte ich einfach mal die Optionen etwas systematisch vorstellen.
Ich beginne mal mit den Serverbasierten Systemen, Roon und Logitech Media Server (LMS). Die Systeme bestehen im Prinzip aus einem Kontrollgerät (Tablet, Handy, Laptop, Pc etc.) mit denen das Ganze gesteuert wird. Dann einem Server, der die Playlist verwaltet, und den Zugriff auf Streaming-Services wie Qobuz oder Tidal ermöglicht und dann dem Streamer bzw. Renderer, der die Musik entweder in ein digitales Audioformat umwandelt (Bridge) oder das Ganze analog ausgibt. Der Raspberry eignet sich mit entsprechender Software sehr gut als Renderer. Ich beziehe mich jetzt auf die Headless-Version des RPI-Betriebssystems, da die graphische Linux-Oberfläche für die Nutzung des RPI als Audio-Renderer nicht benötigt wird..

Roon
Um einen RPI als Ausgabe-Device bei Roon zu nutzen muss nur die Roon Bridge Software installiert werden. Die Installation geht schnell.
$ curl -O http://download.roonlabs.com/builds/roo ... armv7hf.sh
$ chmod +x roonbridge-installer-linuxarmv7hf.sh
$ sudo ./roonbridge-installer-linuxarmv7hf.sh
Mehr Infos gibt es hier:
https://help.roonlabs.com/portal/en/kb/ ... ux-install
Die ganzen Einstellungen werden dann auf dem Roon Server getätigt. Roon ist ein ausgefeiltes System, bietet Zugang zu Qobuz und Tidal. Nachteil: Nicht ganz billig...

Logitech (LMS)
Den RPI kann man sehr einfach in ein LMS-System einbinden. Die Einbindung erfolgt über die Installation von Squeezelite. Dadurch wird der RPI praktisch zu einer Squeezebox. Die Squeezelite-Software wird auch von den meisten Softwaredistributionen genutzt, die hier im Faden bereits vorgestellt wurden. Die Installation ist relativ einfach:
sudo apt-get install squeezelite
je nach Betriebssystem-Distribution müssen ggfs noch weitere Bibliotheken installiert werden. Wer sich nicht mit Befehlszeilenkommandos herumschlagen möchte, der hole sich die Diepi-Distribution (s.o.). Da ist squeezelite automatisch vorinstalliert. Mit Hilfe des Allo Webinterfaces lassen sich dann die anderen nicht benötigten Services (NAA, GMRender, MPD, Shareport-sync für Apple Airplay) inaktivieren.
Squeezelite bietet einiges in Punkto upsampling. Man kann dabei zahlreiche Filter und verschiedene Algorithmen einstellen. Die Software kann PCM, DoP und reines DSD abspielen.
Die ganzen Parameter sind hier vom Autor der Software beschrieben:
https://ralph-irving.github.io/squeezelite.html
Die Logitech Media Server (LMS) Software gibt es praktisch für fast alle Betriebssysteme, auch für den RPI. Allerdings empfehle ich nicht, denselben RPI sowohl als Renderer (Squeezebox) und als Server zu betreiben, der Renderer sollte ausschließlich für die Musikwiedergabe genutzt werden, um beste Klangergebnisse zu erzielen. Die LMS Software bietet unwahrscheinlich viele Optionen, Interfaces zu praktisch allen Streaming-Diensten (Tidal, Qobuz, Deezer etc.) und eine Vielzahl an Dateiformatkonvertierungsoptionen. Das Beste daran: Die Software kostet nichts. Gesteuert wird das Ganze entweder über das Webinterface, z.B via Tablet oder Smartphone. Es gibt für das iPhone/iPad auch spezielle Apps wie iPeng zur Steuerung.

UPnP-kompatible Renderer-Software: GMRender
Wer den RPI als UPnP-kompatiblen Renderer nutzen möchte, der kann das am einfachsten über die Installation von GMRender-Resurrect machen. Hier wiederum die einfachste Möglichkeit: Man nehme die Softwaredistribution Dietpi, dort ist die Software installiert.
Nachteil von upnp-basierten Renderer-Systemen: Die Playlist wird auf der Kontroll-App verwaltet. Hier gibt es sehr viele Kontroll-Apps für iOS und Android (z.B. mconnect), einfach Googlen. Wenn man bei UPnP-basierten Systemen den iPad mit der Kontrollapp abschaltet, dann stoppt die Musikwiedergabe.
Hier gibt es allerdings für den RPI eine geniale Lösung: Man installiert noch den BubbleUPnP Server auf dem RPI. Dadurch wird das System zu einem Openhome-Renderer, die Playlist wird auf dem RPI verwaltet und die Software bietet auch ein Interface für Qobuz und Tidal! Das Beste daran ist wiederum: Die Software kostet nichts.

Openhome-kompatible Software
Mit kann den RPI aber auch direkt zu einem Openhome-kompatiblen Renderer machen, d.h. er funktioniert dann wie ein Streamer von LINN, Esoteric etc.
Dazu gibt es meines Wissens drei Optionen:
1) Man installiert upmpdcli. Die Installationsprozedur wird auf der Homepage des Autors beschrieben. https://www.lesbonscomptes.com/upmpdcli/. Die Software stellt praktisch ein Interface zwischen dem mpd-Player (dem eigentlichen Player des RPI) und der Openhome-Umgebung bereit. Die Software bietet auch Zugang zu verschiedenen Streaming-Diensten. Wer sich hier wiederum nicht mit Befehlszeilenkommandos für die Installation herumschlagen möchte, der kann auf Volumio oder Moode oder ähnliche Audio-Distributionen zurückgreifen. Die Distributionen nutzen upmpdcli als Openhome-Interface und mpd als Playersoftware und bieten eine grafische Benutzeroberfläche. Klanglich hat upmpdcli in meinen Vergleichstests mit anderen Openhome-Softwarepaketen allerdings keine Spitzenposition eingenommen.
2) Man installiert den Mediaplayer von PeteManchester
Die Installation ist hier beschrieben https://github.com/PeteManchester/MediaPlayer. Die Software funktioniert und klingt sehr gut. Das Softwarepaket ist auch etwas für Tüftler und bietet Treiber für LCD-Displays und IR-Fernbedienungen etc. an. Die Installation ist gut auf der Homepage beschrieben. Allerdings bietet die Software kein Interface für Qobuz oder Tidal. Wer dennoch die beiden Streaming-Dienste nutzen möchte, der installiert noch den BubbleUPnP-Server auf dem RPI (s.o.).
3) Man installiert den openhome-Player von LINN
Die Installation ist hier beschrieben. http://openhome.org/pages/use/. Die Software bietet auch noch den Zugang zu Qobuz. Achtung: Die für den RPI bereitgestellte Software läuft nur unter der Betriebssystemversion Jessie, und Jessie läuft meines Wissens nur noch auf dem RPI3b aber nicht mehr auf dem RPI3+. Man muss also einen RPI3b dafür nehmen. Klanglich und von der Prozessorleistung ist das aber völlig unproblematisch.
Bild
AudioWolf
Aktiver Hörer
Beiträge: 23
Registriert: 02.01.2019, 01:29
Wohnort: Emsland + Raum FaM

Beitrag von AudioWolf »

Hallo Dieter, sehr schöner Artikel!

In der Hoffnung das ist nicht "off-topic" - eine Frage zu "Distributionen nutzen upmpdcli als Openhome-Interface...Klanglich hat upmpdcli in meinen Vergleichstests mit anderen Openhome-Softwarepaketen allerdings keine Spitzenposition eingenommen."

Volumio oder Moode nutzen das, richtig? Welche "Fertigimages" ggf. noch, ggf. kannst Du mir da weiterhelfen?

Denn minimales Unbehagen beim Hören stellte ich bei mir (auf Dauer) bei Volumio + Moode ein. Hingegen bei PiCorePlayer und Aroio nicht.

Anm.: Mit Unbehagen meine ich nicht "miserablen Klang, o.ä.", nur es war halt meinen (!) Ohren bei längerem Hören nicht so "gefällig" (oder erzeugte
eine etwas kleinere Fuß-Wipp-Amplitude).

Es wurde immer als Server der LMS (separater 3bPi) genutzt.

BR

Jürgen
Bild
Dual01
Aktiver Hörer
Beiträge: 59
Registriert: 09.02.2021, 23:37
Wohnort: Rhein-Main-Gebiet

Beitrag von Dual01 »

Volumio oder Moode nutzen das, richtig? Welche "Fertigimages" ggf. noch, ggf. kannst Du mir da weiterhelfen?
Ich habe mal die Beschreibungen der Distributionen durchgesehen. Max2Play, PicorePlayer und AroioOS nutzen ausschließlich oder hauptsächlich das LMS-System (Logitech Mediaserver). Das AroioOS bietet zusätzlich die Einbindung von Raumkorrekturfunktionen, das habe ich selbst noch nicht ausprobiert, ist aber hier im Faden bereits schön dargestellt worden. Rune Audio nutzt mpd als Playersoftware und bietet eine grafische Benutzeroberfläche dafür, es besitzt aber meines Wissens keine Openhome-Funktionalität.

Beste Grüße
Dieter
Bild
Melomane
Aktiver Hörer
Beiträge: 3114
Registriert: 14.10.2011, 18:30

Beitrag von Melomane »

AudioWolf hat geschrieben: 24.08.2021, 22:18 Denn minimales Unbehagen beim Hören stellte ich bei mir (auf Dauer) bei ... Moode ein. Hingegen bei PiCorePlayer ... nicht.
Hallo Jürgen,

möglicherweise liegt das daran, dass Moode eine deutlich höhere Systemlast auf den rpi3 bringt als der PicorePlayer. So war das zumindest bei meinen Tests, wenn ein Display genutzt wurde. Das ist weniger ein Problem des Players an sich, eher am Drumherum (Webserver z.B.)

Viele Grüße

Jochen
Bild
AudioWolf
Aktiver Hörer
Beiträge: 23
Registriert: 02.01.2019, 01:29
Wohnort: Emsland + Raum FaM

Beitrag von AudioWolf »

Hallo Jochen,

....dass Moode eine deutlich höhere Systemlast auf den rpi3 bringt als der PicorePlayer.....

Ja, wenn ich in die betreffenden Foren gehe wird zwecks Optimierung immer an der Systemlast "getweakt":

http://moodeaudio.org/forum/showthread. ... 102&page=3 "So, now i did some more tests and i am trying to put all information about sound quality tweaking in one place. 1. This is a must - wifi off, bt off, hdmi off, volume control off, eq off, resampling off...." (usw).

Guter Hinweis! :D

Grüße

Jürgen
Bild
Dual01
Aktiver Hörer
Beiträge: 59
Registriert: 09.02.2021, 23:37
Wohnort: Rhein-Main-Gebiet

Beitrag von Dual01 »

....dass Moode eine deutlich höhere Systemlast auf den rpi3 bringt als der PicorePlayer.....
Wie Jochen schon beschrieben hat, kann sich eine hohe Prozessorauslastung negativ auf den Klang auswirken. Moode ist eine Softwaredistribution, bei der fast alle von mir beschriebenen Möglichkeiten der Nutzung des RPI als Renderer implementiert sind. Die Distribution nutzt Squeezelite für LMS, Roon brigde für Roon, und upmpdcli/mpd für Openhome. Das klangliche Ergebnis hängt daher noch davon ab, welcher Service für die Musikwiedergabe letztendlich genutzt wird.
Beste Grüße
Dieter
Bild
music is my escape
Aktiver Hörer
Beiträge: 1528
Registriert: 03.07.2012, 10:56
Wohnort: Leipzig

Beitrag von music is my escape »

Hallo an alle,

Ich hatte es glaube ich kürzlich schon andernorten hier im Board geschrieben: bei der hier spielenden Kette mit Moode macht es, neben der Deaktivierung aller nicht benötigten Funktionen, einen guten Eindruck, zusätzlich die CPU-Leistung von variabel auf generell 100% zu stellen und zudem die 64bit-Verarbeitung zu aktivieren, alle Pufferlatenzen auf Minimum.

Das Prinzip, so wenig Aufgaben wie nötig, soviel Leistung wie möglich scheint auch hier zu greifen.

Interessant finde ich die Klangunterschiede innerhalb der selben Distribution, je nachdem, welchen Dienst man nutzt; so klingen hier bspw. sowohl in Moode als auch Volumio hochwertige Internetradiostreams nicht nur anders sondern nicht selten sogar besser als Alben über Tidal (Connect).

VG
Thomas
:cheers:
Bild
Schischu
Aktiver Hörer
Beiträge: 47
Registriert: 08.07.2020, 07:21
Wohnort: LK Limburg-Weilburg

Beitrag von Schischu »

Guten Morgen Thomas,

dem kann ich nur zustimmen. Dazu habe ich folgendes noch ausprobiert:

https://github.com/philrandal/Linux-Audio-Adjustments

-> Simple tweaks for better sounding audio on Raspberry Pis

To improve the sound of the Raspberry Pi using Debian and other distributions of Linux several parameters can be adjusted.

1. Improving the priority of the Audio group
2. Improving the audio thread priority
3. Improving the latency of the Operating System with Kernel adjustments
4. Improve network latency

Damit legt Moode für meine Ohren klanglich nochmal eine kleine Schippe zu.

Gruß
Hendrik
Bild
AudioWolf
Aktiver Hörer
Beiträge: 23
Registriert: 02.01.2019, 01:29
Wohnort: Emsland + Raum FaM

Beitrag von AudioWolf »

Hallo Hendrik,

klasse - und vielen Dank für den Link! :D

BR
Jürgen
Bild
steklo
Aktiver Hörer
Beiträge: 102
Registriert: 08.07.2015, 15:52

Beitrag von steklo »

Hallo,

piCorePlayer lässt auch ziemlich umfangreiche Optimierungen zu, u.a. auch Einstellungen, die die Rechenlast der CPU reduzieren bzw. auf verschiedene Kerne verteilen. Eine tolle Anleitung, die mir, der ich keinerlei Ahnung von solchen Dingen hatte, sehr geholfen hat, gibt es im Blog von Klaus "soundcheck":

https://soundcheck-audio.blogspot.com/p ... intro.html

Viele Grüße
Stefan
Bild
Schischu
Aktiver Hörer
Beiträge: 47
Registriert: 08.07.2020, 07:21
Wohnort: LK Limburg-Weilburg

Beitrag von Schischu »

Hallo zusammen,

CPU Isolation funktioniert bei moode auch ->
sudo pico /boot/cmdline.txt -> Textzeile isolcpus=x ( x = zu isolierender Core 0-3 - man kann auch 2 Cores zuweisen mit z.B. 2,3 )

Dann dem mpd den isolierten Core zuweisen - im folgenden Beispiel 2+3 ->
sudo pico /lib/systemd/system/mpd.service -> Zeile: ExecStart=/usr/local/bin/mpd --no-daemon $MPDCONF ändern in ExecStart=/usr/bin/taskset -c 2,3 /usr/local/bin/mpd --no-daemon $MPDCONF

Zudem kann man die CPU Priority von mpd noch erhöhen ->
CPUSchedulingPriority=43 -> Standardwert ist 43 - höher auf z.B 70
Nice=-10 -> Standardwert ist -10 - höher auf z.B. -15

Versuch macht klug ... :wink:

Gruß
Hendrik
Bild
AudioWolf
Aktiver Hörer
Beiträge: 23
Registriert: 02.01.2019, 01:29
Wohnort: Emsland + Raum FaM

Beitrag von AudioWolf »

Hallo Hendrik,

:D

Danke Schön!

BR
Jürgen
Bild
higginsd
Aktiver Hörer
Beiträge: 290
Registriert: 21.10.2021, 13:32
Wohnort: Aachen

Beitrag von higginsd »

Hallo Zusammen!

RoPieee XL könnt ihr euch auch gerne ansehen und ausprobieren. Ist ein schlanker Roon-Bridge Client für den Pi.

http://ropieee.org

Viele Grüße
Dirk
Bild
Antworten