• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Windows 10 audio inactivity causing loud "popping" noise in Topping DAC

peniku8

Senior Member
Forum Donor
Joined
Dec 9, 2020
Messages
371
Likes
743
Every time I play a sound, my system produces a loud popping noise in my headphones. Playback is perfectly fine, but about 3 seconds after playback finished, there is another popping sound. The noise is similar to that when switching the sample rate, albeit not as aggressive.
To me it seems like Windows is putting the DAC in some sort of idle state or power saving feature when there is no signal.

I've tried the following solutions, I found over the internet, to no avail:
-set minimum CPU power state to 100% (was at 100% already)
-uninstall Intel Rapid Storage Technology (wasn't installed in the first place)
-edit registry entries as shown below
252019d1571702055t-windows-10-popping-sound-speakers-annotation-2019-10-22-025406.png

(I set all the repititions of these entries to 0 as well, although my entries were BINARY and not DWORD entries(?))
-find registry entry for "SetIdlePowerManagement" and set it to 0

Nothing seems to work, except keeping a media player open at 0 volume (which seems to keep the driver busy with bits of zeros?).

My setup is a Topping D10 Balanaced into a Topping L30. EQapo is active on the system.
Signal path is USB->D10->TRS to RCA->L30 (negative on the TRS disconnected).
Maybe @JohnYang1997 might know a solution, although this seems like a Windows issue to me...
 
Last edited:

krumpol

Member
Joined
May 23, 2021
Messages
76
Likes
98
Location
SVK
My setup is a Topping D10 Balanaced into a Topping L30.

How and why?
The manufacturer has advised against any balanced-to-SE output signal path conversion with D10B as unsupported. IIRC that's the reason why there may be peaks up to tens of milivolts causing loud pops and clicks on DAC's sample frequency switching.
 
OP
peniku8

peniku8

Senior Member
Forum Donor
Joined
Dec 9, 2020
Messages
371
Likes
743
First of all, thanks for all the replies! I edited the first post a bit to include more info, which I will go into more detail in this post again.
I’m assuming you downloaded the latest driver from topping website?

Try the DAC, amp on another pc if you can, that will narrow down the problem.
I was using the latest driver, but to my understanding this is the ASIO driver, which is not being utilized.
I will try the setup on my studio PC to see if it produces similar issues.

Do you use USB or SPDIF?
USB
How and why?
The manufacturer has advised against any balanced-to-SE output signal path conversion with D10B as unsupported. IIRC that's the reason why there may be peaks up to tens of milivolts causing loud pops and clicks on DAC's sample frequency switching.
I have read about this and I was expecting for someone to bring it up. The D10B was purchased first due to my aversion to RCA, but then my budget didn't allow for anything other than the L30 (and L50 didn't exist at that time yet). In hindsight I would've liked an EX5 if it didn't have MQA and instead of SPDIF inputs had SPDIF outputs.
Either way, I don't mind the pops when switching the sample rate, as that is something I don't do. The issue here seems to be a driver time out/power saving feature, which one should be able to solve in software.

I would be looking at USB power save settings instead, possibly in the active power plan.

And yes, marrying a D10B to an L30 requires some creative adapter solutions at the very least. (E.g. one 1/4" stereo to mono splitter per output channel plus cabling to get to RCA.)
The selective USB power saving option is disabled.
As for the adapter, I soldered my own. It's a TRS to RCA adapter with the negative on the TRS simply disconnected. The adapter does not short negative with ground.
 

Offler

Senior Member
Joined
May 27, 2021
Messages
414
Likes
400
There are two situations where this is happening in Windows.
1. When music is being played in Shared Mode (I use 44.1KHz and 24bit), there should be no popping happening, but applications which use ASIO or WASAPI Exclusive may have to switch the mode . In such cases pop sound may happen as well.

2. The driver may power down when there is no sound, which is the case you probably refer to.
Aside from all power-saving features Its being managed by the driver, and I would ask at Topping if its the case.
You can check it with with LatencyMon in 'Drivers' tab. Just run the test when nothing is playing, and if the driver does nothing, it may indicate the issue. It should be HDAudBus.sys or Wdf0100.sys
 
OP
peniku8

peniku8

Senior Member
Forum Donor
Joined
Dec 9, 2020
Messages
371
Likes
743
There are two situations where this is happening in Windows.
1. When music is being played in Shared Mode (I use 44.1KHz and 24bit), there should be no popping happening, but applications which use ASIO or WASAPI Exclusive may have to switch the mode . In such cases pop sound may happen as well.

2. The driver may power down when there is no sound, which is the case you probably refer to.
Aside from all power-saving features Its being managed by the driver, and I would ask at Topping if its the case.
You can check it with with LatencyMon in 'Drivers' tab. Just run the test when nothing is playing, and if the driver does nothing, it may indicate the issue. It should be HDAudBus.sys or Wdf0100.sys
The mentioned drivers get DPC instructions all the time, but there is ToppingUsbAudio.sys, which only gets DPCs while audio is playing (and for the aforementioned 3 seconds after playback stopped). The topping driver's DPC value syncs up with the pops, I think we have found the culprit. This was very insightful.
Now the question is, could this timeout be disabled? I found no corresponding registry values so far.
 

Offler

Senior Member
Joined
May 27, 2021
Messages
414
Likes
400
The mentioned drivers get DPC instructions all the time, but there is ToppingUsbAudio.sys, which only gets DPCs while audio is playing (and for the aforementioned 3 seconds after playback stopped). The topping driver's DPC value syncs up with the pops, I think we have found the culprit. This was very insightful.
Now the question is, could this timeout be disabled? I found no corresponding registry values so far.
The very last tweak I can think of is checking whole chain of USB bus up to PCI-E if the power-saving is enabled on any of them.

usb.jpg


Device Manager>View>Devices by connection. You start at the Topping DAC and go upward, check if every device has Power Management Tab and that its disabled for each of them. From my experience its not the root issue, but verify it anyway.

Some media players may use inaudible noise to keep Soundcard/DAC alive, which is a useful workaround.

For a permanent solution, contact Topping and it has to be addressed in the driver.
 
OP
peniku8

peniku8

Senior Member
Forum Donor
Joined
Dec 9, 2020
Messages
371
Likes
743
OP
peniku8

peniku8

Senior Member
Forum Donor
Joined
Dec 9, 2020
Messages
371
Likes
743
I looked into the driver .inf file and did not find these value being written, so it seems Topping is using Windows default values, as decribed here:

ZZsMC8K.png
 
OP
peniku8

peniku8

Senior Member
Forum Donor
Joined
Dec 9, 2020
Messages
371
Likes
743
I will see if I can write my own registry entries to overwrite this and maybe set the time out to a few minutes or possibly inifnite.

The very last tweak I can think of is checking whole chain of USB bus up to PCI-E if the power-saving is enabled on any of them.

View attachment 160316

Device Manager>View>Devices by connection. You start at the Topping DAC and go upward, check if every device has Power Management Tab and that its disabled for each of them. From my experience its not the root issue, but verify it anyway.

Some media players may use inaudible noise to keep Soundcard/DAC alive, which is a useful workaround.

For a permanent solution, contact Topping and it has to be addressed in the driver.
There was nothing to be found in device manager sadly. The inaudible noise thing is indeed the fact with VLC, as the driver does not enter idle power state while VLC is open. Youtube via Firefox does not do this and it pops when ever I pause a video and then again when I resume playback of course. Leaving VLC open in the background playing nothing is my current workaround.
 
OP
peniku8

peniku8

Senior Member
Forum Donor
Joined
Dec 9, 2020
Messages
371
Likes
743
ClassGuid = {3f5f4cad-ffcc-4182-a4b5-52930955022c} can be found in the driver.
And I can find registry values under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{3f5f4cad-ffcc-4182-a4b5-52930955022c}, but the power states are missing.
The subkey seems to be 0000.
I will try to add the respective registry entries later, but I have to attend a birthday party first, so until then, cheers ;-)
 
Last edited:

hege

Senior Member
Forum Donor
Joined
Dec 25, 2018
Messages
466
Likes
821
Location
Finland
There was nothing to be found in device manager sadly.

Pretty sure all "USB Root HUB" should have Power Management tab.
 
OP
peniku8

peniku8

Senior Member
Forum Donor
Joined
Dec 9, 2020
Messages
371
Likes
743
Pretty sure all "USB Root HUB" should have Power Management tab.
Disabling these did not solve the issue. The Topping is also listed as its own category (not in any USB sub category), which confused me).
 
OP
peniku8

peniku8

Senior Member
Forum Donor
Joined
Dec 9, 2020
Messages
371
Likes
743
I tried the following .reg file I made after a bit of research, but it didn't work.

Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{3f5f4cad-ffcc-4182-a4b5-52930955022c}\0000\PowerSettings]
"ConservationIdleTime"=hex:10,00,00,00
"IdlePowerState"=hex:00,00,00,00
"PerformanceIdleTime"=hex:10,00,00,00

It should set the timeout to a very high value. The path up to and including "0000" is already created upon driver installation. I tried to modify the driver to include this bit as well, but it would just fail on install, maybe there is a hash check going on.
I tried all kinds of values in these registry entries to no avail.
 

MC_RME

Addicted to Fun and Learning
Technical Expert
Audio Company
Joined
May 15, 2019
Messages
872
Likes
3,614
I think you are wasting your time here with unrelated things. If your Topping has an analog mute switch at the output then it will cause a pop whenever it mutes, due to DC (let's say 50 millivolt) sharply switched to 0 V. This only happens in your un-supported wiring case, as the DC between the two balanced pins is zero.

Now this mute is most probably triggered by receiving no data (digital zero), and the required mute during sample rate changes. No power setting whatsoever will change the Topping to not do that (because it's an internal hardware feature, not driver-related). You need to get a proper (means active) balanced to single ended converter or live with it.
 
Last edited:
OP
peniku8

peniku8

Senior Member
Forum Donor
Joined
Dec 9, 2020
Messages
371
Likes
743
I think you are wasting your time here with unrelated things. If your Topping has an analog mute switch at the output then it will cause a pop whenever it mutes, due to DC (let's say 50 millivolt) sharply switched to 0 V. This only happens in your un-supported wiring case, as the DC between the two balanced pins is zero.

Now this mute is most probably triggered by receiving no data (digital zero), and the required mute during sample rate changes. No power setting whatsoever will change the Topping to not do that (because it's an internal hardware feature, not driver-related). You need to get a proper (means active) balanced to single ended converter or live with it.
Yea, I kinda feared this would be the case but was hoping to find a software workaround. Thought I could keep the device out of idle mode if I somehow got the driver to keep polling it with "empty" packages. Device manager tells me that the device is always in power state D0 (full power), so my modifications did not help.
Makes sense that the pops are filtered out if the balanced signal is properly summed, but I wonder how the unbalanced D10 behaves in that case, or rather, how it's solved there.
I kinda hope Topping comes out with something EX5 like with dsp, but I'll probably end up replacing my stack with the EX5 before that, since the remote sure is convenient, since I'm sitting too far from the L30 to reach for its controls. EQapo makes the pops worse on top of that, since I'm running with -21db preamp gain software wise (for headphone EQ headroom), which I have to compensate for with the L30's volume knob...

Anyways, I think that's a wrap. Will probably go EX5 and maybe integrate the D10b into my measurement rig (along with my Fireface on the input side). As for the L30.. I might just pass it along to my dad, who is currently using a Behringer interface as headphone amp.
 

NTK

Major Contributor
Forum Donor
Joined
Aug 11, 2019
Messages
2,713
Likes
5,999
Location
US East
If that is the case, can't you play a very low level signal in the background constantly to prevent the DAC from going into idle (say, for example, a 20 Hz signal)?
 
OP
peniku8

peniku8

Senior Member
Forum Donor
Joined
Dec 9, 2020
Messages
371
Likes
743
If that is the case, can't you play a very low level signal in the background constantly to prevent the DAC from going into idle (say, for example, a 20 Hz signal)?
Yea, but that would be a solution that annoys me. I ordered an EX5 now, since I can conveniently switch between speakers and headphones with it as well, which I will need when I get around setting up my system. I like the remote. L30 is going to my dad, D10b probably to my laptop for when I need it for a live show.
 
Top Bottom