You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
homepage/content/post/pulseaudio-network-audio.md

64 lines
1.9 KiB
Markdown

---
date: 2015-06-14T00:19:30+01:00
title: Pulseaudio as network audio sender/receiver
author: jochum
tags:
- Howto
- Linux
- Pulseaudio
- Network Audio
---
I use Pulseaudio to send my audio to a different computer where i have a sound system plugged in,
and i switch between computers with sound stations.
This howto will help you to create you'r own OSS Network audio sender and receiver.<!--more-->
#### This is what i do on each receivers (servers)
You might want to change **10.0.0.0/8** to your own IPv4 subnet you want allow to send audio.
mkdir $HOME/.pulse
cp /etc/pulse/default.pa $HOME/.pulse
echo "load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;10.0.0.0/8" >> $HOME/.pulse/default.pa
pulseaudio --kill
sleep 2
pulseaudio -D
#### On the sender (client)
On the client i create multible configurations, change **<name>** to your name you want. (like home/company/friend).
mkdir $HOME/.pulse
cp /etc/pulse/client.conf $HOME/.pulse/client-nonet.conf
cp /etc/pulse/client.conf $HOME/.pulse/client-<name>.conf
echo "default-server = 10.167.160.103:4713" >> $HOME/.pulse/client.conf
#### Receiver switch script (on the client)
I use this script to change between receivers, sometimes i need to call it twice to work.
mkdir $HOME/bin
source $HOME/.bashrc
cat << 'EOF' > $HOME/bin/pulseswitch
#!/bin/sh
if test -z "$1"; then
echo "USAGE: pulseswitch [nonet|<your-config>]"
exit 1
fi
echo "Switching to \"$1\"."
/bin/ln -fs $HOME/.pulse/client-$1.conf $HOME/.pulse/client.conf
/usr/bin/pulseaudio --kill
/usr/bin/pulseaudio -D
if [ "x$1" = "xnonet" ]; then
echo "Unloading the net module."
/usr/bin/pactl unload-module module-native-protocol-tcp
else
echo "Loading the net module."
/usr/bin/pactl load-module module-native-protocol-tcp
fi
/usr/bin/pulseaudio --kill
/usr/bin/pulseaudio -D
EOF'