What is clap-nr?
clap-nr brings the high-quality DSP noise-reduction algorithms found in established amateur radio software-defined radio stacks to any host application that supports the CLAP open plugin standard.
The plugin was written primarily to support Station Master Pro by Stuart E. Green (G5STU), an advanced amateur radio application with native CLAP plugin support. The broader goal is to make professional-grade noise-reduction available to the wider amateur radio community without locking it to any single radio application.
This plugin is not standalone - it must be loaded by a host application that supports the CLAP plugin format.
Noise-reduction modes
ANR
Adaptive LMS noise reduction. Fast, low-latency, effective on stationary tones.
EMNR
Spectral MMSE with machine-learning gain estimation. Broad-band noise floor reduction.
RNNR
RNNoise recurrent neural network denoiser.
Coming soonSBNR
libspecbleach adaptive spectral denoiser.
Coming soonNR1 parameters
| Parameter | Range | Description |
|---|---|---|
| Taps | 16 - 2048 | LMS filter length; more taps = narrower notch / slower adaptation |
| Delay | 1 - 512 | Decorrelation delay in samples |
| Gain (two_mu) | 1e-6 - 0.01 | LMS step size; higher = faster but less stable |
| Leakage (gamma) | 0.0 - 1.0 | Weight decay factor; prevents tap blow-up |
NR2 parameters
| Parameter | Options | Description |
|---|---|---|
| Gain Method | RROE / MEPSE / MM-LSA | Spectral gain estimation algorithm (MM-LSA recommended) |
| NPE Method | OSMS / MMSE | Noise power estimation method |
| Audio Enhance | On / Off | Post-filter musical noise suppression |
Platform support
Currently Windows x64 only (MSVC or MinGW-w64). Pull requests adding macOS or Linux support are welcome, provided they do not break the existing Windows build.
Building from source
Prerequisites
- CMake 3.20 or later
- Visual Studio 2022 (MSVC, x64) or MinGW-w64 (x64)
Step 1 - Build
cmake -B build -S . -A x64
cmake --build build --config Release
The output is build\Release\clap-nr.clap.
Step 2 - Install
Copy clap-nr.clap and the three runtime DLLs to your CLAP plugin folder.
The required DLLs are already present under libs\:
copy build\Release\clap-nr.clap "%COMMONPROGRAMFILES%\CLAP\"
copy libs\fftw\libfftw3-3.dll "%COMMONPROGRAMFILES%\CLAP\"
copy libs\rnnoise\rnnoise.dll "%COMMONPROGRAMFILES%\CLAP\"
copy libs\specbleach\specbleach.dll "%COMMONPROGRAMFILES%\CLAP\"
Licence
Distributed under the GNU General Public License v2 (or any later version at your option). This licence is inherited from the upstream DSP sources. See LICENSE for the full text and THIRD-PARTY-NOTICES.md for all upstream copyright notices.
Special thanks
clap-nr would not exist without the following people and projects. Please visit their repositories and consider supporting their work directly.