audio delay of guitar sound

lwo1fl

New Member
Hi all. not so long ago I tried to play the guitar on stream with music clips together and at the beginning there were no delays between guitar and music from browser, but over some time (~30 mins) the sound of the guitar began to delay. I don't understand what the problem is. i use reaper and focusrite solo 3rd gen. in reaper i added FX vst plugins with distortion etc, then sound from reaper goes to obs as "asio input capture" via rearoute plugin (monitor off in advanced audio settings). i made a copy of this asio capture as monitor output (monitor only) to hear the guitar on stream. also i added app audio capture (beta) for opera browser in order to avoid copyright (no music on recorded broadcasts). so while im playing online i hear guitar monitor and music from browser and I play beat to beat. sound of guitar monitor doesnt delay throughout the stream but on recorded broadcast it starts to delay after a while. im almost sure that problem is not in reaper, but in obs. Because if i restart reaper - nothing changes, but if i restart obs - delay is gone, and then after some time it comes back again. i assume there is some buffer which start to overfill after a while. maybe i can manually reset that buffer without turning off stream and restarting obs..? maybe someone already met with this problem?

PC config: Ryzen 3700x, 3070ti, headset - fifine ampligame h6 (USB, yes i have no jack headphones), motherboard MSI Gaming plus max B450, RAM Corsair Vengeance 4x8Gb 3600MHz DDR4, sound card focusrite solo 3rd gen
 

AaronD

Active Member
This has been a problem for a long time. Apparently, whoever wrote the audio engine decided to not resample for the physical output, but expand the buffer instead, ad-infinitum. As you noticed, even a small difference in the two clocks adds up over time. The stream and recording are fine.

There have been numerous requests to fix it, but so far no accepted solutions.

The best workaround that I know of is to periodically interrupt the signal, in OBS, that goes to the monitor out. No need to interrupt the stream and recording - they don't have this problem - so try not to if you can avoid it. Only interrupt the monitor.

You can do that in the Advanced Audio Properties, and (carefully!) change the routing and change it back, so that the monitor resets but the output doesn't.
Or you can have two copies of everything you need to monitor, one of which goes only to the monitor and the other only to the output. Then mute/unmute the monitor copy.
Either way, the Advanced Scene Switcher has enough features now, that it can automate that. Set up a macro in there that periodically "blinks" the monitor for everything that goes to it, while leaving the output alone.

I have an external audio mixer, that feeds into OBS as an unchanged passthrough. I actually have 3 copies in OBS of that single input: one stereo that goes to the output only, one mono that goes to the monitor only, and one stereo that goes to the monitor only. A pair of hotkeys uses the mutes to switch the monitor between mono and stereo, without affecting the output at all. That lets me make sure that my mix works both ways. And of course it also resets the monitor buffer as a side-effect.
 
Top