Page MenuHomeGitPull.it

PulseAudio script for a remote web-radio control room with guests (module-null-sink)
ActivePublic

Authored by valerio.bozzolan on Jan 15 2021, 09:34.
# This should be considered in the public domain
# Documentation
# https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#module-loopback
# Container for guest voice and music
pactl load-module module-null-sink sink_name=GuestVoiceAndMusic
pacmd update-sink-proplist GuestVoiceAndMusic device.description=GuestVoiceAndMusic
pacmd update-source-proplist GuestVoiceAndMusic.monitor device.description=GuestVoiceAndMusic.monitor
# Container for my microphone
pactl load-module module-null-sink sink_name=HostVoice
pacmd update-sink-proplist HostVoice device.description=HostVoice
pacmd update-source-proplist HostVoice.monitor device.description=HostVoice.monitor
# Container for the complete output
pactl load-module module-null-sink sink_name=RadioOut
pacmd update-sink-proplist RadioOut device.description=RadioOut
pacmd update-source-proplist RadioOut.monitor device.description=RadioOut.monitor
# Create a loopback to capture the microphone
pactl load-module module-loopback sink=RadioOut
# Redirect GuestVoiceAndMusic.monitor to RadioOut
pactl load-module module-loopback source=GuestVoiceAndMusic.monitor sink=RadioOut
# Redirect HostMicrophone to RadioOut
pactl load-module module-loopback source=HostVoice.monitor sink=RadioOut
# Create another loopback to listen the GuestVoiceAndMusic in headphones if you want
pactl load-module module-loopback source=GuestVoiceAndMusic.monitor
# Create another loopback to listen the complete radio in headphones if you want
pactl load-module module-loopback source=RadioOut.monitor