Have some crackling and popping issues

The Virtual Audio Mixer discussions and support...
deama
Posts: 7
Joined: Fri Dec 04, 2020 7:26 pm

Have some crackling and popping issues

Post by deama »

I have a focusrite scarlett 2i2 3rd gen, a USB DAC.
What I essentially want is to reduce the overall system audio latency (windows). If I just use the DAC by itself without any software, I get about 70ms audio latency.
I use audacity to measure the latency by generating a ping* sound, then putting my headphones close to my microphone and record it; then I calculate the delay.

So far I've installed voicemeter and hooked up my focusrite to it. I am able to use ASIO drivers for my A1 with the focusrite, so I select this. In the system settings I leave everything at default (don't touch), engine mode on normal and WDM on NO. For reference, my focusrite's buffer size by default is set to 16.
So I go ahead and open up the VB virtual cable control panel for voicemeter, the smp latency is set to 7168, ok that's fine for now.
I then go ahead and set my voicemeter as my default playback device and start to listen to some music I have and immediately I get massive pops, cracks, and distortions. I'm thinking the buffer size is too big, so I put it to 64 from 16. Now it sounds fine, no problem, however sometimes it seemingly randomly does small pops and cracks; sometimes it goes through phases that make it do it more often than before, then it calms down, and then a few minutes later starts to do it more often for 10 seconds or so, then calms down, etc...

So I'm thinking maybe the buffer size is too small? So I increase it to 128 from 64 and I immediately get massive pops and cracks and distortions, like with the 16 setting. I then try the buffer size 96 setting, and I'm honestly not sure if it improves it or not because of how random these pops and cracks are, if I had to pick, I think no? I go ahead and play with different buffer size settings, ranging from 32 to 48, to 64, and 96, but the results are all roughly the same, if I had to pick though, I think maybe 64 is best, but I've had moments where 32 seemed better, sometimes 96 was better, etc... it's too random and the difference is too miniscule.

So I'm thinking maybe the smp latency is too low in the virtual cable control panel, so I go ahead and crank it up all the way to 24576, however, no difference. Just out of experimentation, I tried playing with different smp latency settings, but they all perform the same, except for the very, very low settings (less than 1536) wherein they start to distort more and give more cracks and pops.

Anyone got any ideas? I tried the other driver modes in A1, but their much worse. If they do work perfectly (without pops and cracks) the latency ends up being several times higher than just using my DAC bare.

I've also checked out the sticky thread on pops and cracks, but none of those made an improvement.
I've also tried reinstalling everything (it's mentioned in the sticky), but no difference.
Vincent Burel
Site Admin
Posts: 2019
Joined: Sun Jan 17, 2010 12:01 pm

Re: Have some crackling and popping issues

Post by Vincent Burel »

Crackling and Popping issue has already a thread:
viewtopic.php?f=6&t=451

If you want to use your Focusrite in optimal mode with its ASIO driver you may watch this video tuorial:
https://youtu.be/35N8hkOy8h4

On Windows, we do not recommend to use buffer smaller than 256 samples (128 is usually too small for the system task/interrupt scheduler and won't work on all configuration).
deama
Posts: 7
Joined: Fri Dec 04, 2020 7:26 pm

Re: Have some crackling and popping issues

Post by deama »

Vincent Burel wrote: Tue Dec 08, 2020 8:06 am Crackling and Popping issue has already a thread:
viewtopic.php?f=6&t=451

If you want to use your Focusrite in optimal mode with its ASIO driver you may watch this video tuorial:
https://youtu.be/35N8hkOy8h4

On Windows, we do not recommend to use buffer smaller than 256 samples (128 is usually too small for the system task/interrupt scheduler and won't work on all configuration).
Like I said in my post, I already went through the thread and tried all the stuff there, no change.
I found that video out by myself a while ago, didn't fix.

Like I mentioned in my post, when I set the buffer size to 128 or higher it gives me massive pops and cracks.
deama
Posts: 7
Joined: Fri Dec 04, 2020 7:26 pm

Re: Have some crackling and popping issues

Post by deama »

Vincent Burel wrote: Tue Dec 08, 2020 8:06 am Crackling and Popping issue has already a thread:
viewtopic.php?f=6&t=451

If you want to use your Focusrite in optimal mode with its ASIO driver you may watch this video tuorial:
https://youtu.be/35N8hkOy8h4

On Windows, we do not recommend to use buffer smaller than 256 samples (128 is usually too small for the system task/interrupt scheduler and won't work on all configuration).
How does voicemeter work in more general technical terms? How is it even possible for me to achieve 10-20ms latency (with some pops and cracks)? My onboard audio chip has a latency of 52ms? Does voicemeter modify the MME/WASAPI/WDM drivers and forces them to have lower latency?
Andres
Posts: 192
Joined: Fri May 01, 2020 7:25 pm

Re: Have some crackling and popping issues

Post by Andres »

Hi. Most USB audio interfaces (Focusrite Scarlett 2i2 included) provides an ASIO driver that allows applications like Voicemeeter to capture/output audio from/to the interface without using the Windows audio subsystem.
ASIO drivers provides a control panel application that lets you set some parameters like buffer size or sampling rate for example.
You mention 70ms of latency when using the audio interface; did you get that value using the ASIO option for your interface in the A1 Hardware Output?

When using the WDM option (not the preferred option when you have ASIO available) Voicemeeter tries to use the output device in Exclusive mode which (like ASIO) bypasses some portions of the Windows audio subsystem to improve latency.

Hope this helps. Please let us know your findings.
Last edited by Andres on Sat Dec 19, 2020 3:42 pm, edited 1 time in total.
deama
Posts: 7
Joined: Fri Dec 04, 2020 7:26 pm

Re: Have some crackling and popping issues

Post by deama »

Andres wrote: Sat Dec 19, 2020 10:36 am Hi. Most USB audio interfaces (Focusrite Scarlett 2i2 inxluded) provides an ASIO driver that allows applications like Voicemeeter to capture/output audio from/to the interface without using the Windows audio subsystem.
ASIO drivers provides a control panel application that lets you set some parameters like buffer size or sampling rate for example.
You mention 70ms of latency when using the audio interface; did you get that value using the ASIO option for your interface in the A1 Hardware Output?

When using the WDM option (not the preferred option when you have ASIO available) Voicemeeter tries to use the output device in Exclusive mode which (like ASIO) bypasses some portions of the Windows audio subsystem to improve latency.

Hope this helps. Please let us know your findings.
So far I've installed voicemeter and hooked up my focusrite to it. I am able to use ASIO drivers for my A1 with the focusrite, so I select this.
Yes, just like I mentioned in my first post, I indeed tried to use the ASIO drivers...

Something that I didn't mention though is that the pops and cracks get much worse if I use my web browser and watch youtube videos, but the pops and cracks aren't that bad when I'm just listening to my music collection, or even playing a game (which ought to be more intensive?).

Oh and I've tested my regular computer audio chip from my motherboard, they give me similiar pops and cracks.
Andres
Posts: 192
Joined: Fri May 01, 2020 7:25 pm

Re: Have some crackling and popping issues

Post by Andres »

Hi. Unfortunately I don't own a USB audio interface to try to replicate your setup. May I suggest to start with a baseline setup using an ASIO buffer size of at least 256 samples (or even 512) to verify stability. I understand your final objective is to improve latency but at this moment it is important to verify that your setup works as intended. I know you have tested almost all the available settings but I am not sure that you have found at least one stable setup.

There is also an ASIO driver tester utility that you can use to "test" your interface. See this topic: viewtopic.php?p=4259&sid=bde2e1dc368919 ... 98f2#p4259

I would like to try to reproduce your latency measurement setup. Is it something like this? https://manual.audacityteam.org/man/latency_test.html
I am trying to verify if Audacity uses WASAPI Exclusive mode but apparently (in my setup) it doesn't at least for the Playback device.

Have you joined the VB-Audio Discord server? Maybe there you can find people with a similar setup and try to discuss your issues.
deama
Posts: 7
Joined: Fri Dec 04, 2020 7:26 pm

Re: Have some crackling and popping issues

Post by deama »

Andres wrote: Mon Dec 21, 2020 3:41 am Hi. Unfortunately I don't own a USB audio interface to try to replicate your setup. May I suggest to start with a baseline setup using an ASIO buffer size of at least 256 samples (or even 512) to verify stability. I understand your final objective is to improve latency but at this moment it is important to verify that your setup works as intended. I know you have tested almost all the available settings but I am not sure that you have found at least one stable setup.

There is also an ASIO driver tester utility that you can use to "test" your interface. See this topic: viewtopic.php?p=4259&sid=bde2e1dc368919 ... 98f2#p4259

I would like to try to reproduce your latency measurement setup. Is it something like this? https://manual.audacityteam.org/man/latency_test.html
I am trying to verify if Audacity uses WASAPI Exclusive mode but apparently (in my setup) it doesn't at least for the Playback device.

Have you joined the VB-Audio Discord server? Maybe there you can find people with a similar setup and try to discuss your issues.
Yes, I've tried higher buffer sizes, but going past 96 gives a lot more cracks and pops for some reason, no clue how, it's what I'm trying to figure out.

I just did the ASIO test, does this look good?

Code: Select all

#0001 ------------------------------------------------------
#0002 (64Bits) TEST DEVICE: Focusrite USB ASIO
#0003 PREPARE DEVICE: sr:44100 Hz / buffer: 32 smp / in: 2 / out: 2
#0004 Latency: in:100 smp / buffer: 32 smp / out: 100 smp / total: 5.26 ms
#0005  ASIO Buffer 0 / Input / type:18 / ASIOSTInt32LSB (Input 1)
#0006  ASIO Buffer 1 / Input / type:18 / ASIOSTInt32LSB (Input 2)
#0007  ASIO Buffer 2 / Output / type:18 / ASIOSTInt32LSB (Output 1)
#0008  ASIO Buffer 3 / Output / type:18 / ASIOSTInt32LSB (Output 2)
#0009 -----------------------------------------------------------
#0010           Performance Counter Frequency: +4.093.877
#0011      Performance Counter for one buffer: +2.970 (0.7 ms)
#0012             Performance Counter for 10%: +297
#0013 -----------------------------------------------------------
#0014 GENERATE SINUS: 440 Hz -10 dBfs
#0015 DSP LOAD: nothing
#0016 START DEVICE: Running
Yeah I basically put my headphones close to my microphone and recorded it in audacity. Audacity supports MME, WASAPI, and WDS. I did my tests with MME to keep it consistent, but I've tried the other ones too, similiar results though. To change, go to EDIT > preferences, and then go to devices and it's under interface > host.

I did some tests using my onboard motherboard audio instead and whilst it gives me a nice 30ms with MME, if I try and use voicemeter with it the closest I can get is about 66ms, going lower breaks the audio (starts to skip a lot).
Andres
Posts: 192
Joined: Fri May 01, 2020 7:25 pm

Re: Have some crackling and popping issues

Post by Andres »

Hi. I always check that the CALLBACK TIMING ERROR counters in the ASIO Test utility stay at 5 (maximum). I prefer to use the 32-bit version since Voicemeeter is a 32-bit application and uses the 32-bit version of the ASIO drivers. I see you are using a buffer size of 32 samples on your Focusrite interface. If you increase the buffer size (using Focusrite Control) does the utility show errors?

My first measurements with the Realtek device integrated in the motherboard shows me a 105ms latency (using WASAPI).
deama
Posts: 7
Joined: Fri Dec 04, 2020 7:26 pm

Re: Have some crackling and popping issues

Post by deama »

Andres wrote: Thu Dec 24, 2020 12:59 am Hi. I always check that the CALLBACK TIMING ERROR counters in the ASIO Test utility stay at 5 (maximum). I prefer to use the 32-bit version since Voicemeeter is a 32-bit application and uses the 32-bit version of the ASIO drivers. I see you are using a buffer size of 32 samples on your Focusrite interface. If you increase the buffer size (using Focusrite Control) does the utility show errors?

My first measurements with the Realtek device integrated in the motherboard shows me a 105ms latency (using WASAPI).
Oh ok, callback error thing. I checked those and I get massive errors on 32 buffer size:
Image

If I increase buffer size all the way up to 1024 it dramatically reduces, but I still get them, just very slowly now.
However, I can't hear any audio difference, the music sounds exactly the same.

What does the callback timing error do?
Post Reply