create-pulse-sinksources
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
if [ "$1"=="cleanup" ];then | |
pactl unload-module module-loopback | |
pactl unload-module module-null-sink | |
pactl unload-module module-echo-cancel | |
exit | |
fi | |
# Unload and reload the echo cancel to make sure it is setup properly | |
pactl unload-module module-echo-cancel &> /dev/null | |
#pactl load-module module-echo-cancel use_master_format=1 aec_method=webrtc aec_args=\""analog_gain_control=0 digital_gain_control=1"\" source_name=EchoCancelledSource sink_name=EchoCancelledSink sink_master=alsa_output.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00.analog-stereo source_master=alsa_input.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00.mono-fallback | |
pacmd load-module module-echo-cancel use_master_format=1 aec_method=webrtc source_name=EchoCancelledSource sink_name=EchoCancelledSink sink_master=alsa_output.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00.analog-stereo source_master=alsa_input.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00.mono-fallback | |
# Make the Echo cancelled ones default source & sink | |
pactl set-default-source EchoCancelledSource | |
pactl set-default-sink EchoCancelledSink | |
# Create virtual Sink for audio that will be captured in addition to mic | |
pacmd load-module module-null-sink sink_name=CapturedAudio sink_properties=device.description=CapturedAudio | |
# Create virtual sink for combined CapturedAudio and Mic | |
pacmd load-module module-null-sink sink_name=CombinedAudio sink_properties=device.description=CombinedAudio | |
# Use loopback to feed the mic audio & CapturedAudio's monitor into the CombinedAudio sink | |
#pacmd load-module module-loopback source=alsa_input.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00.mono-fallback sink=CombinedAudio | |
pacmd load-module module-loopback source=EchoCancelledSource sink=CombinedAudio latency_msec=1 | |
pacmd load-module module-loopback source=CapturedAudio.monitor sink=CombinedAudio latency_msec=1 | |
# Use loopback to also feed the CapturedAudio back to the speaker so I can hear it | |
#pacmd load-module module-loopback source=CapturedAudio.monitor sink=alsa_output.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00.analog-stereo | |
pacmd load-module module-loopback source=CapturedAudio.monitor sink=EchoCancelledSink latency_msec=1 | |
# Now make the CombinedAudio monitor the default input | |
pactl set-default-source CombinedAudio.monitor | |
# Now for any application you want to be included in CombinedAudio.monitor source, set it to use the CapturedAudio sink | |
# with pavucontrol or otherwise |