Question / Help Audio Monitoring Slowly Going Out Of Sync Over Time

BusterBeachside

New Member
Hi there, I'm using the latest OBS Studio version and am trying to monitor my mic and other audio so I can hear it in my headphones. Everything works great with my current setup except that the audio will start to delay itself more and more over time. It starts out synced up, but I start to hear it lag further and further behind to the point where it's distracting and noticeable. The mic is particularly bad about this, while the audio that I have coming from my Nintendo Switch will only fall a few MS out of sync over an hour or so (But it's still not staying synced up). If I disable/re-enable a particular audio source, it will be back in sync again (Only to slowly fall back out, of course). I've also found that changing my audio monitoring device and then changing back will also temporarily fix the issue for everything at once. This issue happens both through my USB headphones and through my speakers.

I've already done a ton of googling, and so far I've found exactly two topics with the exact issue I'm having, and neither has any replies. xD I have "use device timestamps" unchecked on everything I can think of, and have made sure that everything I know how to get to is set to the same bitrate (I've tried 44.1 and 48khz, nothing seems to change between them). I've tried restarting my PC, re-installing the latest sound driver, disabling audio enhancements everywhere I can in Windows, and probably more that I've forgotten about... The only thing I haven't tried is re-installing OBS itself, but I fear losing all of my settings (I'm prone to catastrophic user error from time to time. :p)...

I've attached a log file of my stream from yesterday. There are a lot of errors and dropped frames, don't worry about that, I'm aware I'm having some net issues at the moment... The desynced monitor audio happens even when I'm not live.

Again, to be clear, EVERYTHING I am monitoring seems to be affected by this. However, some devices seem less affected by it than others so far. It's obviously pretty annoying to have to stop the stream every 10 minutes to reset my audio device, so I'd love any ideas. Also, the stream does NOT hear the desync, it seems to be exclusively in my audio monitor. It also doesn't happen with desktop audio (As might be expected, since I'm not actually monitoring that through OBS; in fact, I had it muted the whole time during my last stream).
 

Attachments

  • 2020-04-19 12-04-15.txt
    980.4 KB · Views: 310

BusterBeachside

New Member
Update: I now have reason to believe the built-in audio on my PC's motherboard may be faulty. I'm going to try installing a dedicated sound card. Will update if this fixes the issue!
 

BusterBeachside

New Member
I found a solution. It seems this was an issue caused by Windows 10. After searching around, I found a suggestion to go into Device Manager > System Devices > High Precision Event Timer and disable that device (It seems this could also be a setting in your PC's BIOS, but I didn't poke around in there at all). My microphone now seems to be staying in sync! My AV capture card (for N64 capture) is still desyncing, but I strongly believe that's an issue with the device itself, or otherwise unrelated... The desync issue has always been much worse with that particular device. :p

Hopefully having my findings written here can help someone else with this issue in the future! That said, I'll update this thread if it turns out my solution is only a temporary fix/something goes wrong. Here's to hoping that doesn't happen. Now off to troubleshoot the capture card issue, I guess!
 

BusterBeachside

New Member
Sorry to keep bumping this. Apparently there is no edit button on this forum, so the only way to leave updates is by posting again.

Everything is the same as previously reported, mic is staying in sync even after many hours of monitoring. But the reason I'm updating is, It seems, against all odds, that while the capture card's audio very quickly goes out of sync in the monitor, in a test recording, everything came out perfectly synced. So again we return to the issue of the monitor audio going out of sync, but the output audio (To the stream/recording) is perfectly fine. Absolutely flummoxing that I was able to make a change that fixed the mic, but which did nothing to help the capture card.

I do want to point out that this desync occurs both in my speakers and my headphones. It doesn't seem to make a difference what audio device I use for it.

Also, if I go into the audio device's settings in Windows and go to the "listen" tab to monitor the audio, there is no desync. It only seems to occur when monitoring via OBS. Pretty fishy! :p I guess I'll use that as my monitoring solution for now, but it's a pain to set up. Would be nice if it worked in OBS so it would be one less thing to remember every time I want to stream! :)
 

vapeahoy

Member
Ye u should also disable high definition audio controller, and disable mmcs service. MS removed the dependonservice tag for mmcss some time ago. I also disble hpet service, but its more important, on intel, to not install the mei chipset package. Oh and HPET is very much a bios setting on many motherboards, it's history is quite old and its not happy reading.
It can benefit benchmarks, tend to make everything else worse. Unfortunately it is a system specific setting if it benefits or not and if so in what way. However it's bad reputation is often overlooked by the simple fan controllers on motherboards and the micro controller causinging in some instances lag or noise and is often very hard to pinpoint.
So i'm rather happy more are becoming more aware of quality control and appreciation over a well designed motherboard. Ie avoid buying a motherboard with multiple chipset controllers and such is usually a good idea. A dedicated fan controller is also a must.

edit: you're still doing casual mistakes as not running as admin, missing codecs, also not sure if i like the idea of several usb audio devices that are of different character - in regard to multiple drivers thus needed. That's not ideal.
 

BusterBeachside

New Member
Yo, thanks for the detailed reply. I'll read through it and give your suggestions a try. I have High Definition Audio Controller enabled?? Isn't that Windows' generic driver? I have the latest Realtek driver installed on my system, so if that's lurking around, yeah, should definitely disable that...
I'm running a Ryzen CPU and Nvidia GPU, no Intel here! But disabling HPET did fix the microphone, so there's that.

Ah, heheh, I figured most programs that need to be run as admin usually ask on their own anyway. I'll set OBS up to run as admin anyway... I suppose that's best practice, even if the simple yes/no box tends to take ages to load on my rig for whatever reason. I shouldn't be missing codecs AFAIK...? Which ones are missing? I should very much like to replace them (Times like this, I wish I knew how to make heads or tails of log files like this). I know how to do a few specific technical things, but am still far from being a "power user", lol.
 

BusterBeachside

New Member
So, there are two identical "High Definition Audio Controller" devices in Device Manager... Only difference is one reports PCU bus 38, function 1, while the other reports PCI bus 40, function 3. Disabling the "38" option went through fine, disabling the other one prompted a "you need to restart for changes to take effect" dialogue. After the restart, suddenly my speakers weren't being picked up as an audio device. I tried to re-install the Realtek driver, had no visible effect. When I re-enabled the "PCI 40" option again, sound came back. I'm guessing one of those options is not like the others.

Also, I just saw the edit (Apparently you CAN edit posts, I can't find that option, haha)... You mentioned "several USB audio devices", this being a bad thing... I'm not well-versed in computer audio stuff, so I'm not sure why that's bad or where I can start on resolving that issue! :) I'm aware I do have a LOT... My headphones are USB, my mic is USB, two different USB capture cards, my webcam has a mic... Should I be unplugging USB audio devices when they aren't in use? Sadly, most of them are required for my streaming setup, but I'm at least hoping to upgrade to a proper mic setup (With a non-USB mic and a mixer box, etc.) somewhere down the line. It's just a bit pricey at the moment, especially with me being a fledgling streamer (As you were clearly able to deduce, hehe. We all gotta start somewhere!).
 

vapeahoy

Member
steal coreaac files from the itunes support application msi. copy them in the obs folder. only need 8 of them for my purpose. which is rather simple to test, just delete each file after copying it to the ob folder, and as long as the log file says its registering u have the right files. Tho i havent checked all of that stuff yet is working but simple tests no problems. alternatively just install the codec, dont need itunes itself.

you'll see several HD audio stuff pending on devices that use the general driver on there, gpu's, mobo, cpu whatever. generally disable stuff dont use. Tho i no longer recommend deleting tasks/services or stuff in general. Mostly because windows api on many fronts is being rewritten on an ongoing areas, and they're crucial to things like streaming. I wonder how many more years we will have to wait to have a unified control program for things like just audio. There's currently like 5 ways to configure that. so.

No never unplug usb devices based on just that. Infact keeping them in the same port, and thus using the same irc/adress for system is the ideal way to go. It's just that the more audio drivers, or rather more driver in general, increases chances for failure. The more chefs in the kitchen and so on. I want to move away from usb entirely, but i havent found a good solution for that yet, and im not held back by financial concern. I just cant find a better solution then what i got, and my current solution is far from ideal. I basically need yamaha or such to make a new mixer.

Realtek has also traditionally had 2 separate packages for controlling their driver + windows control panel for that. Cpu stability for audio is absolutely vital. But even more so for Realtek that tends to lean more on it then other chipsets, traditionally.

since your on a ryzen system you should make an attempt for lowest ram timings u can at ideally either 3466mhz or 3600mhz, or higher if u can, tho 3600 should be ideal for a ryzen 2600. I run my 1st gen ryzen boxes on 3466 cl14, with lower timings then that ryzen dram calc will show you on extreme. that program recommends a few things the wrong way actually, but it's close enough to be a starting point. I did not see a benefit from 4000mhz. Audio also loves low latency. As does our collective ears.

for testing stability its no reason to not arm yourself with the best tools on the planet, namely google's very own stress test program, bootable from an usb stick. Also Ram Test from karhus software works really great. I gained about dozens of #1 scores on these in various benchmarks across ryzen systems with maximum efficiency. This is a rabbit hole tho, as it will consume a lot of time, so ymmv.
 

BusterBeachside

New Member
Yeah, I didn't know what MMCS was, and everything I found via Google told me it was a bad idea to disable it. :p I'll leave that one alone.

I managed to fix the CoreAAC issue (And also the program not recognizing VLC, which I thought was strange. Guess I had the 32-bit version installed for some reason).

I'm not sure how all that about testing my RAM and such is supposed to help sync up my audio, but either way, that sort of thing is a bit over my head (And at that point, I would almost rather use workarounds for monitoring audio than try and teach myself how to do things like changing vital PC settings, lol).

At this point, the N64 capture card is still slowly desyncing as before, but I can at least monitor the audio via Windows directly! The mic was the most important thing, honestly, and that seems to be working perfectly since disabling HPET. And since this issue is only affected the monitoring audio that I hear and the stream audio itself is flawless, hopefully I can at least stream with minimal technical issues and distractions now, haha. Well, aside from unstable internet... but I've already got some gear in the mail that should help with that. I'm slightly more savvy with networking than I am with audio, but that isn't saying much, honestly. ROFL

EDIT: I found the edit button... Heh. I'm heading off to bed (It's midnight now in my part of the world), but I'm still going to try and solve this final sync issue tomorrow. I'm still not 100% convinced my capture card isn't at fault here (It's kind of a cheap card, to be honest), but the fact that the audio isn't delayed at all on-stream suggests otherwise.
 

carlmmii

Active Member
For your capture card audio desync, that is more of an issue with the capture card itself. It's a fairly old device that has to encode everything as h.264 over usb2.0, so the latency is always going to be dependent on the device's ability to encode and sync a/v, as well as your CPU's ability to decode the h.264 data stream.

Since you say you're capturing your N64, my recommendation would actually be to run the audio from your console (or TV-out) directly into the line-in port of your computer. This will avoid having to piggyback onto the capture device's desync.
 
Last edited:

vapeahoy

Member
Normally i'd say the usb2 capture would be garbage, but in this instance it might just be good enough. if input is say 576p 30fps or such. If it handles interlaced 480i (non-pal) in a smart way it'll do for sure.
Usb2 would set a rough 480mbit'ish limit. Any usb 3 device would be quite overkill, but shouldnt also cost that much and provide a 10x increase in bandwidth.
mmcss is long gone redundant for modern pc's. It has a use case in low powered single/dual core laptops. That's about it. MS still kept it as it simply has the whole world as a customers.
 

BusterBeachside

New Member
Thanks for the replies, friends. Today I tried starting up OBS to stream, and sure enough, now even my mic is back to slowly desyncing. I'm at my wit's end with this.

As I mentioned before, the output audio is fine (If I watch back my own stream, everything is perfectly in order). This is only happening when I try to monitor the audio through my headphones using OBS. That's all I wanna do, and the only thing I'm having an issue with. So I'm going to just try getting a completely separate audio monitoring program. I've heard good things about VoiceMeeter... I'll try mixing all of my audio through that instead and see if it still starts to desync.

Regarding my capture card, yeah, it's an older model. It works fine for me, though! :) I think we have gotten a bit off-track with this thread, to be honest; All of my audio setup WORKS GREAT; The ONLY thing I am dealing with is my MONITORING audio going out of sync. Just what I hear in my headphones, so I can listen to the game audio, my mic output, etc. It NEVER goes out of sync for my viewers, ONLY for me. :) So if VoiceMeeter (Or some other program) can do that job better, it'll solve my issue for me. So I'll try that out and report back with findings.

Oh yeah, and I have the audio from my Switch coming directly from the console's headphone port into my PC's mic jack using an AUX cable. So it can't be my capture card's fault, because what I'm listening to isn't even touching it, haha. :) That's what the audio source titled "Switch" is in the log; just a direct feed of the audio. Do a ctrl-F for "- source: 'Switch' (wasapi_input_capture)", I promise it's in there!
 

vapeahoy

Member
It may not be possible to expect the monitoring work over time without going into desync simply because of the totality of the streaming solution.
Encoding builds up latency to the rest of the system, audio monitoring requires constant audio interrupt latency to be low enough to stay current. With the added bandwidth restrictions in place, this all becomes quite logical. In other words, latency is not your friend, it's killing your audio monitoring. Some modern usb audio cards come with dedicated monitoring output, which is guaranteed for to work well and doesnt reflect itself unto the system to take system resources away from you. If u can avoid needing to monitor it, i'd simply just stop doing that.
USB4 might be out later this year, who knows, maybe consider an upgrade then.
 

BusterBeachside

New Member
Using Voicemeeter Banana, I'm able to monitor my audio perfectly without any desync while OBS is running. Problem solved! I guess there's literally just too much coming through for OBS to handle everything at once. Offloading the monitoring to another program may be the only real fix (Aside from upgrading hardware, which is out of my budget at the moment, haha). I imagine if I had more stuff going through PCI-E and USB 3.0 it might be better, but as has been pointed out, I don't have the most up-to-date hardware. Hopefully this topic can help others having the same issue in the future.
 

leonfortej

New Member
Using Voicemeeter Banana, I'm able to monitor my audio perfectly without any desync while OBS is running. Problem solved! I guess there's literally just too much coming through for OBS to handle everything at once. Offloading the monitoring to another program may be the only real fix (Aside from upgrading hardware, which is out of my budget at the moment, haha). I imagine if I had more stuff going through PCI-E and USB 3.0 it might be better, but as has been pointed out, I don't have the most up-to-date hardware. Hopefully this topic can help others having the same issue in the future.

@BusterBeachside - I am having the same issues. Are you just not using OBS for any audio management now? Stricly using Voicemeeter? I have a pretty new beefy system and am running into the same issue. It seems to slowly but surely just go off sync more and more over the course of time.
 

BusterBeachside

New Member
@BusterBeachside - I am having the same issues. Are you just not using OBS for any audio management now? Stricly using Voicemeeter? I have a pretty new beefy system and am running into the same issue. It seems to slowly but surely just go off sync more and more over the course of time.
I'm using Voicemeeter for my mic and my game audio (When streaming from a capture card; not really needed for PC games unless you're trying to avoid having desktop audio other than the game in your mix). I do still monitor my overlays through OBS (So, basically Streamlabs. Follow alerts and the like. Otherwise I can't hear them since you can't add a web audio source in Voicemeeter). In my experience, the overlays haven't been getting out of sync, and using Voicemeeter Banana has continued to work well for me. There is a bit of a learning curve to get it up and running, though, if you're new to digital audio stuff like I am. Just as a heads up!
 

Cookieio

New Member
This issue is bugging the crap out of me. I downloaded Voicemeeter and tried it for a few minutes and it felt like it was above my paygrade. I didn't like it and I couldn't figure it out so I kept browsing other forum post. This forum post was one of the first ones i came across and since I had nowhere else to turn I made an account and came here. I really don't want to use another program to handle my audio because what i use to stream is discord. I have my own discord server and I want to stream my Wii, Wii U, and Switch games to my friends. Discord has to grab data from the window itself and then discord automatically detects that it is obs and crops the stream down to the little preview window. Since it is pulling audio from the window and not directly from the capture card the audio gets delayed on the stream as well. I also use my noise cancelling headphones so that I can hear my friends better. So my only option is to use the obs audio monitoring.
 

Cookieio

New Member
This issue is bugging the crap out of me. I downloaded Voicemeeter and tried it for a few minutes and it felt like it was above my paygrade. I didn't like it and I couldn't figure it out so I kept browsing other forum post. This forum post was one of the first ones i came across and since I had nowhere else to turn I made an account and came here. I really don't want to use another program to handle my audio because what i use to stream is discord. I have my own discord server and I want to stream my Wii, Wii U, and Switch games to my friends. Discord has to grab data from the window itself and then discord automatically detects that it is obs and crops the stream down to the little preview window. Since it is pulling audio from the window and not directly from the capture card the audio gets delayed on the stream as well. I also use my noise cancelling headphones so that I can hear my friends better. So my only option is to use the obs audio monitoring.
I know this issue has been discussed thoroughly but in my case I really don't want to use a 3rd party sound manager. If the sound monitoring in obs would just work and not get delayed it would be perfect. I feel like there has to be some other way. Can you guys help me figure out other possible solutions?
 

wolfyuhd

New Member
Solution!!!
Hey guys, I know it's been like a freaking year or so, but I hopefully found a fix for you :)

I think we've been thinking about this a bit too deeply, and haven't looked at the simplest things. I downloaded OBS ME and tried some audio monitoring there, it didn't go out of sync, after running it through a virtual cable, it did. So well, the only thing that could've caused that, was sample rate. Make sure your sample rate is set to the same value on both devices/programms, the quality will go up, the latency will reduce, and your pc will thank you. For me 48k set on both works best. Hope it works for you too!!

If you're having problems with monitoring without a virtual audio device, make sure your monitoring device (headphones/speakers) are set to the same sample rate as your OBS audio output :) If they still go out of sync you might have to lower the sample rate on both obs and your headphones or speakers.
 
Top