Is there an Open Virtual Mixer Software? What would it take to get one going?

I don't think it's controversial to say that the audio mixer in OBS is lacking. It's perfectly fine for basic streaming and more than fine for recording (when you are planning on processing the audio later), but there are a handful of common complaints and issues that haven't been addressed in years, whether because the devs don't have the time, the desire, the know-how, or any/all of the above. And that's okay! I'm not trying to throw shade or anything, just laying it out there. In the meantime, there are a number of virtual mixers that have popped up to solve these problems, but they're all locked to their own hardware and generally missing features that many of us would like. It would be great if someone started work on a companion app to OBS that could still closely integrate with OBS but also improve upon the existing options while making it platform agnostic.

Unfortunately, I don't have the coding know how to get this going myself, but I would be more than happy to contribute money or ideas or testing if that's what it takes to get it going. My thoughts on the pros of an "OVMS":
  • No specific hardware requirements. Users would no longer be tied to specific hardware and could pick and choose based on specs and features instead of arbitrarily-locked software.
  • It would lighten the load on the OBS devs and probably result in a better overall product. The existing audio options could stay in OBS for those who don't want more features, but could also tightly integrate with OBS so that unlike the existing virtual mixers, you aren't losing functionality in OBS by using them (for example, multichannel recording).
  • This is more of a wish list, but these are some of the things that could be improved on over things like Wave Link:
    • Sidechaining, especially with VSTs.
    • Speaking of VSTs, OBS is still limited to VST 2, this could update that to VST 3 and even CLAP.
    • Multiple output streams. For example, using the virtual mixer to mix your stream audio, but still sending individual, unprocessed audio from each channel to OBS for recording purposes.
    • A master channel so users can actually see the total output level (and apply limiting to the master).
    • Latency improvements? I'm not sure if that's possible, but I know Wave Link has a low latency mode that is, for some reason, limited to only game inputs. Many interfaces have their own virtual mixers that operate with no added latency, but that's probably because they operate at the driver/hardware level, so I don't imagine latency can get that low. Still, a guy can dream.
Is anyone else interested in this sort of thing? What would it take to get the ball rolling on it?
 

AaronD

Active Member
This thread exists to no longer hijack a different one. So I'll re-type my thoughts here too.

I think the best way to do this would be to split off the existing audio functionality into a not-quite standalone app, as a copypasta of what presently exists, warts and all. Then OBS proper would not have any audio functionality whatsoever, except to shovel every individual thing separately to that almost-separate app, and take the final results back. The two would ship together and be connected by default so that nothing breaks.

Then, the same API that is created to use between them, could also be used for any other kind of functionality, or code-clean-up, or whatever. Just install a different audio processor and switch to it.
(and rebuild the audio processing from scratch, because they probably won't be settings-compatible)

---

As I said before, OBS proper would then have no audio functionality whatsoever, except for things that absolutely cannot be separated from a picture. Video soundtracks and camera audio, for example, where OBS decodes the incoming stream from a file or network, and ends up with both a picture stream and a sound stream. That sound stream would go directly and independently, as-is with no processing, to the new, almost-separate, audio app.

Mics and other "blind" sound sources would go *directly* to the audio app, so that OBS proper never sees them at all. Likewise for audio outputs: only the final, finished soundtracks to stream and record, go back to OBS proper. No more Monitor, because the audio app takes that over too.

The specific distinction between duties, as described in those two paragraphs, is HUGE! It allows the almost-separate audio app with a separate codebase, to handle connections to hardware, or to other apps, or whatever, in both directions. That includes:
  • The "Hardware Async" problem that presently causes the Monitor to become useless after a while on some sound cards.
  • The "Entire Device" problem that presently causes multiple mics on a many-channel interface to be mashed together before you can work with them.
  • The "One Physical Output" problem that presently requires the Monitor to be (ab)used to feed a DAW, or an online meeting, or an overflow room, or a separate-box hardware encoder, or whatever, at the expense of not having operator's headphones anymore.
  • Probably a few more.
OBS proper would not do ANY of that anymore; it's handled instead by the almost-separate audio app that has its own codebase and dev team behind it.

And as also said before, you can choose how much complexity and functionality you want:
  • If you "only want to" __fill_in_the_blank__, then maybe there'll be one that only does that.
  • If you want to mix a live music festival with it, then maybe there'll be one for that too. (not the same one)
  • If you want to upgrade a rig that already works, then the default one will make it seamless. (and just as bad as it is now)
 
Last edited:
Top