Created
December 24, 2021 04:37
-
-
Save phillhocking/2700d3e69852433b1df37764a18daf96 to your computer and use it in GitHub Desktop.
Pulse/Jack/Carla Automation Script (Assumes Audiobox USB96 but if you are dumb enough to be trying this figure out yourself with pulsectl)
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 | |
# Start Jack daemon | |
jack_control start | |
# Jack -> Pulse return | |
PAM1=$(pactl load-module module-jack-source source_name=pulse_return client_name=pulse_return connect=false) | |
# Pulse return source -> Sink loopback | |
PAM2=$(pactl load-module module-loopback sink=alsa_output.usb-PreSonus_AudioBox_USB_96_000000000000-00.analog-stereo source=pulse_return source_dont_move=true sink_dont_move=true) | |
# Jack sink for Virtual Microphone | |
# Pulse sink -> Jack (no fx, just passthrough) | |
PAM3=$(pactl load-module module-jack-sink sink_name=pulse_send_virtual_microphone client_name=pulse_send_virtual_microphone connect=false) | |
# Pulse echo cancel (Virtual Microphone -> Mix for Virtual Microphone) | |
PAM4=$(pactl load-module module-echo-cancel use_master_format=1 sink_name=virtual_microphone source_name=virtual_microphone aec_method=webrtc aec_args="analog_gain_control=0\\ digital_gain_control=1\\ experimental_agc=1\\ noise_suppression=1\\ voice_detection=1\\ extended_filter=1" \ source_properties=device.description=Virtual-Microphone sink_properties=device.description=Virtual-Microphone) | |
# Pulse echo cancel -> Pulse send to Jack | |
PAM5=$(pactl load-module module-loopback source=virtual_microphone sink=pulse_send_virtual_microphone) | |
pacmd set-default-source virtual_microphone | |
if [ $# -eq 1 ]; then | |
nice -n -11 carla ~/carla_patches/$1.carxp | |
else | |
carla ~/carla_patches/launchjack.carxp | |
fi | |
pacmd set-default-source alsa_input.usb-PreSonus_AudioBox_USB_96_000000000000-00.analog-stereo | |
pactl unload-module $PAM5 | |
pactl unload-module $PAM4 | |
pactl unload-module $PAM3 | |
pactl unload-module $PAM2 | |
pactl unload-module $PAM1 | |
jack_control stop |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment