Repository navigation
Audio Routing
Goal: each part of your stream sound is its own source in OBS, so you can mix, filter and record them separately, while you keep hearing everything in your headset.
flowchart LR
Game --> G[Stream · Game]
Spotify --> M[Stream · Music]
Discord --> V[Stream · Voice chat]
Alerts[Browser alerts] --> A[Stream · Alerts]
G & M & V & A --> H[Your headset]
G & M & V & A -.monitor.-> OBS
tuxcast audio setup --restartThis declares four sinks (Stream · Game, Music, Voice chat, Alerts) in
~/.config/pipewire/pipewire.conf.d/tuxcast-sinks.conf. Each is a loopback to your default
output. Choose your own with --sinks game,music,voice,browser.
While an app plays sound:
tuxcast audio route spotify music
tuxcast audio route discord voice
tuxcast audio route firefox alertsor use pavucontrol (Playback tab) or your desktop's sound settings. PipeWire remembers the
choice for the next time the app plays. Games: start them, then route them to game.
For each sink: Sources → + → Audio Output Capture (PulseAudio), device Monitor of Stream · Music (and so on). Then mute OBS's global Desktop Audio so nothing is captured twice.
- Settings → Output → Output Mode: Advanced → Streaming: tick Twitch VOD Track and pick track 2. The option appears when the stream service is Twitch.
- Edit → Advanced Audio Properties: give every source tracks 1 and 2, except the music source, which only gets track 1.
Live viewers hear the music; the VOD, built from track 2, does not.
The obs-pipewire-audio-capture plugin captures one application directly. It is simpler when you only need OBS to separate apps; tuxcast's sinks also let other tools (a recorder, a meter, Discord's own capture) see the same split.
tuxcast audio remove --restartGenerated from docs/guides/audio.md. Edit it there: this page is overwritten at each change.
Website · Repository · Issues · MIT licensed