Playback device duplication

The Virtual Audio Mixer discussions and support...
Post Reply
nikolifer
Posts: 3
Joined: Thu May 07, 2020 4:01 pm

Playback device duplication

Post by nikolifer »

Hello. I have a problem with my Voicemeeter Banana. I use it for separate Discord sound and game (CS GO) sound for OBS. But the problem is that if I send a sound from game to Voicemeeter input, there is little latency in game (I tried to reduce it by changing settings, but couldn't completely remove it) and it is a problem for me because I hear shots in CS GO with latency.

And now I have a question: is it possible to send sound from game directly to my USB headset (HyperX Cloud II) and then pick up sound from headset, duplicate it and send to another virtual device in Voicemeeter and then to OBS. Something similar I made by AudioRouter with Duplicate function which copy sound to several audio playback devices but it doesn't work very well.

Also a have a problem now: if Voicemeeter is running I can't directly send sound from CS GO to my HyperX headset, if I select it in audio settings there is no any sound, but if I close Voicemeeter everything work good, looks like Voicemeeter is blocking usual playback devices.
xcasxcursex
Posts: 173
Joined: Tue Feb 18, 2020 12:04 am

Re: Playback device duplication

Post by xcasxcursex »

I feel your pain. Latency on game sounds is super annoying and can really throw off your shot timing which can be critical especially with one-shot weapons like the AWP, and also be misleading as to enemy positions etc.

Unfortunately, because windows is not a realtime OS, we need to have significant buffers to do the copying of sound, or, as you've already discovered, it can fail. VM/ VAOI do just that.

What you need to do to reduce the latency is reduce the buffer sizes. How low the latency/how small the buffers, depends greatly on your system.

FWIW, I have my virtual cables' buffers at 1280, max is at 1536, and my WDM buffers in VM at 160, using the Nvidia HDA output as A1, for 2 channel 48kHz audio. Latency is on that is quite low (in the region of 20ms which is where latency becomes near-imperceptible) and barely perceptible in game. I couldn't do that with my onboard soundcard as A1, as it was not stable enough.... So remember, that how low you can push those buffers depends greatly on the timing source, which will be the device you select as the A1 output in VM. So, try it with different devices. I highly recommend the nvidia one if you have it available, it's rock solid. Possibly even better is an ASIO driver if your soundcard supports it.
nikolifer
Posts: 3
Joined: Thu May 07, 2020 4:01 pm

Re: Playback device duplication

Post by nikolifer »

xcasxcursex wrote:I feel your pain. Latency on game sounds is super annoying and can really throw off your shot timing which can be critical especially with one-shot weapons like the AWP, and also be misleading as to enemy positions etc.

Unfortunately, because windows is not a realtime OS, we need to have significant buffers to do the copying of sound, or, as you've already discovered, it can fail. VM/ VAOI do just that.

What you need to do to reduce the latency is reduce the buffer sizes. How low the latency/how small the buffers, depends greatly on your system.

FWIW, I have my virtual cables' buffers at 1280, max is at 1536, and my WDM buffers in VM at 160, using the Nvidia HDA output as A1, for 2 channel 48kHz audio. Latency is on that is quite low (in the region of 20ms which is where latency becomes near-imperceptible) and barely perceptible in game. I couldn't do that with my onboard soundcard as A1, as it was not stable enough.... So remember, that how low you can push those buffers depends greatly on the timing source, which will be the device you select as the A1 output in VM. So, try it with different devices. I highly recommend the nvidia one if you have it available, it's rock solid. Possibly even better is an ASIO driver if your soundcard supports it.
Thanks for your reply! Honestly, I am surprised that the AudioRouter can duplicate sound from one playback device to another but there is no similar soft whitch can do it too but better, more stable and with ability to save settings.
Andres
Posts: 192
Joined: Fri May 01, 2020 7:25 pm

Re: Playback device duplication

Post by Andres »

nikolifer wrote:Also a have a problem now: if Voicemeeter is running I can't directly send sound from CS GO to my HyperX headset, if I select it in audio settings there is no any sound, but if I close Voicemeeter everything work good, looks like Voicemeeter is blocking usual playback devices.
To improve audio performance, Voicemeeter will try to use WDM or KS output devices in exclusive mode so other applications can not use the device while Voicemeeter is running. See What is Exclusive Mode? section in this article.
If you selected your HyperX headset as an WDM output device in Voicemeeter, CS GO cannot use it directly.
Last edited by Andres on Sat May 09, 2020 5:14 pm, edited 1 time in total.
xcasxcursex
Posts: 173
Joined: Tue Feb 18, 2020 12:04 am

Re: Playback device duplication

Post by xcasxcursex »

You're welcome :) Good luck with finding a good latency. It will take some experimentation but you're almost certain to be able to find an improvement from the defaults. VB Audio naturally have to ship the software with reliable defaults for everyone, so the latency out of the box can almost always be reduced for an individual.

Something I didn't mention is swift mode. This can get your latency down a little, but is not always stable (which again is why it is not default for everybody), so you may consider trying it - but it may fail, perhaps after a long time (days of working.... then boom)... So get your buffers nice and small and then when you're sure it is stable, give swift mode a try.
nikolifer wrote:I am surprised that the AudioRouter can duplicate sound from one playback device to another but there is no similar soft whitch can do it too but better, more stable and with ability to save settings.
This is using a fairly new audio API so there hasn't been a lot of work in this area yet. Even windows itself has only recently added features related to these in the control panel (that thing where you can direct individual apps to certain devices rather than using the default device). There are a small handful of such audio routing apps around, but really, you should find that VM will be able to suit your needs without too much latency, provided that your PC is sufficiently well-suited for low-latency audio (which most gaming PCs are)
nikolifer
Posts: 3
Joined: Thu May 07, 2020 4:01 pm

Re: Playback device duplication

Post by nikolifer »

Andres wrote:
nikolifer wrote:Also a have a problem now: if Voicemeeter is running I can't directly send sound from CS GO to my HyperX headset, if I select it in audio settings there is no any sound, but if I close Voicemeeter everything work good, looks like Voicemeeter is blocking usual playback devices.
To improve audio performance, Voicemeeter will try to use WDM or KS output devices in exclusive mode so other applications can not use the device while Voicemeeter is running. See What is Exclusive Mode? section in this article.
If you selected your HyperX headset as an WDM output device in Voicemeeter, CS GO cannot use it directly.
Thanks for explanation! Now I found that if my driver in Voicemeeter to MME, I can send sound directly from CS GO to HyperX. But is it any way to pick up sound from HyperX in Voicemeeter (if it sent directly from CS GO to HyperX) and then send to another virtual VM channel?
Andres
Posts: 192
Joined: Fri May 01, 2020 7:25 pm

Re: Playback device duplication

Post by Andres »

nikolifer wrote:Thanks for explanation! Now I found that if my driver in Voicemeeter to MME, I can send sound directly from CS GO to HyperX. But is it any way to pick up sound from HyperX in Voicemeeter (if it sent directly from CS GO to HyperX) and then send to another virtual VM channel?
Voicemeeter Banana doesn't allow you to capture audio from Playback devices (HyperX USB headset). It can capture audio from applications using only the virtual inputs (VoiceMeeter Input or VoiceMeeter Aux Input).
nikolifer wrote:I am surprised that the AudioRouter can duplicate sound from one playback device to another but there is no similar soft whitch can do it too but better, more stable and with ability to save settings.
Some people use the onboard audio solution (for example Realtek HD Audio) to duplicate the audio stream going to the playback device through something called Stereo Mix (a recording device). This functionality is enabled by the driver; Microsoft provided HD Audio "class driver" doesn't support it. I know you are not using the onboard audio solution but it is the only alternative method that I am aware of to duplicate the audio stream of the playback device. If you have an onboard Realtek HD Audio, you could connect your headset not through the USB control box but through the headphones and mic 3.5mm audio jacks and test it.
Post Reply