Originally Posted by: dtmmedia Is anyone aware of a way to insert external audio processing on either an input or buss? For example, I'd like to send vMix Call inputs to an external console via Dante then return them back on the same input. I know I could theoretically route each call audio to a buss and then return it back as a separate input, but it seems like that could turn into a mess. Some DAW's have a plugin for external audio I/O, is anyone aware of a way to do something like that within vMix?
I had the idea to do this also, so I'm chipping in here with a "+1". I've seen a number of threads asking about breaking out the audio chain (called a channel insert on a traditional mixer) on inputs before for the purpose of processing the audio externally, but the results of those threads is either that it's not resolved or that it's suggested all processing be done in VSTs or using vMix's own effects. I'm sure that suits many people fine, but it isn't suitable for high quality productions with a dedicated sound person mixing everything, including different IEM mixes (in our case usually with Yamaha QL series and Waves server handling both vMix calls and local mics, as well as video playback audio etc).
Currently our method is to use the buses, which is inconvenient for a couple of reasons - one is that it chews up buses which otherwise might be needed for other tasks in a complicated production, even if you reduce it to only 4 buses for vMix calls by using the two channels in each bus for a separate call. The other is that it breaks the mix minus. The end result is callers have to sit in their own bus and listen to each other's unprocessed audio, and be fed an "all calls minus" PGM feed giving them a bad viewing (listening) experience of the show. It also means mutes have to be handled in vMix. Adding a second vMix box for calls only solves the issue of consuming many buses.
I found that there is an old and experimental VST2 plugin which does exactly what you (and I) would like - Bridge VST to ASIO and back, but it's VST2, so no use in VMix (http://www.pcjv.de/vst-plugins/effect-plugins/utilities/). I also thought about abusing the ReaStream plugin and using a plugin host to break out to ASIO, but that's VST2 only also (https://www.reaper.fm/reaplugs/).
It's gotten to the point where I've considered looking into writing my own plugin, but I'm not much of a coder and have zero experience writing a VST3 plugin. It will take me days of fighting with syntax and build environments and stuff that someone with experience could probably do in half an hour.
However, one downside of the VST3 ASIO bridge approach is that it will cause problems with vMix using the same ASIO driver directly. It would either require dedicating a device for this purpose, or running everything through a virtual ASIO device such as SAR (https://github.com/eiz/SynchronousAudioRouter) or the HiFI VB-Cable or similar (https://vb-audio.com/Cable/). That both adds latency and also a point of failure. I'd rather not be adding random software routers into the mix (heh heh), as using VST3 is "bad enough".
For that reason the best solution would be if vMix could support channel inserts natively. Then the same device (RedNet Dante in our case) can be used globally in vMix and there's no random software routers and VST hosts etc adding more chance of dropouts.
I would finally like to add, that while it's tempting to just reply again with "use vMix for mixing!", please understand that there are productions with high production values and split operation that just cannot do that, and that there are a number of production houses using vMix even in this small country who have run up against this situation, so it's in no way an unreasonable request, even if it's not something you yourself can imagine needing.
Sorry for the brain dump but I'm hoping that maybe one day someone out there understands and a solution appears :).