Splitting Out Spotify: Streaming & Recording With “Tracks” in OBS
It’s a known fact that using streamed footage to create YouTube videos is a fantastic way to repurpose content. However, for a lot of streamers, their music of choice on stream leaves them with a problem: YouTube’s (seemingly random) stance on copyright. Using popular songs is guaranteed to get you a strike, but it’s difficult to know or discern if a lesser-known song is OK for streaming use. Even Spotify playlists that tout themselves as ‘streamer-friendly’ have been known to attract monetization claims on a published YouTube video.
The best solution, then, is to be able to control what music you play on your YouTube videos. But if you’re using recorded stream footage, can you actually do that if you play music on your streams?
As it turns out, yes. Yes you can. But be warned: it takes fundamentally changing how your computer handles and processes audio in order to get this working. If you’re OK with this (and, as someone who is actively doing this himself, it’s really not as bad as it sounds) then you can stream with Spotify running and record the exact same footage, sans the Spotify audio.
Step 0: The Software
For this tutorial, you’ll need a few different software packages installed:
- OBS – your streaming software
- VoiceMeeter Banana (VM Banana) – yes, the name is silly, but it’s a powerful ‘software mixer’ that will allow you to control the volume of various software on your computer.
- VoiceMeeter Cable (VM Cable) – If VM Banana is your mixer, then this is your Aux cable – it allows you to create a separate I/O for your audio. We will then map Spotify to this I/O and control its volume separately via OBS’ tracks.
Install VoiceMeeter Banana and restart your computer.Install VoiceMeeter Cable as well, but before you restart again, open VoiceMeeter Banana via Windows and make sure the “System Tray (Run at Startup)” option is checked. This will start VM Banana on every restart. Speaking of, restart your computer.
Step 1: Setting Up Your System
When you restart your computer, you may notice you have no sound. That’s because we haven’t wired anything up in VM Banana, nor have we set VM Banana as our default sound ‘output’. While you’re at it, open Spotify and start playing music. Yes, you won’t hear it, but it’s a good indicator that you’ve got things working if you can hear music.
Click on the Advanced Sound Options sub-option “App volume and device preferences”.
You’ll see the related options screen, as below:
Change the output to VoiceMeeter Aux Input (it may be followed by something in parentheses, but that’s the option you want). This will start routing all of the audio through VoiceMeeter.
You also want to set the Spotify window (which will be called whatever song you are playing right now) to your CABLE Input. This will separate the audio into a separate track that we will control.
Step 2: Setting Up VoiceMeeter
You still don’t have audio playing right now, so let’s fix that.
There’s a lot going on here, so let’s discuss.
On the left are various ‘inputs’ – both software and hardware based. On the right is a mixer with various ‘masters’, and on the top-right a ‘hardware’ out that selects what speakers you want to output to. Whatever you had as your default ‘output’ in the last section is what you will select with the HARDWARE OUT option. This connects the mixer with the physical sound hardware so you can actually hear things.
On the bottom right are ‘output sliders’ with various names – A1, A2, B1, etc. The A mixers are physical, and the B mixers are virtual.
This is a lot to take in, but if we break it down, here’s what we’re doing:
We want ALL of our audio to output to our speakers, but only SOME of our audio to mix into certain output mixers.
Here’s the step-by-step process I followed:
- Right-click on the title of the “CABLE Output” input. A text box should pop up allowing you to name it. Name it “Spotify”. We don’t want this on our virtual tracks (The B tracks) so select the A1 next to the fader.
The “Voicemeeter AUX Input” should have ALL of our audio, so select both A1 and B1, which is Spotify + all of our other Desktop audio (game sounds, windows sounds, etc.)
Somewhere along this process you should start hearing your Spotify music through your speakers. Huzzah! You’ve made all the connections. You can now start to adjust the input/output faders to the appropriate level of sound. You want to ‘normalize’ one of your volume inputs and use the other to adjust. That means either Spotify is left at a certain volume, or the mixer, while the other is adjusted as you need to.
Once you’ve adjusted your volume levels (make sure to fire up a game so your game audio is working as well!) then you can move into OBS to set the appropriate settings.
Step 3: OBS Settings
Open OBS and open your [Settings] button. Click on the Audio tab. You’ll see under Devices you have several Mic/Auxilary Audio settings, and a few “Desktop Audio” settings. We want to disable ALL of the Desktop Audio settings – since we’re controlling the Desktop Audio through the mixer, we will make the appropriate fixes to ensure that is the case.
I don’t capture my microphone (personally) so I have my Mic set up as “Mic/Aux 1”. I have my VoiceMeeter Output set as my “Mic/Aux 2”, and my CABLE Output as “Mix/Aux 3”. This means all of my sources (Microphone, Desktop Audio, and Spotify) are now routed to separate microphone inputs in OBS.
Apply the options, then click on the “Output” tab. We want to make sure of two things:
- That our entire audio (Track 1) is streaming
- That our audio minus Spotify (Track 2) is set for recording
We haven’t actually set up our tracks yet – that’s the next step, but we can go ahead and tell OBS to stream using Audio Track 1, and to record with Audio Track 2 ONLY. Set the options as displayed below:
Hit apply, and close your Settings window.
Finally, we want to assign our ‘microphones’ to the various tracks we just defined.
Click on any of the audio mixer ‘gear’ icons and select “Advanced Audio Properties”
This will bring up a series of mixers, balance faders, and track settings. Remember which ‘microphones’ have which audio? In our example, we have “Mix/Aux 3” set as Spotify. So, on that listing of tracks, we want to make sure it’s ONLY going to Track 1. Everything else needs to be going to Tracks 1 and 2, like so:
And we’re done. Now, when you hit “Start Streaming”, all three tracks (Microphone, Desktop, and Spotify) will stream. But the “Start Recording” button will only trigger your Microphone and Desktop audio sources).
But Mitch, you ask, what if you record and stream? The same concepts apply! The recording will only have your Desktop and Microphone audio, even if it simultaneously streams your Spotify.
I hope you’ve found this guide useful – leave me a message on Twitter @thatmitchcanter if you did. I’ve been very happy to be able to exactly control what audio is on my stream, but to also keep my YouTube audio ‘music free’ to avoid any complications. Good luck, and happy streaming!