werman / noise-suppression-for-voice

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

VST GUI? #48

Closed helix4u closed 2 years ago

helix4u commented 4 years ago

Any chance of a VST release in the future with a GUI for tweaking some values like VAD threshold, reduction amount, release ms etc? I've been comparing this to other noise suppression/reduction VSTs and its performs very well compared to others, but is only lacking in the fine tuning department (No GUI control https://i.imgur.com/FTsSDUl.png). I spent some time finding an archived VST SDK from stienberg that still included the VST2 plugininterfaces (it seems to have been stripped in current SDK downloads) and spent some time trying to just get it to compile on windows so I could tinker before I noticed a note about compiling problems on windows.

werman commented 4 years ago

VST should compile just fine with MSVC, it is a ladspa plugin which has issues.

In master there is already VAD threshold, I could also add a grace period and make a release.

helix4u commented 4 years ago

Hmm, maybe I need to play with my build environment a bit more and also try various other VST hosts applications. But yeah, I've been looking for a great noise reduction VST for a while now (paid or free) and this one seems to keep the most original mic tone with the best reduction. Just what I'm looking for, I just need that fine tuning control to play with to satisfy me fully.

werman commented 4 years ago

Hmm, maybe I need to play with my build environment a bit more and also try various other VST hosts applications.

What issue do you have? You built master and still don't have any parameters?

helix4u commented 4 years ago

I just spent a few mins trying to compile with mingw64... something I'm not used to, so I've likely just overlooked or misunderstood something from your readme. Didn't have much time, so I didn't look into it my issue too much.

CMake Error at C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeTestCCompiler.cmake:66 (message): The C compiler

"C:/Program Files/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/x86_64-w64-mingw32-gcc.exe"

is not able to compile a simple test program.

It fails with the following output:

Change Dir: C:/Users/btgil/Desktop/noise-suppression-for-voice-master/build-mingw64/CMakeFiles/CMakeTmp

Run Build Command(s):nmake /nologo cmTC_ae908\fast && The system cannot find the file specified
Generator: execution of make failed. Make command was: nmake /nologo cmTC_ae908\fast &&
werman commented 4 years ago

You should try with MSVC, mingw on windows is a bit more involved to setup, and since I don't have windows - I cannot give a useful advice.

helix4u commented 4 years ago

I'll give it a whirl. Thanks

theglobe commented 4 years ago

There is currently no GUI, and it is fully possible to use this plug-in without one* since all properly developed hosts will provide their own controls (slider or text input) to control the parameters within their own interface.

In Ableton Live (which is in your linked picture above) you can click one of the fields labeled 'none' and map it to the VAD Threshold parameter.

Commercial plugins have a 'custom' plug-in-GUI in part because it looks fancy but it is really only needed when the control is more advanced than a simple value, like we have here, or when the plug-in provides some information (like a spectrograph).

*) Notably, Equalizer APO does not provide its own controls and crashes when trying to bring up a GUI, but the plugin seems to run fine there.

werman commented 4 years ago

Didn't know that some plugins have custom GUI.

theglobe commented 4 years ago

For MinGW, try Visual Studio Code with the CMake extension.

theglobe commented 4 years ago

Yes, most plugins have a GUI that looks like front of a physical rack-unit. Is there anything like that for LADSPA and pulse?

Would be nice to have, but would probably require separate implementations for Windows and Linux.

werman commented 4 years ago

Is there anything like that for LADSPA and pulse?

I think there are LV2 plugins with gui, maybe some ladspa. Due to how pulseaudio works I don't think it could launch any gui. I don't have any knowledge of all this sound postprocessing ecosystem and plugins - I just did a plugin which solves my issue.

theglobe commented 4 years ago

Ardour is a DAW for Linux and can use LV2, LADSPA and VST, https://manual.ardour.org/working-with-plugins/getting-plugins/

Seems it is possible to build VST plugins on Linux, http://teragonaudio.com/article/Building-VST-plugins-on-Linux.html

helix4u commented 4 years ago

I've got it compiling now, though the size is only 706KB compared to the 2.73MB release version. It's still functional... not sure where that difference came from. Anyway, theGlobe, those fields labeled 'none' in Ableton are disabled with this VST and some others. Something needs to be set up somewhere for that to work. At least I can see about tinkering around now and maybe hack together a UI with a slider or two if I can figure this out.

helix4u commented 3 years ago

So, I started playing with this a tad, but got a bit sidetracked. Anyway, I found this thing... Projucer, made by Juce -github link- and it seems to be a neat cross-platform framework (Mac, Windows and Linux) that is set up to export to various type plugins (VST2, VST3, AU, AUv3, RTAS, AAX, Standalone app, etc.) with a bunch of tutorials and documentation including UI to pull from. It might be interesting to see if it can be tweaked around and built on this framework and compiled into even more plugin formats. There are free personal and educational licenses. Personal being that you aren't supposed to be generating revenue over $50k from it without buying a license. Anyway, thought you might be interested since I saw that you guys are primarily Linux users.

atmosfar commented 3 years ago

Could you please update the release page with a current build? I have the VST from May and do not see any GUI (or sliders) in Reaper. Thank you!

werman commented 3 years ago

@atmosfar https://github.com/werman/noise-suppression-for-voice/releases/tag/v0.91 - done

atmosfar commented 3 years ago

Thanks @werman !

werman commented 2 years ago

Released v1.01, there is GUI now via JUCE.