How to get audio in sync using OBS

Wednesday, March 28th, 2018 | Activities, Gadgets, Insights, Tech-savvy | No Comments

I started streaming on Twitch a while ago and the setup for a decent stream can be tricky at times. One of the biggest issues I had was audio sync or to be more precise, the absence of it. 😉

I use OBS, a free and pretty powerful piece of software. After a few streams I added music to the gameplay, but when I was humming/singing along, I was off. A bit, a few milliseconds, but I could not find a way to get rid of the issue. So I started thinking … there is a “processing pipeline”, from the computer that plays the music, to the headphones, into my brain and out of my lungs into the microphone. I figured that’s where the lag came from:

Lucky me OBS lets you add and subtract delays to each audio source (even though I have a hard time understanding how you can shift a sound source into the past … maybe by implicitly adding a delay to all other sources?). So how did I find out the “exact” delay? It’s pretty tough, ears only will be not good enough.

So here is what I did:

  • recorded while some audio was playing (e.g. Massive Attack – Teardop) and used a drum stick and a practice pad next to the mic hitting the pad to the music omitting every third stroke so you don’t get used to your rhythm and stick to the song’s timing
  • exported the audio and measured the milliseconds between the real snare and my stroke using an audio editor (i.e. Audacity) – with “Teardrop” they are pretty easy to spot
  • open “Edit” -> “Advanced Audio Properties” and change the “Sync Offset” of your audio source accordingly
  • rinse repeat, as for some reason I had to do this a couple of times before I got it spot on

This got my singing in sync to the audio that got played. (The lag can also be influenced by changing buffer sizes, but I didn’t want to fiddle with these.)

Now the only thing that is still annoying me: I am not lip-sync on video. I still have to figure out whether there is an option to add/sub delay to the video source as well. Just saw there is a filter available in OBS, but it can only add delay, not sub it. Might play with that as well and hope to come up with a “picture perfect” audio video face-cam mic setup at some point 🙂

Tags: , , ,