Added Note.
I found out a way to make the SYNCHRO DELAY in VOICEMEETER actually "work."
There are many ways to make this FAIL, this method will WORK.
_____
SOFTWARE REQUIRED:
VB Virtual Cable (Simple, one cable). https://vb-audio.com/Cable/
VC VoiceMeeter (simple version, not banana or potato). https://vb-audio.com/Voicemeeter/index.htm
_____
Working left to right.
On the first channel, hardware input is MIC. Use MME MIC if possible as it will be slower, which you want.
Set the output of the First Channel ONLY to "A." (Round Circle "A").
_____
Set the volume sliders and the "circle-A, circle-B outputs" of the next two channels to "nothing."
_____
Now, on the HARDWARE OUT little boxes at top right, for A1 select CABLE INPUT (VB Virtual Cable). Do not use a virtual cable with the name "voicemeeter" in it. Do not set A2 to anything.
Set the volume of "A" (the left half of the right panel) to either 100% or +5 db, your preference.
Set the volume of "B" (the right half of the right panel) to 0. (It should be a null channel anyway since the far left mic input is set to "A" output only.)
Now, you can get into SYSTEM SETTINGS (either by Menu/System or by clicking in the A/B viewmeter box upper right). If you set OUT A1 to a delay, it will be passed forward in the A1 output to Virtual Cable.
Obviously, in ZOOM, select VIRTUAL CABLE output as your microphone.
click to enlarge |
I have a somewhat elaborate office video system. I have a separate Sony ZV-1 camera, with an Elgato Air light behind it. I run the video (usually) through OBS Studio, which is freeware that gives you a lot of control over multiple windows, text overlays, and use of green screen. It also includes a recording feature. There are a zillion videos on YouTube about how to use OBS Studio and place it "between" your camera and Zoom to have more control over color, contrast, framing, windows, etc.
However, because microphone audio input is instantaneous, this video signal system can result in up to a 300 ms delay when recording or using Zoom, which is noticeable to the eye and can be irritating. There are DIFFERENT ways of fixing this within OBS (for recording Powerpoint talks, for example) and when Zoom is used.
RECORDING ENTIRELY INSIDE OF OBS (PPT TALKS) (NO ZOOM)
The audio sync fix is pretty easy, but like most things in OBS, it's hard to figure out the first time.
Look at the AUDIO MIXER panel in OBS. Click the GEAR. Click ADVANCED AUDIO PROPERTIES. This lets you set a time delay for the audio, e.g. 200 or 300 ms. This works only when OBS is (a) live streaming or (b) directly recording within OBS. However, it's a quick fix. You can now record your talking head in front of your PowerPoint inside of OBS with finely tuned audio sync.
OK, that took only about 10% of this blog to explain.
GETTING BETTER SOUND SYNC IN ZOOM
This is way trickier. There are several things that don't work. For example, with some elaborate settings and extra software, you can use a MONITOR function inside OBS. However, this will be "blind" to the audio delay setting of 300 ms, so it gets you nowhere as far as Zoom sync is concerned! (See OBS MONITOR section at bottom).
One thing you want to do first is minimize the delay of the video going into Zoom (assuming you are committed to also using OBS).
There are three ways to get video from a Sony ZV-1 into Zoom: (1) Sony Imaging Edge software on your PC and ZV-1 set to PC Remote "On." (2) With Firmware 2.0, set PC Remote to "Off" and set USB Streaming to "On." (3) Use HDMI output from ZV-1 and a converter like the $130 Elgato Cam Link.
#1 is the easiest, but the slowest, with the biggest video time lag. #2 on my system appears to have less video time lag than #1. #3 may have even less time lag than #2, but it costs $130 and I've never tried it. Also, #3 looks a little goofy with one camera output cable hanging there for HDMI and another one dangling around for USB charging during your meetings and sessions.
So you are using the USB Streaming function with Firmware 2.0 on the ZV-1, just listed as #2. #2 is kind of a pain because you have to unplug and replug the USB cable in and out of the ZV-1 every time you start streaming again.
SLOWING DOWN MICROPHONE VIA SOFTWARE
Now, you are going to insert software between the microphone and Zoom to slow down the audio somewhat. I tried using Virtual Audio Cables and the Monitor Function in OBS, but it didn't help (link to Yoram Solomon video on this topic here.)
So I tried software called VoiceMeeter - here. This is donationware.
- Note: When you install VoiceMeeter, you may need to reset the Windows system sound to your normal speakers (lower right Windows panel > right click > Open Sound Settings > Output Device. Set it to something normal like "Speakers" instead of to "VoiceMeeter input.")
I don't use VoiceMeeter in connection with OBS in any way, I just use it to connect my MIC to Zoom. I consider this a simpler method because it involves no settings or submenus in OBS, nor does it involve installing anything into OBS.
Turn on VoiceMeeter (it has to be "on.") See pic. Set Hardware Input 1 to Microphone. I recommend turning the Harware Input 2 and Virtual Input volume controls to "0". Now, set Hardware Out A1 to Voicemeeter Input. If you have the option use the MME type of connection because it is rumored to be slower. In the right box, I turn the left volume control to 0 and the right one to about 90% as shown.
OK. Now, what you've got in Zoom, you are getting video via OBS, but OBS is getting video from your camera via FIRMWARE 2.0 USB STREAM, which is faster than Imaging Edge.
Zoom is getting Audio from your microphone VIA the VoiceMeeter application, which, I think, slows the sound down by 100 or 200 ms. This will improve sync for either Zoom live meetings or for Zoom-based recordings. Note that we are not using VoiceMeeter for any material value except to create a bit of slowdown of your audio signal so it lines up with your heavily processed video signal.
Hard Won Tips
OBS has a sound delay parameter, as described above, but it doesn't work when you monitor OBS sound via Virtual Cables. That's why we have all these other efforts and workarounds. There should be a simple checkbox in OBS that makes the sound delay setting impact the OBS sound output.
Also, just like OBS, VoiceMeeter has sound delay, under MENU/System Settings/Synchro Delay. I do not claim to understand all of VoiceMeeter, but, as far as I can tell its Syncrho Delay didn't affect my Zoom video audio sync. Argh!!!! I set the A1 and A2 synchro delay at 200 ms, anyway, because it can't hurt, but in tests, it didn't seem to do anything. In summary, just running sound via VoiceMeeter seems to add 100-200 ms by itself, which is enough to materially help your Zoom sync.
OBS Monitor with Virtual Cable (Educational, but Useless)
OBS has a MONITOR function, which can be accessed either by setting a series of monitoring controls and getting "virtual cables," or by downloading a recently developed app inside of OBS. However, these are useless for syncing with Zoom because the audio delays inside of OBS don't transfer to the monitoring status. Learn about the OBS monitor function options (that won't help you) at YouTube here or here.
I include these because it's part of the OBS and audio learning curve and increases your knowledge as an "advanced amateur" about how things work in general.
NDI - The Killer App for Zoom Sync
Yoram Soloman has another solution, here, which is to insert NDI software between OBS and Zoom. This is really complicated and a lot of extra software, but it WILL cause your sync to occur and gives you the opportunity to perfect your Zoom sync.
This guy also Mr Toastmasters also has a patient and clear video about OBS, and hooking it to NDI, here.
VoiceMeeter Alone Happened to Solve My Issue
Since I only need to do ONE THING which is to close the sync gap in Zoom, I haven't tried NDI, I just (A) put my camera in USB Stream mode and I just (B) insert VoiceMeeter between Mic and Zoom. Together, to my eye, the sync is quite close.
Just Reboot Your Damn PC First, Too
Oh, and you can help yourself by doing a clean reboot of your PC before starting an important Zoom call, so as few things are running as possible when you are using OBS and camera and Zoom.
Tiny Tips on VoiceMeeter
In VoiceMeeter, you can set either the Hardware Input slider or the Output slider to higher than 100% to get a little extra volume from your mic ("gain.")
VoiceMeeter has a cryptic window called INTELLIPAN where you can play with the orange square and move it around in an audio space. I didn't find this useful except, possibly, to raise the orange square just a little vertically.
WishList
I wish one of three things would happen.
Zoom would get a submenu to slow down the audio.
OBS would get an option to apply the audio delay (which it happily uses for streaming and recording) to the audio output. (OBS should also just have a dead simple virtual audio output called "OBS Virtual Mic," in my opinion).
Or, someone could make a tiny software app, much simpler than VoiceMeeter, with only a couple functions, like "select mic input" and "select delay 100 150 200 250 300 350 ms." Maybe a +5 dB loudness button. This could become popular donationware for dummies.
This Should Exist |