So my sync issues are happening between sources which are sent separately. So that is my bad.
I was looking at how I could combine the two for transmission together. However I cannot find a way to combine my cam and mic channels together. I tried putting the two into a scene but I cannot attach a beam sender to it. Do you know of any other way I could get around it?
That's really something which could be debugged better in an interactive chat, to also explore your setup bit by bit. The issues you describe are sounding like what you would run into half way into an audio separation attempt, because by default you would only have the opposite problem, that everything is mixed together and you want it separated, i.e. you set your desktop audio device and input device (mic) in OBS, and then everything would be mixed together in OBS, so when sending this from a Beam output you would have your game/desktop capture, cam, desktop audio (e.g. game sound, Music, Discord...) and mic sound all in one Beam feed and for this scenario nothing would get desync (or you ran into a very rare case that I didn't find and fix yet).
If from there you want to separate your music track for the Twitch VOD track (as you stated above), I don't know how it would happen that suddenly you can't sync your mic (which somehow is suddenly separate?), so I assume there is a few more steps you've taken that I don't know about - and that probably didn't make sense to begin with :-)
But really, I mean it when I say it, this kind of audio stuff is hard, pretty much everyone is struggling with getting it right on their first attempt. Which is why the OBS Discord has an #audio-setup channel only for this. I won't be able to set this up with you here on this discussion forum, unless we want to go back and forth in 200 posts for weeks or months, and it's also not really in the scope of what I am able to support here. It's not really a Beam question either, you'd have exactly the same challenges with NDI or Teleport or even a capture card setup. Coincidentally, only within the last few days I have literally seen someone ask how to do such a setup for NDI, Teleport and capture card each on that Discord (3 different users indepedently from each other), which doesn't surprise me, it's a very common thing.
None of the setups you could use are easy or straightforward. To only give some rough ideas about various concepts (I am by no means very experienced with this either and probably miss or misremember a few things):
- Use VoiceMeeter to have virtual audio devices. Play your game sound to one virtual device, music to another. Usually you would do this by having the device that is supposed to capture game sound and things like Discord or stuff that is played when you open a browser configured as your default audio device in Windows. This is what you also select as desktop audio device in OBS, so that all of that becomes part of the main feed which will be in the main Beam output (the one configured from the Tools menu on the sender OBS). Then you configure a different virtual audio device for your music player, which can be either done from the settings of the music player itself or in Windows.
Now in VoiceMeeter you can set up what goes where, make sure that the virtual device the music is played to is routed to your physical audio output (e.g. your headphones). This way you can hear it yourself, but OBS will not capture it in its main feed, since it's not in the virtual device that you configured as your default device.
Next you add an additional audio capture source to OBS and set this to the virtual device that contains the music. Add a Beam audio sender filter to this, call it "Music".
On the receiver side you can now add a source for the main Beam output, which will contain your video scene, your mic audio and all of the desktop sound played to the default device on your gaming PC, except the music, since you configured that to play to the separate device. Then you add another Beam source tuned into the "Music" feed which you can then assign to the Twitch VOD track in OBS, and the main audio source to all tracks.
- Even without VoiceMeeter you can do something similar if you have an audio device in your system that you don't need, e.g. many people have an audio device from their PC monitors. This could be used as a virtual device to play your music to, but only if your monitor doesn't have speakers (mine would play something to a chinch output, and just play nothing when nothing is plugged in). You can then add this audio device to OBS the same way as above (as audio capture) and set it to Monitor Only in the advanced audio properties (or don't assign it to track 1, IIRC Beam will only transmit what is on this track), this way only you will hear the music that is played to it but it will not become part of the Beam output. And then same thing as above, add a Beam filter to it, call it "Music" and follow the steps described in the first bullet point.
- Another way would be to use the "Application Audio Capture (BETA)" sources, but then you need to capture everything separately and can't use desktop audio. So you add one capture for game sound, one for Discord, one for a browser, whatever you need to be in the main feed. Leave these on default settings so that they're played on both your audio monitor and the main feed. The same way, add an app audio capture for your music player app, e.g. Spotify, and the same as above don't assign it to track 1 or set it to monitor only so that only you hear it, add a Beam filter to it, again, same as above.
In all of these setups your mic sound stays in the main output where also the cam and game sound are, so it wouldn't get out of sync with them (especially not the cam, which is important for lip sync). The music being a separate feed might go out of sync a bit in this setup, but viewers could only ever notice this if you're singing along - maybe then just don't do this :-P
But really, this is only to give you a starting point, try to find help in an interactive chat if you run into issues with it, and don't be ashamed about it, almost everyone is having a hard time getting it right.