Audio Crackling in OBS only

ryanon

New Member
I've been having the audio crackling pretty persistently and would love to hear any recommendations you may have. I have the log files from the last session when the crackling happened, with the link below. I've messed with the sample rates and thought that had resolved it but sadly that was not the case. Important to note as well is that I am using the Blackhole plugin, in OBS, in order to integrate the desktop audio. I'm highly certain this is causing the crackling in some way (from what I've deduced from all my experimentations trying to isolate it) though I'm pretty bad with audio so any help would be immensely appreciated.


Cheers!
 

AaronD

Active Member
I am using the Blackhole plugin, in OBS, in order to integrate the desktop audio. I'm highly certain this is causing the crackling in some way (from what I've deduced from all my experimentations trying to isolate it)
So it's fine without the plugin? If so, then find some other way to do what you need.

If you only want a copy of what comes out of the speakers, OBS does that already. Use the Audio Output Capture source, and connect it to that device, or set a Desktop Audio source to that device in Settings -> Audio. If that's all you're doing, then no need for the plugin.
 

ryanon

New Member
@AaronD It's my understanding that in order to play the desktop audio a plugin is required, which is how I currently have it configured. I have a Desktop Audio source (like you said) set to the Blackhole plugin (the plugin that picks up the desktop audio). You can see in the attached screen grab that the Desktop Audio only shows virtual audio sources
 

Attachments

  • Screenshot 2023-05-04 at 3.59.22 PM.png
    Screenshot 2023-05-04 at 3.59.22 PM.png
    24.3 KB · Views: 15

AaronD

Active Member
If you send your apps' audio to any device, physical or virtual, the OS itself provides a loopback for that, which is what the Audio Output Capture picks up. No plugin for that at all.

If you send your apps' audio to VB Cable, which I also see in that list, it provides its own loopback in the form a virtual mic, that an Audio Input Capture can pick up. Still no plugin at all, unless you're calling VB Cable a "plugin".

From googling blackhole sound mac, I got what looks like their homepage and GitHub:
And I don't see a difference at all between it and VB Cable, except that Blackhole supports 2, 16, or 64 channels, compared to 2 only with VB Cable.

One possibility is that two instances of Blackhole are not supposed to exist simultaneously? So I wonder if your 2-ch and 16-ch instances are trying to share something that shouldn't be shared, and getting confused between themselves?

The log has nothing about that, but I did notice:
14:59:20.715: [Loaded global audio device]: 'Mic/Aux'
14:59:20.715: - filter: 'Compressor' (compressor_filter)
14:59:20.715: - filter: 'Noise Gate' (noise_gate_filter)
14:59:20.715: - filter: 'Noise Suppression' (noise_suppress_filter_v2)
14:59:20.715: - filter: 'Gain' (gain_filter)
Is that the actual order, or is it reversed? As a programmer, I can see it either way. As an audio guy, the order shown seems exactly backwards to me.

If the Noise Suppression does indeed follow the Compressor and Gate, then its sense of noise is going to be all over the place, and it will let some through as the noise level changes. If the Noise Suppressor is first, or following only a fixed Gain and/or EQ, so that nothing changes, then its constant sense of noise allows it to remove more without killing your voice. Then you can do your dynamics on the de-noised version.
 

ryanon

New Member
@AaronD Ok I've made some progress and I don't think it's the plugin/Desktop Audio after all! I was able to successfully repeat the issue and found it to only occur when I switch from scene to scene (the two scenes are identical as far as audio is concerned). Then, I saw your newest comment and totally forgot about the filters! So I muted all the audio filters and voila! No more audio clicking, even when I switch back and forth between the two scenes! You think that's happening because of the combination of switching between the two scenes (both of which have the mic with the audio filters applied) while OBS is simultaneously trying to apply all the audio filters?
If the Noise Suppressor is first, or following only a fixed Gain and/or EQ, so that nothing changes, then its constant sense of noise allows it to remove more without killing your voice. Then you can do your dynamics on the de-noised version.

Ok I will mess around with the filters to see if it fixes the issue.
 

AaronD

Active Member
I muted all the audio filters and voila! No more audio clicking, even when I switch back and forth between the two scenes! You think that's happening because of the combination of switching between the two scenes (both of which have the mic with the audio filters applied) while OBS is simultaneously trying to apply all the audio filters?
Possibly. Scene-specific audio only cuts on and off. It doesn't fade with the scene transition. So if you switch between two different scenes that have the same audio, and the two cuts don't line up *exactly*...

Global audio knows nothing of the scene transitions; it just stays on regardless, which allows you to fade it nicely, either manually or with the Advanced Scene Switcher plugin.
 

ryanon

New Member
I think I celebrated too soon, because it returned... It's weird because now it's happening even with all the audio filters muted--ugh! This has been the most difficult part just trying to get it isolated!! Anything else you can think of? @AaronD
 

AaronD

Active Member
I was going to reiterate what I said about scene-specific audio and global audio, but I see in the log that you ARE using global audio.

I do still wonder if having two copies of Blackhole installed is itself a problem. If they're:
trying to share something that shouldn't be shared, and getting confused between themselves?

Do you have to have all 3 loopbacks?:
  • BH 16-ch
  • BH 2-ch
  • VBC 2-ch
Can you uninstall all but one of them and just use that?
 
Top