Shameless plug: Seriously, one way you can really help out this project is to subscribe to NightVsKnight's YouTube and/or Twitch channels. I will be showing off this project there from time to time, and getting new subscribers gives me a little morale boost to help me continue this project.
A C#/.NET wrapper around Nvidia's Audio Effects (NV-AFX, NvAudioEffects) C++ SDK:
- https://github.com/NVIDIA/MAXINE-AFX-SDK
- https://github.com/NVIDIA/MAXINE-AFX-SDK/tree/v1.1.0/nvafx/include
- https://github.com/NVIDIA/MAXINE-AFX-SDK/blob/v1.1.0/nvafx/include/nvAudioEffects.h
NvAfxDotNet: The actual class library project.
NvAfxDotNetTestApp: A C# demo WinForms app.
NvAfxDotNetUnitTest: Incomplete unit tests for the class library.
NvAfxTestConsole: A C++ Console app that I used as a working baseline.
cscore: Used by the NvAfxDotNetTestApp; I don't use NAudio because I don't know how to write effects/filters for it.
scratch: Where snippets go to die.
Currently only tested with NVAFX_EFFECT_DENOISER.
- Windows >= 10 x64
There are "AllCPU" and "x86" versions in the Solution/Projects, but those don't work and should probably be removed. - You need to install the Nvidia Broadcast Audio Effects (aka: "Maxine") SDK runtime for the library and demo app to work:
https://www.nvidia.com/en-us/geforce/broadcasting/broadcast-sdk/resources/ - NVAudioEffects.dll needs to be in your path.
InstallingNVIDIA Audio Effects SDK
adds%NVAFX_SDK_DIR%
to your Environment.
So, add%NVAFX_SDK_DIR%
to yourPATH
.
Example:set PATH=%PATH%;%NVAFX_SDK_DIR%
TL;DR: I initially implemented a dynamic LoadLibrary version of this, but adding a delegate for each function made the API ugly. :/
- Verify P/Invoke Marshalling of 7 remaining unverified SDK methods.
- Support more than just NVAFX_EFFECT_DENOISER.
- Expand this repo to support MAXINE-VFX-SDK and/or MAXINE-AR-SDK
- https://developer.nvidia.com/blog/achieving-noise-free-audio-for-virtual-collaboration-and-content-creation-apps/
- https://www.youtube.com/watch?v=Rfdtx-Oj54g
- https://docs.nvidia.com/deeplearning/maxine/audio-effects-sdk/index.html
- https://github.com/NVIDIA/MAXINE-AFX-SDK/blob/v1.1.0/samples/effects_demo/effects_demo.cpp
- OBS Studio:
- https://github.com/obsproject/obs-studio/commit/4ac96e1352db1272f4cacc2e0eafcd7b24d527b6
- https://github.com/obsproject/obs-studio/blob/master/plugins/obs-filters/nvafx-load.h
- https://github.com/obsproject/obs-studio/blob/master/plugins/obs-filters/obs-filters.c
- https://github.com/obsproject/obs-studio/blob/master/plugins/obs-filters/noise-suppress-filter.c
- ...