werman / noise-suppression-for-voice

Noise suppression plugin based on Xiph's RNNoise
GNU General Public License v3.0
4.79k stars 229 forks source link

[Windows 11 - EqualizerAPO 1.3 - plugin version 1.02] VST plugin not working while using Discrod #132

Open yanek1 opened 2 years ago

yanek1 commented 2 years ago

Problem

The VST plugin behaves in a weird way while using Discord (only tested with mic test in the settings menu). When I enable the VST plugin in EqualizerAPO, noise is not really suppressed, everything is just a little bit more muffled and after I start speaking, even the muffling goes away and it sounds like the plugin is not even enabled.

But here is the weird part. The plugin works everywhere else that I have tested without any problems. I tried basically the same test but in the Windows settings (the "Listen to this device" in Sound settings) and it works as expected. I also tried the default windows sound recorder app and the noise suppression also worked perfectly as expected.

Testing

I tried to see if maybe Discord somehow manages to crash the plugin, but it does not appear like it does. Going immediately back and forth between the Discord mic check and Windows "Listen to this device" check (enabling Dis. mic check, try speaking, disable, enable Windows check, speak, disable), the noise suppression works in the Windows check, but not in Discord. So it does not appear like Discord crashes the plugin, because the noise suppression immediately works in a different program.

I also checked if Discord is not somehow bypassing EqualizerAPO, but I don't think so because I have been using the older version of the plugin (version 0.91) and it worked flawlessly. I also tried to switch between the new version (1.02) and the old version (0.91) on the fly while listening to my voice on Discord and the old version worked as expected while the new version did what I have already described.

werman commented 2 years ago

Tested, worked in Edge + Discord and in a standalone Discord...

To be absolutely sure, set microphone to be single channel 48 kHz.

image

yanek1 commented 2 years ago

I do have it set to 48kHz, 1 channel but I had it set to 24 bit. Tried 16 bits but did not help.

image

I will try to do some more tests when I have time to see if maybe some other apps are affected and if I can't figure out some relevant piece of information.

yanek1 commented 2 years ago

I did a quick test of Discord in Firefox. Noise suppression worked as expected.

werman commented 2 years ago

I don't even have a theory what the difference could be....

Could you try https://github.com/werman/noise-suppression-for-voice/actions/runs/2752397051 which is built from https://github.com/werman/noise-suppression-for-voice/commit/b31564e1a5fc5906209a596dfb737486d3b482be changes. There were issues with VAD, I don't think it would help, but worth checking.

yanek1 commented 2 years ago

Sadly does not work, its the same behavior as I described previously.

Also as a side thing, I don't see any debug statistics in the panel (version 1.02 and the new build you linked). Might be somehow related in a weird way? I'll probably open a new issue later because it seems to be a separate issue.

werman commented 2 years ago

Also as a side thing, I don't see any debug statistics in the panel (version 1.02 and the new build you linked). Might be somehow related in a weird way? I'll probably open a new issue later because it seems to be a separate issue.

It's EqualizerAPO thing. It probably creates a separate plugin instance to show GUI, so there is no statistics to show.

yanek1 commented 2 years ago

It's EqualizerAPO thing. It probably creates a separate plugin instance to show GUI, so there is no statistics to show.

Yeah, I actually remembered that a while ago I tried different plugins (ReaPlugs) and it had the same behavior (wouldn't show any realtime stats or similar) so statistics not showing up is expected behavior. I won't bother opening a new issue. Thanks for the explanation.

As I said I will try to mess around with settings to see if something helps but this is really weird behavior so I don't have much hope of figuring it out.

yanek1 commented 2 years ago

Potentially useful discovery.

Switching the Discord app from "Standard" audio subsystem (Settings > Voice & Video > Audio Subsystem) to "Experimental" fixed the issue and noise suppression works as expected (both version 1.02 and https://github.com/werman/noise-suppression-for-voice/commit/b31564e1a5fc5906209a596dfb737486d3b482be). Also tried "Legacy" subsystem but that did not help.

No idea why the old version (0.91) works with "Standard" and the new does not but at least its something.

werman commented 2 years ago

Thanks for testing! If anyone else has the same issue, please thumbs up this comment.

yanek1 commented 2 years ago

So I have another super weird oddity to report.

The plugin WORKS with 44.1kHz selected in the Windows options.

The readme clearly states that 48kHz needs to be selected for it to work but for some reason, when I changed the sample rate to 44.1kHz, the noise suppression worked as expected and produced the same output as when I have 48kHz selected (basically, the audio was still clean and the noise suppression still worked as before/expected). I tested this with Windows "Listen to this device", Sound recorder and Discord (with "Experimental" audio subsystem)

I have even restarted my PC to make sure that when I set it to 44.1kHz, the setting was actually applied. I also checked with Voicemeeter to see what the microphone was set to and it did report that my microphone was set to 44.1kHz. And yet, the noise suppression worked and my voice was as good as when I had it set to 48kHz.

I don't know what exactly should happen when the setting is not properly set, but nothing changed when I changed it to the wrong setting.

This might be a separate ""issue"" but I don't know, might also be somehow related. Honestly, seems more like a feature than a bug because it should not work :D

Seragin commented 1 year ago

Potentially useful discovery.

Switching the Discord app from "Standard" audio subsystem (Settings > Voice & Video > Audio Subsystem) to "Experimental" fixed the issue and noise suppression works as expected (both version 1.02 and b31564e). Also tried "Legacy" subsystem but that did not help.

No idea why the old version (0.91) works with "Standard" and the new does not but at least its something.

2023 and it still doesnt work on standard no idea why tbh

gingerbreadassassin commented 11 months ago

It may be worth including this as a tip in the readme. As far as google sessions for weird audio issues go, this only took me about 15-20 minutes to fix, though this wasn't included in any of my search results.

However, after coming back to the source (here) and searching the issues for "Discord", this solution was readily available. (thanks @yanek1)

Some kind of blurb like

A note to Discord users, if noise cancellation isn't working for you in Discord, but is everywhere else, try the "Experimental" audio subsystem (Settings > Voice & Video > Audio Subsystem).

at the end of the Windows section.

If you agree @werman, I'd be happy to submit a PR

shirooo39 commented 4 weeks ago

I'm not really sure what's wrong with my configuration but it just doesn't work at all. when I tried it on both audacity and discord, all I can hear was scratching sound that kinda resambles electric guitar. there wasn't even my voice nor any real voice in the testing.....

I'm using an IEM, the TangZu Wan'Er, and also a 3.5mm splitter to split my IEM into 2 ports that goes into my pc. I wonder if this is the issue? been trying out things for hours but still no luck

gingerbreadassassin commented 4 weeks ago

I'm not really sure what's wrong with my configuration but it just doesn't work at all. when I tried it on both audacity and discord, all I can hear was scratching sound that kinda resambles electric guitar. there wasn't even my voice nor any real voice in the testing.....

I'm using an IEM, the TangZu Wan'Er, and also a 3.5mm splitter to split my IEM into 2 ports that goes into my pc. I wonder if this is the issue? been trying out things for hours but still no luck

@shirooo39 are you able to get the configuration to work without any sort of external processing? i.e. just checking the "listen to this device" box in the windows sound microphone settings? image

If not, your trouble lies far, far upstream from discussion of a VST plugin.

Otherwise, check and make sure you have the correct sound devices selected in EAPO.

And, unless the scratching sound only occurs in Discord when using this plugin, you probably want to start a new issue.

werman commented 4 weeks ago

Solved the mystery, stereo version of the plugin works.

shirooo39 commented 3 weeks ago

I'm not really sure what's wrong with my configuration but it just doesn't work at all. when I tried it on both audacity and discord, all I can hear was scratching sound that kinda resambles electric guitar. there wasn't even my voice nor any real voice in the testing..... I'm using an IEM, the TangZu Wan'Er, and also a 3.5mm splitter to split my IEM into 2 ports that goes into my pc. I wonder if this is the issue? been trying out things for hours but still no luck

@shirooo39 are you able to get the configuration to work without any sort of external processing? i.e. just checking the "listen to this device" box in the windows sound microphone settings? image

If not, your trouble lies far, far upstream from discussion of a VST plugin.

Otherwise, check and make sure you have the correct sound devices selected in EAPO.

And, unless the scratching sound only occurs in Discord when using this plugin, you probably want to start a new issue.

I have no idea what I did but I uninstalled EqualizerAPO, reset every sound settings in Windows, and then I reinstalled the latest version of EqualizerAPO and it just worked.

it's really nice to be able to use system-wide noise suppression, but it still struggles with very loud sound of fan blowing right next to me. there are also still some noises going in when I speak at the same time. but when I don't speak, yeah it does kind of work quite well.