Degath's Ducker

Free Degath's Ducker 3.1.0.20

Degath

Member
Decided that its finally time to make a guide! Please use the guide as the primary source of usage related information. Any problems or development suggestions are of course always welcome!

Spread the word and someone please review or at least rate!
 

BeautifulPanda

New Member
Hello! Im loving your software, but what would make it perfect would be a Push-To-Talk Trigger. Since i have my mic in OBS on PTT because its pretty noisy around here, a normal trigger would still make the sound quiter without me even saying anything.
 

Degath

Member
Hello! Im loving your software, but what would make it perfect would be a Push-To-Talk Trigger. Since i have my mic in OBS on PTT because its pretty noisy around here, a normal trigger would still make the sound quiter without me even saying anything.

This is indeed on the agenda and since you asked I will try to implement that system for the next update.
 

Carousel

New Member
That's ok,
There is almost unlimited control over the sensitivity for the microphone. All you have to do is adjust the Peak Gain of the trigger (microphone) to look more like the picture below.

View attachment 11270

I have previously apologized for the lack of a guide and I realize all the options may not be immediately clear at all. The X-axis of the peak gain graph is the true peak (0-100%) which would also be visible in the recording menu of windows itself. The highlighted red line is about at the 50% mark and represents a theoretical true value. The value is then converted to another value according to the blue line. The result in this case would be approximately a 80% peak visible in the Ducker itself.

This example is of course to make the peak more sensitive to low volume sounds like whispering. To reduce sensitivity you would need to mirror the graph.

Hope this helps!

That's Ok, you've made us a great and Free tool, we don't expect anything from you. That said, a guide would be really nice since I'm an audio noob. My settings are as follows.

Untitled_2.jpg

Untitled_3.jpg

Untitled_4.jpg
 

Degath

Member
That's ok,


That's Ok, you've made us a great and Free tool, we don't expect anything from you. That said, a guide would be really nice since I'm an audio noob. My settings are as follows.

Untitled_2.jpg

Untitled_3.jpg

Untitled_4.jpg

Seems like you are the second person to encounter that particular bug. I have no idea how that happens but the Peak Gain is broken for some reason. If the peak gain looks like that it means that all peaks that come from the microphone that are below the 50% mark or so are converted to something like 5%.

There are a few options you can try.
1. Delete the actual settings file (Guide is under Installing/Uninstalling). You might also want to download the latest version while you are at it. This of course will remove any templates or settings you have made. Start the program and see if the problem persists.
2. Modify the settings file.. The settings are saved as plain text and can be modified to some extent. This is not easy and I'm not seriously even suggesting but its an option. I may be able to help if it comes to that.

My sincerest apologies. Having to fight with a buggy program without a guide can really be a pain.
 

Carousel

New Member
Thank you so much! I've removed settings file and downloaded newest version. Now everything works as intended! THANK YOU!
 

Degath

Member
Degath updated Degath's Ducker with a new update entry:

Hotkeys, General settings and more!

Hotkeys now available for the following functions:
- On/Off
- Push-To-Duck

General settings now work! You may choose whether the program is minimized to tray or just the taskbar. Also possibility to automatically check for updates when starting the program. Run at startup not yet available but this is achievable manually in many ways.

Fixed the Default template functionality. It previously had some serious issues but since nobody complained I suspect the feature wasn't really utilized....

Read the rest of this update entry...
 

ObeEs

New Member
Is there any chance to make it so it reduces the volume of Desktop Audio on OBS-MP instead of reducing the volume of the actual app? so i keep hearing the same volume but the viewers get it reduced so they can hear my voice better.
 

Degath

Member
Is there any chance to make it so it reduces the volume of Desktop Audio on OBS-MP instead of reducing the volume of the actual app? so i keep hearing the same volume but the viewers get it reduced so they can hear my voice better.

The program itself in its current state can't accomplish that. However I think this can be achieved by utilizing Virtual Audio Cable for example. You would set it up so that the cables route audio sources of interest to a single device and use that as the desktop audio source for OBS. Then you can use Degath's Ducker to control the VAC output device volume. More specific guidance for the VAC you will have to find elsewhere (sorry).

Note that I have not tested the setup I describe but that is my understanding of how it should work. I hope you can get everything to work!
 

Degath

Member
DD won't recognize my Blue Yeti after the last update

The device is not listed at all? And the microphone itself still functions normally? If yes is the answer to both questions I don't really know how that is possible. Nothing has changed in the handling of devices in multiple versions now. I myself also have a USB microphone which most likely uses the same driver as the Blue Yeti and it is still recognized normally.

If indeed the microphone functions normally and DD does not list it the only thing you can really try is to delete the settings file again. I can't see how that could affect it but it is pretty much the only thing you can try in addition to actually testing an older version. They are all available at the home page. Since this problem does not actually produce an error you might still get some kind of strange entry in the log which is in the settings window. If you want I can look through it if you send it to me.

For now the only thing I can do in terms of fixing the code is guessing what caused this. I hope we can find the cause!
 

YorVeX

Member
Thanks for this tool. It does the job perfectly. And unlike a lot of free programs from single developers this one has actually a neat GUI, looking really professional. Also it has pretty good performance, the DD process always alternates between 0% and 1% CPU load in Windows Task Manager at all times. Keep up the good work!

However, unfortunately for me it comes with a problem that makes it unusable right now. I hope it is something that can be solved.

There seems to be something that the program does every 1.5 to 2 seconds. Because that's when my mouse stops for a split second when moving it in CS:GO while DD is running. So every 1.5 to 2 seconds when moving the mouse in the game I will get a short lag, sometimes barely noticable, sometimes causing a real disruption. As a result the game is unplayable as precise mouse movements are important.
I am sure it's only the mouse that is acting weird, because in the game my FPS are not dropping (got them limited to 128 FPS and that's where they stay all the time) and when I am moving around in the game solely by keyboard no such lags occur.
If I close DD the problem immediately disappears. If I reopen it the problem comes back immediately, so I am sure it's caused by DD somehow. Also I've never seen something like this before now and before trying out DD.

It happens regardless of triggers and targets - it occurs even with no triggers or targets added in DD at all. And also when DD is disabled (power button at the top in DD is red). I doubt it's related to system load or load caused specifically by the DD process (as I said above it's at 0-1%) and also my total system load while playing is only around 15%-20% (CS:GO is an old game :P).

Using DD 3.1.0.5 on Windows 7 x64, mouse is a Logitech G502 with the Logitech drivers installed. I tried without OBS or any additional software running, just DD and the game.

Any ideas? Is DD doing something every 2 seconds or a little faster than that, e.g. poll for available sound devices in the system? I don't think DD causes this directly, it's rather a side-effect of DD making something busy in the OS which then affects the mouse input processing.
 
Last edited:

YorVeX

Member
Oh, and I just noticed it sets the input audio level for my microphone in Windows to 0. As a result I can't use this together with VSTHost because as soon as DD is running VSTHost stops receiving any input.

I know that VSTHost can be used to implement ducking too but it's rather difficult while DD would be such a neat solution to this (if it would work :-/)
 

Degath

Member
Thanks for this tool. It does the job perfectly. And unlike a lot of free programs from single developers this one has actually a neat GUI, looking really professional. Also it has pretty good performance, the DD process always alternates between 0% and 1% CPU load in Windows Task Manager at all times. Keep up the good work!

However, unfortunately for me it comes with a problem that makes it unusable right now. I hope it is something that can be solved.

There seems to be something that the program does every 1.5 to 2 seconds. Because that's when my mouse stops for a split second when moving it in CS:GO while DD is running. So every 1.5 to 2 seconds when moving the mouse in the game I will get a short lag, sometimes barely noticable, sometimes causing a real disruption. As a result the game is unplayable as precise mouse movements are important.
I am sure it's only the mouse that is acting weird, because in the game my FPS are not dropping (got them limited to 128 FPS and that's where they stay all the time) and when I am moving around in the game solely by keyboard no such lags occur.
If I close DD the problem immediately disappears. If I reopen it the problem comes back immediately, so I am sure it's caused by DD somehow. Also I've never seen something like this before now and before trying out DD.

It happens regardless of triggers and targets - it occurs even with no triggers or targets added in DD at all. And also when DD is disabled (power button at the top in DD is red). I doubt it's related to system load or load caused specifically by the DD process (as I said above it's at 0-1%) and also my total system load while playing is only around 15%-20% (CS:GO is an old game :P).

Using DD 3.1.0.5 on Windows 7 x64, mouse is a Logitech G502 with the Logitech drivers installed. I tried without OBS or any additional software running, just DD and the game.

Any ideas? Is DD doing something every 2 seconds or a little faster than that, e.g. poll for available sound devices in the system? I don't think DD causes this directly, it's rather a side-effect of DD making something busy in the OS which then affects the mouse input processing.

This one is simple due to such good description. I can almost guarantee this is caused by DD fetching all window titles every 2 seconds. It should not really cause Mouse lag in any way. More likely is that the CS window does not like that its name is being looked at for some reason causing the actual window to lag slightly. Never thought it could cause such issues though. I use this for the naming of some of the audio sessions (like Spotify title = song name). I can look into getting this information in a better way which might not interfere.

Thank you for informing me!
 
Last edited:

Degath

Member
Oh, and I just noticed it sets the input audio level for my microphone in Windows to 0. As a result I can't use this together with VSTHost because as soon as DD is running VSTHost stops receiving any input.

I know that VSTHost can be used to implement ducking too but it's rather difficult while DD would be such a neat solution to this (if it would work :-/)

This one is more strange and I believe this should not happen. Have you set the microphone to be a target? You could try that and see if the settings are messed up for some reason. It should look like the one below if it has default settings and the volume is set to 100%.
Untitled.png


DD has several point at which it may change the volume and knowing when or how the volume change occurs would help finding the problem. Is it right from the start? Or after closing?

In every case though you should be able to reset the volume either from windows or directly using the volume limits (black arrows on the blue bar) and DD should remember the change if settings are saved in any form. Maybe try to save a new template after these steps and check if using that still causes the same problem.

If nothing else helps you can also try to delete the settings file of the program. Guide below:
Program settings are saved in the users files. Lets say Windows is on C: drive. Then the programs settings would be at "C:\Users\<USERNAME>\AppData\Roaming\Degath's Ducker v3.X.X\" where <USERNAME> is replaced with your username. AppData folder is hidden by default but can be made visible from the Folder Options menu under View tab or directly accessed by typing %appdata% in the file explorer address bar. Degath' s Ducker folder can be deleted at any point for whatever reason but the program will reset to default settings.

I hope we can find a solution!
 

YorVeX

Member
This one is simple due to such good description. I can almost guarantee this is caused by DD fetching all window titles every 2 seconds. It should not really cause Mouse lag in any way. More likely is that the CS window does not like that its name is being looked at for some reason causing the actual window to lag slightly. Never thought it could cause such issues though. I use this for the naming of some of the audio sessions (like Spotify title = song name). I can look into getting this information in a better way which might not interfere.

Thank you for informing me!

There is a chance that this is caused by the CS:GO anti-cheat system (VAC) which reacts on the CS window being read by an external process by doing some quick system scans, hence causing the lag. Anti-cheats in general don't like it when external programs touch their processes in any way. If that is the case it won't be easy to find a generic solution and other solutions would produce the same effect.
But I am just guessing here, let's hope this is not the case.

Either way, maybe something simple as a filter where I can add the name of processes not to be scanned could help already. And if nothing else helps an option in the settings like "[X] Don't rescan window titles" would be nice (so it only does one initial scan but doesn't repeat it every 2 seconds).
 
Last edited:

YorVeX

Member
Here's some more smaller things you might want to look into:

  • Pressing "Update" but then closing DD before the update check process was finished causes the application executable to remain with the name "Degath's Ducker.exe.old" - one has to manually rename it in order to make it work again (might be a problem for less advanced users)
  • Pressing "Update" and then "Settings" in the main menu causes an unhandled exception - the update check still finishes but then it is impossible to click something either the main window, the message box or the exception dialog, the program can only be closed with the task manager
  • If I set a default template there doesn't seem to be a direct way to revert it to not having a default template - deleting that template and then saving it again is a workaround but there should be a simpler way (maybe just provide an empty item in the combo box to be selected)
  • Is the log that is shown in the settings saved anywhere? From the settings window it's not possible to copy-paste (no context menu on right click and Ctrl+C or Ctrl+Ins do nothing) or save the contents to a file. If you ask me to send you the log my only option would be a screenshot if I don't want to manually transcribe everything
  • Speaking of the log, here it shows a message that it can't register for the process exit event of ts3client_win64.exe - which is the TeamSpeak client in 64 bit version - because of "Access Denied". As one would expect running DD as admin solves that, but that's not my point here. My point is that after I closed the TeamSpeak client the log fills with a "No Process with ID 1234 is being executed" error messages every 2 seconds (apparently caused by your title check). Instead of spamming those messages, why not use that error to have DD recognize the fact that a process has exited? This would compensate for the problem that the exit event can't be received for that process.
  • There should be separate menu entries for "Save" and "Save As". When I want to overwrite my current template I always have to type the full name again in the "Save..." dialog box, which is annoying especially when my template name is pretty long. Alternatively, make the current "Save..." dialog box have the name of the currently loaded template preset in the text box.
  • Maybe it would be a good idea to also include the current template's name in the DD window title. E.g. "Degath's Ducker - My template".
    • And if unsaved changes were made maybe indicate it there too by using an asterisk like "Degath's Ducker - My template*".
    • Oh yeah, and while at it, ask the user whether he wants to save the template if there are unsaved changes while he is trying to exit the application ;-)
  • I think it's not ideal that when template contains target A and target B, but when target B is a program currently not running it is not shown on the target list at all. Under normal circumstances this might not produce any issues. But it could make error tracking really hard if that target is actually running but is not detected by DD for some reason. I will never know whether it just got lost from my template, is not shown because of a display bug or is not shown because the process is not detected by DD.
    • Also I think it's not a good design when I have to run that target program first to be able to delete it from my template. What if I already uninstalled it but forgot to remove it from my template? I would have to create a new template leaving this target out if I want to clean this up. If I don't, who knows what other problems it creates when DD is constantly looking for an application that will never be there again? Especially if I really forgot about this when uninstalling it, I might never find out that this target is still in the template but just invisible because it is not running right now.
    • Solution suggestion 1: always show all targets, but indicate if they are not active/running right now, e.g. by showing it grayed or displaying an extra "disabled" icon.
    • Solution suggestion 2: leave it as it is but at the top or bottom of the target list provide a "[X] Show inactive targets" checkbox that can make them visible. Should probably be combined with suggestion 1.
  • Would be good to have DD remember its window size related to the current template if saved. Alternatively, just remember the window size regardless of the loaded template, so I can at least choose a window size that fit all my templates nicely and don't have to resize the window after every new start of the program.
 
Last edited:

YorVeX

Member
This one is more strange and I believe this should not happen. Have you set the microphone to be a target? You could try that and see if the settings are messed up for some reason. It should look like the one below if it has default settings and the volume is set to 100%.
View attachment 12286

DD has several point at which it may change the volume and knowing when or how the volume change occurs would help finding the problem. Is it right from the start? Or after closing?

In every case though you should be able to reset the volume either from windows or directly using the volume limits (black arrows on the blue bar) and DD should remember the change if settings are saved in any form. Maybe try to save a new template after these steps and check if using that still causes the same problem.

If nothing else helps you can also try to delete the settings file of the program. Guide below:
Program settings are saved in the users files. Lets say Windows is on C: drive. Then the programs settings would be at "C:\Users\<USERNAME>\AppData\Roaming\Degath's Ducker v3.X.X\" where <USERNAME> is replaced with your username. AppData folder is hidden by default but can be made visible from the Folder Options menu under View tab or directly accessed by typing %appdata% in the file explorer address bar. Degath' s Ducker folder can be deleted at any point for whatever reason but the program will reset to default settings.

I hope we can find a solution!

I did some more tests regarding this issue, here's the steps I've conducted and my findings:
  • Make sure Windows microphone level is set to max (100)
  • Delete the config file (Settings.ddt) and start DD (so it's started with default settings)
  • Add a trigger and chose your microphone, leave all other settings untouched and "Confirm"
  • File -> Save... -> "Test"
  • Exit DD and restart
  • Check Windows microphone level - result: still at 100
  • File -> Open... -> "Test"
  • Check Windows microphone level - result: still at 100
  • Conclusion: Starting DD with a template and opening it manually works fine, no undesired microphone level change occurs
  • Settings -> Templates -> Set default template to "Test" by choosing it from the combobox, Apply the settings
  • Exit DD and restart
  • Check Windows microphone level - result: level was set to 0
  • Conclusion: the problem is related to the "default template" feature, not using this feature avoids this problem
  • Exit DD
  • Check Windows microphone level - result: level was reverted to 100
To answer some of your above questions: the level change occurs immediately when DD is started, but only when it has a default template set that includes the microphone as a trigger (targets don't need to be on the template to reproduce this). The mic level is reverted immediately after DD is closed.
I kept the respective Windows dialog window (Sound -> Recording -> Mic device -> Properties -> Levels) open during my tests and could see the change there immediately, no need to reopen that window).
 
Last edited:
Top