Skip to content

Instantly share code, notes, and snippets.

@phillhocking
Created December 24, 2021 04:37
Show Gist options
  • Save phillhocking/2700d3e69852433b1df37764a18daf96 to your computer and use it in GitHub Desktop.
Save phillhocking/2700d3e69852433b1df37764a18daf96 to your computer and use it in GitHub Desktop.

Revisions

  1. phillhocking created this gist Dec 24, 2021.
    36 changes: 36 additions & 0 deletions patchbay.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,36 @@
    #!/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