Skip to content

Instantly share code, notes, and snippets.

@nik-gnomic
Last active March 1, 2025 00:23
Show Gist options
  • Save nik-gnomic/49bdf124539a0d4a9e650b98f2986682 to your computer and use it in GitHub Desktop.
Save nik-gnomic/49bdf124539a0d4a9e650b98f2986682 to your computer and use it in GitHub Desktop.
VOIPmixxer - jack_mixer configuration for JACK
<?xml version="1.0" ?>
<jack_mixer geometry="807x507" paned_position="377" visible="True">
<input_channel name="Mic" type="mono" volume="0.000000" balance="0.000000" out_mute="False" volume_midi_cc="11" balance_midi_cc="12" mute_midi_cc="13" solo_midi_cc="14"/>
<input_channel name="VOIP call" type="mono" volume="0.000000" balance="0.000000" out_mute="False" volume_midi_cc="15" balance_midi_cc="16" mute_midi_cc="17" solo_midi_cc="18"/>
<input_channel name="Music" type="stereo" volume="-15.000000" balance="0.000000" out_mute="False" volume_midi_cc="19" balance_midi_cc="20" mute_midi_cc="21" solo_midi_cc="22"/>
<output_channel name="LIVE" type="stereo" solo_buttons="true" prefader_channels="Music" color="rgb(102,0,0)" volume="0.000000" balance="0.000000" out_mute="False"/>
<output_channel name="VOIP out" type="stereo" muted_channels="VOIP call" color="rgb(0,0,102)" volume="0.000000" balance="0.000000" out_mute="False"/>
<output_channel name="Speaker" type="stereo" muted_channels="Mic|VOIP call" prefader_channels="Music" color="rgb(0,68,0)" volume="0.000000" balance="0.000000" out_mute="False" volume_midi_cc="27" balance_midi_cc="28" mute_midi_cc="29"/>
<gui_factory default_meter_scale="iec_268_minimalistic" default_slider_scale="linear_30dB" vumeter_color_scheme="default" vumeter_color="#ccb300" use_custom_widgets="False" midi_behavior_mode="0"/>
</jack_mixer>
@nik-gnomic
Copy link
Author

nik-gnomic commented Oct 13, 2021

Linux VOIPmixxer

Configuration for jack_mixer to mix multiple audio streams for VOIP calls, recording and streaming

Similar to Voicemeeter mixer on a proprietary OS, but without any signal processing. Effects can be added to JACK separately with an audio plugin host (jack-rack, Carla or Calf plugins) or standalone LSP plugins

To load mixer with configuration file after JACK is started:

jack_mixer -c /home/$USER/.config/jack_mixer/voipmixxer

jack_mixer-voipmix

Mic and VOIP call inputs are configured as mono channels. Music input channel is stereo

M Mute Button must be enabled for VOIP call to VOIP out to prevent audio from VOIP callers being echoed back to
callers
Mute Buttons for Mic and VOIP call must be enabled for Speaker output so only Music is audible and Speaker audio cannot create any echo effects

P Pre-fade button connects audio for the Live and Speaker outputs before the fader control to ensure the Music audio level remains at 100%

The audio level control for Music input channel controls audio level to VOIP out only. level should be maintained at a low level so VOIP software allows caller to talk over the music

S Solo button for Live output can be enabled to make only one audio stream audible

JACK Patchbay view
jack_mixer-voipmix-patch

voip2jack and aux2jack connections in Patchbay are Pulseaudio JACK Sink connections with custom names

pactl load-module module-jack-sink sink_name=aux_out client_name=aux2jack channels=2 connect=0
pactl load-module module-jack-sink sink_name=voip_out client_name=voip2jack channels=2 connect=0
pactl set-default-sink aux_out

jack2voip is Pulseaudio JACK Source connection with custom name

pactl load-module module-jack-source source_name=voip_in client_name=jack2voip channels=2 connect=0
pactl set-default-source voip_in

speakers output is an additional alsa_out connection to a 2nd output on the same card used for system connections

Additional JACK packages omitted for clarity - audio players, signal processing and live stream hosts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment