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 unknow reason FreeBSD.
Pulseaudio
Voor het opstarten van deze cursed setup moet de standaard pulseaudio server van de FreeBSD niet draaien. Normaal is deze disabled door `doas service pulse disable`. Als voor de een of de andere reden de server 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 @redfast wrrm het zo moet zijn). Hierna kan je de pulseaudio fork opstarten in een tmux sessie:
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!
Shairplay
Shairplay is al installed op korner. Om te reconstrueren, gewoon de volgende stappen:
git clone https://github.com/juhovh/shairplay.git doas pkg install avahi-libdns libao libao-dev cd shairplay doas make configure doas make install
Hierna zorg je ervoor dat je in de directory zit waar er een `airport.key` file aanwezig is (meestal in de `shairplay` folder). De server kan je starten met het volgende:
tmux new-session -s shairplay /usr/local/bin/shairplay -o 5001 -a Zoundzystem