This is an old revision of the document!
Table of Contents
PulseAudio-server
De PulseAudio-server draait op hoek.
Gebruik
CLI
Het kan zijn dat je eerst pacman -Sy pulseaudio-rtp
moet doen
pactl load-module module-null-sink sink_name=rtp sink_properties=device.description=Korner
pactl load-module module-rtp-send source=rtp.monitor destination_ip=10.0.0.8
- Hierna kan je in
pavucontrol
“Korner” selecteren als output om af te spelen naar hoek
Vroeger speelden mensen muziek op de volgende manier, maar gezien dat over TCP gaat ipv UDP, gaf dat vrij veel haperingen wanneer je draadloos verbonden was
- Zorg dat je verbonden bent met het Zeus-netwerk.
PULSE_SERVER=korner.kelder.local muziek_spelend_programma
GUI
- Zorg dat er een network discovery daemon zoals Avahi draait.
pacman -Sy pulseaudio-zeroconf
- Kopieer
/etc/pulse/default.pa
naar~/.config/pulse/default.pa
- Voeg
load-module module-zeroconf-discover
toe aan~/.config/pulse/default.pa
- Herstart Pulseaudio service om nieuwe config te laden.
hoek zou nu te kiezen moeten zijn in dropdownmenu's van programma's zoals pavucontrol
.
Troubleshooting
PulseAudio-foutmeldingen, of muziek speelt enkel lokaal
- Kijk dat je zeker met het Zeusnetwerk verbonden bent.
- Programma's die met snap geïnstalleerd zijn, draaien in een container die de environment reset. Het is niet haalbaar om er de nodige environmentvariabelen in te injecteren. Verwijder de snap-versie van het programma en probeer het op een andere manier te installeren. (Dit zagen we bij mensen die op Debian-derivatives Spotify geïnstalleerd hadden. De Debian-package-versie installeren loste dat op.)
Server setup
daemon.conf wordt altijd uitgevoerd door de pulseaudio daemon, client.conf door clients die met de daemon willen verbinden, default.pa door user instanties van de daemon en system.pa door system instanties van de daemon
Configureer PulseAudio
- Installeer PulseAudio:
pacman -Sy pulseaudio pulseaudio-alsa
/etc/pulse/client.conf
- Stel
default-sink
endefault-source
in. - Zet
autospawn
opyes
.
/etc/pulse/daemon.conf
- Zet
system-instance
opyes
.
/etc/pulse/system.pa
- Stuur line in door naar line out. Voeg
load-module module-loopback source=“alsa_input.pci-0000_00_1b.0.analog-stereo” sink=“alsa_output.pci-0000_00_1b.0.analog-stereo”
toe. WAARSCHUWING: Zet het volume van de Line In op “onversterkt” (op hoek is dat rond de 10%), anders gaan de boxen instantaan kapot als er iets van geluid binnenkomt.
Start PulseAudio daemon on boot
- Creëer pulse user en groep en voeg toe aan audio-groep.
groupadd –system pulse
useradd –system -g pulse -G audio –home-dir /var/run/pulse pulse
- Geef pulse user toegang tot D-Bus. Zie /etc/dbus-1/system.d/pulseaudio.conf.
- Creëer systemd service file. Zie /etc/systemd/system/pulseaudio.service.
systemctl –system start pulseaudio
systemctl –system enable pulseaudio
/etc/systemd/system/pulseaudio.service
[Unit] Description=Sound Service After=sound.target [Service] Type=notify PrivateTmp=true ExecStart=/usr/bin/pulseaudio --system --disallow-exit --disallow-module-loading Restart=on-failure [Install] WantedBy=multi-user.target
/etc/dbus-1/system.d/pulseaudio.conf
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> <busconfig> <policy user="pulse"> <allow own="org.pulseaudio.Server"/> <allow send_destination="org.pulseaudio.Server"/> <allow receive_sender="org.pulseaudio.Server"/> </policy> </busconfig>
Network access enablen
Voeg load-module module-native-protocol-tcp auth-anonymous=true
toe aan /etc/pulse/system.pa
. Eventueel kan er een IP-whitelist als optie worden meegegeven: auth-ip-acl=10.1.2.42,10.1.2.50
.
Network publishing enablen
Installeer Zeroconf modules voor Pulseaudio en draai Avahi.
systemctl –system enable avahi-daemon
pacman -Sy pulseaudio-zeroconf
- Voeg
load-module module-zeroconf-publish
toe aan/etc/pulse/system.pa
Nuttige commando's
- amixer
- pacmd list-cards
- pacmd list-sources
- pacmd list-sinks
- pactl load-module …
Cursed setup
Onze nieuwe kelder host draait een cursed setup met custom PulseAudio-fork en for some unknown reason FreeBSD.
PulseAudio
Voor het opstarten van deze cursed setup moet de standaard PulseAudioserver van de FreeBSD niet draaien. Normaal is deze disabled door doas service pulse disable
. Als de server om de een of de andere reden toch draait, kill die gewoon met doas pkill -9 pulseaudio
.
Zorg ervoor dat er modules aanwezig zijn in /usr/ports/audio/pulseaudio/work/pulseaudio-14.2/src/.libs
en /usr/ports/audio/pulseaudio/work/pulseaudio-14.2/src/.libs/.libs
(vraag aan @redfast00 waarom het zo moet zijn). Hierna kan je de PulseAudio-fork opstarten in een tmuxsessie:
tmux new-session -s pulseaudio /usr/ports/audio/pulseaudio/work/pulseaudio-14.2/src/pulseaudio -v --system --disallow-exit
Detach van de sessie en done!
Shairport-sync
Shairport-sync (https://github.com/mikebrady/shairport-sync/blob/master/FREEBSD.md) is geïnstalleerd als een service en zou moeten starten als korner boot. Om te herstarten: doas service shairport_sync restart
.