2018

Primary tabs

Netzwerk-Plattenspieler

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
Das wars eigentlich schon - fortan sendet pulseaudio das Audio vom USB als RTP-Multicast ins LAN und wer will kann halt mithören - insbesondere natürlich auch mehrere Teilnehmer. Theoretisch funktioniert das sogar synchron über mehrere Räume - getestet habe ich das noch nicht. Der Datenstrom hat ca. 200kiB/s und hört sich für mich super an.

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 ;)

Subscribe to 2018