I’ve been playing ARC Raiders, and seeing people playing music into their microphone got me to find a way to do that on Linux. Fortunately, it doesn’t take much to set it up, but it took me couple of days to piece that commands together. I wrote a post about it, and I figured people here may find this useful.

TLDR: Bind these scripts to a key

Setup Script

src=alsa_input.usb-Samsung_Samsung_USB_C_Earphones_20160406.1-00.analog-stereo; # Sets the microphone name
pactl load-module module-null-sink sink_name=Combined sink_properties=device.description="Combines-real-mic-with-sound-effects"; # Create a virtual device
pactl load-module module-loopback source=$src sink=Combined; # Make microphone play sound into the virtual device

Toggle Microphone Script

dev=alsa_input.usb-Samsung_Samsung_USB_C_Earphones_20160406.1-00.analog-stereo
vol=$(pactl get-source-volume $dev | grep -o '[0-9]\+%' | head -n1 | tr -d '%')

if [ "$vol" -eq 0 ]; then
    pactl set-source-volume $dev 100%
else
    pactl set-source-volume $dev 0%
fi

Play Sound Script

# Optionally add "pkill paplay" so that sound can never overlap
paplay --device=Combined --volume 30000 <Path to the file you want to play>
# Optionally repeat the same command but without the --device flag so you know what's being played in the microphone

Kill All Sound Being Played

pkill paplay
  • [object Object]@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 days ago

    Back in the day a buddy put on a Britney Spears’ album while playing Starcraft. Turns out, one of her songs has the same sound as the nuke warning in Starcraft, which inevitably got the dude panicking.

    Which is to say, perhaps Arc Raiders has a triggering sound as well.