Voicemeeter / OBS - Audio Sync Mic & Inputs

ByronWillis

New Member
Hello there OBS aficionados,

I'm a dance instructor and I have moved from 100% in-person lessons to 100% virtual lessons over the past few months. I have been gradually upgrading my setup: wireless XLR mic, audio interface, DSLR, video capture card, upgraded internet speed (400 MBPS down, 20MBPS up), direct ethernet cable connection. Things are generally going pretty well, but I'm trying to fix an issue that I can't seem to find an answer on.

I'm looking to create a delay on all of my audio sources (except for my mic) that go to stream so that my voice is perfectly in sync with with them. Right now there is a delay of maybe 50ms between my mic and my audio source (Music player: Foobar2000). The reason for the delay is because I hear the music on my monitor speakers (played from my laptop) and then I will count or talk on top of the music and the time it takes for my receiver to get my vocal audio and then pass to USB audio interface to encode digitally and then pass to Voicemeeter takes a small amount of time. It's OK that I hear my counting a little bit late on my monitor speakers (I monitor my own mic), but it's not OK that my students hear my counting 50ms out of time.

I have included a diagram of my audio and video routing for reference,. I am glad to provide whatever info is helpful to better understand my situation. I'm really looking for a delay option either within Voicemeeter or as a VST pluging add-on to Voicemeeter that can apply a delay to certain sources going to certain outputs. I thought that the obviously labeled "Delay" FX effect would be a good option, but I learned that delay in live audio jargon actually means echo to me. Hah!

Anyways, thanks for the read!

TLDR: I need to create a 50ms delay in Voicemeeter for certain inputs going to certain outputs.
 

Attachments

  • Audio & Video routing 2.jpg
    Audio & Video routing 2.jpg
    461.4 KB · Views: 359

Zeros.81

Member
You cand adjust the audio sync of each audio input on OBS:

Go to "Edit" -> "Advanced Audio Properties" > "Sync Offset (ms)". Insert the value in miliseconds in your desired audio sources to adjust the sync
 

ByronWillis

New Member
Hey Zeros.81,
I send an audio mix from Voicemeeter to OBS, and I apply an audio delay in OBS to sync the audio mix with the video stream, but I'm looking to apply a delay within the audio mix (i.e. within Voicemeeter). I'm aware of the ability to apply delay to Voicemeeter Hardware Outputs, but am looking for something to apply to certain inputs. I was thinking that if VST doesn't have this capability built in, perhaps I could use a VST plug-in effects to add it to Voicemeeter. But frankly I think that there may be some scripting or something possible within Voicemeeter to do what I'm looking for without having to incorporate another program.
 

ByronWillis

New Member
Yeah I think that this is definitely on the right track, I'm looking for some support on the proper routing and VST to induce the offset I'm looking for.
 

LiquidBinary

New Member
Yeah I think that this is definitely on the right track, I'm looking for some support on the proper routing and VST to induce the offset I'm looking for.

Did you ever figure out the issue? I have the same problem. If I try to sing in sync with my music, the delay between my music and mic is out of wack. I can't figure it out. I've tried the sync offset in obs but that doesn't work.
 

BK-Morpheus

Active Member
keep in mind, that Voicemeeter itself will introduce a delay for all Inputs and outputs.
If possible, use the fastest method and device (especially for A1 Output).
I route my mic (Yamaha AG03 USB interface) into Voicemeeter and and the music via Voicemeeters virtual Inputs. Then all is played over A1 and A2 output on my wireless Headset and on my Fiio K3 Headphone amp.

It's not possible to sing to the music in sync, because of the delay (output to my Headphone + Mic dleay is bigger than the virutal input music).
You can not increase the virtual input delay (and even if you could, you only want the delay for B1, not for you Monitor on A1), so adding the delay on real inputs/outputs don't help.
Till now i was using WDM or MME for the access method to my audio devices in Voicemeeter. I recently switched things up and drastically improved the delay. I saw the the Fiio E3 offers me the option to use ASIO access through Voicemeeter, so first i switched A1 and A2 (Arctis 7 wireless headset / Fiio K3 wired + headphone) so that the Fiio K3 is A1 and selected ASIO.
This alone shrunk the delay by a lot. Then I reduced buffer on my K3 to further decrease the output delay.
Without touching the Yamaha mic interface access method, this already made it possible to sing to the virtual input music without being noticeable out of sync.

Before that, I tried the other way around (decreasing the latency of my mic interface) but it was way less effective, than reducing the A1 output latency by going with ASIO.

By the way, if you don't mix music+mic together in Voicemeeter and channel all that through one output to OBS but instead use one audio device for music and one for the microphone in OBS, you can sync them very simply for the stream/recording by adding a delay in OBS for any sound source that you like.
On a simple OBS setup I usually go for +70 or even +150ms on my Mic to get it in sync to the webcam/camera.
 
Top