Virtual mixer
Takes the music through an audio graph with two independent outputs. The element's own volume keeps working, it sets the level going into the mixer, and each bus below has its own device, level and mute on top of it.
Monitor what you hear
Stream what OBS records
The mixer output, the music as its own source in OBS
The app publishes the stream bus on a port of its own. Two things follow from that: while the mixer is on, the music no longer plays on the system output at all, so OBS's Desktop Audio can no longer hear it, and OBS gets it only if you add this address as a source. Nothing else on the machine sees it, because nothing else is playing it.
Why publish instead of install a device? Windows only lets a signed kernel driver add an audio endpoint, that is what VB-Cable and VoiceMeeter install, and no application can do it for itself. Publishing does the same job without a driver, without administrator rights and without an install, and it behaves the way you asked: nothing else picks the music up, and OBS gets it only when somebody adds this address. If you do have a virtual cable installed, the mixer above can use it as a bus as well.
OBS audio tracks, and where the music should sit
OBS mixes every source into one live mix, track 1, and that is what chat hears. The other tracks (2–6) are not the stream: they are extra channels written into a recording. A source is put on them in Advanced Audio Properties, and a track you have not ticked in Settings → Output is simply not in the file.
That is what makes the music separable later. Put this output's source on track 2, and
the recording has the music on a channel of its own: you can hand YouTube the file with the
music intact and still mute just that track if a claim turns up, or upload a version with no
music at all by dropping track 2, while chat, listening live, never noticed a thing.
The steps, once:
1. Switch the virtual mixer on (the music leaves the system output, so Desktop Audio stops
hearing it) and switch this output on.
2. In OBS: Sources → + → Browser, paste the address above, size it as small as you
like, it is audio, not video. (Media Source with the /mixer/audio address
also works if a browser source gives you trouble.)
3. Right-click that source → Advanced Audio Properties → tick Track 2.
4. Settings → Output → Audio Track: tick the tracks your recording should write, and
Settings → Advanced → Audio → Tracks to name them.
If you would rather keep the music on the Desktop Audio you already have, you need none of
this: use the Monitor bus alone.
Ad blocker
Drops requests to ad and ad-tech hosts, and keeps YouTube's own ad break out of the stream: muted for the break, and its skip button clicked once. No client spoofing and no patching the player, which is what usually breaks playback.
Off by default, and it will not defeat every ad: YouTube serves some of them through the same endpoints as the video itself. It also cannot help a free account's audio ads the way Premium does, muting is all that is left for those, and muting is what it does.
Sleep timer
Fades the music out and pauses it, whichever of the app’s two players is making the sound, so a stream ends the way a person would end it.
Wiring this into OBS
The stream bus is a real output device, so OBS records it however it records any other device, and nothing else on your machine has to move.
Easiest, with a GoXLR, Voicemeeter or any second output: set the stream bus to that
device's Music channel, then add an Audio Output Capture (or the GoXLR's own OBS
plugin/loopback) for that channel. The music is then its own source in the VOD, with its own
fader, and the game and your mic are untouched.
Or the strictest isolation: set the stream bus to a virtual audio cable and add that
cable's input as an Audio Input Capture, the music is then a track of its own that nothing
else can bleed into.
Or no routing at all: leave the mixer off and use OBS's Application Audio
Capture on this app's window. That needs no device, but it captures whatever the app
plays, so the mixer's two levels are not available to it.
Whatever you choose, Test tone on a bus plays a short beep out of that bus's device, 440 Hz for the monitor, 880 Hz for the stream, so you can hear which fader it landed on without guessing.