External Publication
Visit Post

Helvum has been helpful to use to map Pipewire inputs

mradcliffe April 2, 2026
Source

It isn’t the greatest application, but Helvum has been helpful to me recently in order to setup a combine audio input from output and input. This allows me to use OBS Studio to live caption both my own microphone input and audio output. It is a little awkward to use, and I have not been able to delete edges, but it works.

First I make sure I have a null audio sink and source created using a script that I stole from, of course , not the accepted answer on “How to create a new pipewire virtual device that to combines an real input and output into a new input?”.

#!/bin/shSINK_NAME=combined-sinkINPUT_NAME=combine-input# Unload null sink, if loaded.pactl unload-module module-null-sink || true# Make new sink.pactl load-module module-null-sink media.class=Audio/Sink sink_name=$SINK_NAME channel_map=stereo >> /dev/nullpactl load-module module-null-sink media.class=Audio/Source/Virtual sink_name=$INPUT_NAME channel_map=front-left,front-right >> /dev/null

Then I open Helvum and applications so that I can drag the audio input and output from the applications nodes into the “combined-input Audio/Source/Virtual sink” node. I do this because I found if I am using my web browser on a call, then I would want to map Firefox’s audio input and output rather than all audio output and input via the device. This allows my mic input to be mutable so I don’t send keyboard and mouse clicks and clacks.

Then I open OBS, confirm that my audio capture is using “combined-input Audio/Source/Virtual sink”, ensure that the Cloud Closed Captions plugin settings is capturing output from that audio capture source, and I’m pretty much done. I do lack any ability to segment audio and check individual audio levels, but with more inputs into the combined-sink.

I know I could probably do this with pw-link but that is kind of confusing and I never know what’s what until I have to go look it up. So the graphical representation has been helpful as a casual user.

Discussion in the ATmosphere

Loading comments...