Netzwerk-Plattenspieler
Submitted by sascha on
Problem: Der Plattenspieler hängt an der Anlage im Wohnzimmer, man will die Musik aber eigentlich in einem anderen Raum hören; weil Kinder schlafen, Musik zu "kulturvoll" etc.
Schlechte Lösung: Kabel durch die Wohnung ziehen
Langweilige Lösung: Bluetooth o.ä.
Schwere Lösung: Plattenspieler tragen ;)
Meine Lösung: Netzwerk-Audio (RTP-Multicast mit pulseaudio)
Man nehme:
- USB-Plattenspieler (habe ich nicht, ich habe aber jüngst meinen Vorverstärker durch das Teil hier ersetzt)
- Pi (bei mir ein Pi2 mit OSMC, eine beliebige andere Distro tut es sicher auch - hautpsache pulseaudio ist vorhanden)
- pulseaudio
Rezept:
- ggf. pulseaudio installieren
sudo apt-get install pulseaudio pulseaudio-utils
- Name der Quelle ermitteln, z.B.:
pactl list sources | grep alsa_input.usb
- pulseaudio-Konfiguration bearbeiten (RTP-Sender aktivieren und USB-Quelle per Loopback zur RTP-Senke routen)
sudo nano /etc/pulse/default.pa
und dies hier einfügen - Quelle unten anpassen!### Load the RTP sender module (also configured via paprefs, see above) load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='Plattenspieler'" load-module module-rtp-send source=rtp.monitor #usb-adc auf rtp ausgeben #load-module module-loopback source=1 sink=2 load-module module-loopback source=alsa_input.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00-CODEC.analog-stereo sink=rtp
- pulseaudio starten - vielleicht erstmal im Vordergrund
pulseaudio -v
Schön ist, dass die analog-Schiene des Plattenspielers unabhängig weiterlaufen kann. Die restlichen Aufgaben des Pi sind unbeeinträchtigt, da z.B. kodi i.A. direkt mit den SOC-ALSA-Devices spricht und pulseaudio alleine auf dem USB-Gerät arbeiten kann. CPU-Last von pulseaudio ist (bei mir auf dem Pi2) fast vernachlässigbar; selten sieht man über 10%.
Clientseitig empfehle ich natürlich ebenfalls Linux ;). Falls pulseaudio läuft (und das tut es auf den meisten Desktops) wird der Stream sofort eingesammelt und abgespielt (wenn das rtp-rcv-Modul geladen ist!). Man kann auch gleich auf dem Client mitschneiden, so muss der Pi nicht die SD-Karte mit dem unkomprimierten Audio quälen, wenn man mal was digitalisieren will.
Für andere Endgeräte/OSe gibt es sicherlich entsprechende Clients, ist ein offenes, abgehangenes Protokoll.
Ich leg' dann mal 'ne Platte auf ;)