Work in progress

clap-nr

DSP noise-reduction algorithms for amateur radio, wrapped as an open-standard CLAP audio plugin.

⇓ Download ⬡ View on GitHub
Not ready for production use. This plugin is under active development. Audio output may be broken or silent, and crashes are possible. A formal testing release will be announced when the project is ready. Please do not open bug reports until that release.

What is clap-nr?

This is predominantly derivative work. The noise-reduction algorithms at the core of this plugin were written by Warren Pratt (NR0V) and Richard Samphire (MW0LGE). Our contribution is the CLAP plugin wrapper, the audio integration layer, and the Win32 user interface. Full attribution is given in the THIRD-PARTY-NOTICES file.

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

NR1

ANR

Adaptive LMS noise reduction. Fast, low-latency, effective on stationary tones.

NR2

EMNR

Spectral MMSE with machine-learning gain estimation. Broad-band noise floor reduction.

NR3

RNNR

RNNoise recurrent neural network denoiser.

Coming soon
NR4

SBNR

libspecbleach adaptive spectral denoiser.

Coming soon

NR1 parameters

ParameterRangeDescription
Taps16 - 2048LMS filter length; more taps = narrower notch / slower adaptation
Delay1 - 512Decorrelation delay in samples
Gain (two_mu)1e-6 - 0.01LMS step size; higher = faster but less stable
Leakage (gamma)0.0 - 1.0Weight decay factor; prevents tap blow-up

NR2 parameters

ParameterOptionsDescription
Gain MethodRROE / MEPSE / MM-LSASpectral gain estimation algorithm (MM-LSA recommended)
NPE MethodOSMS / MMSENoise power estimation method
Audio EnhanceOn / OffPost-filter musical noise suppression

Platform support

Windows x64 ✓ macOS (not yet) Linux (not yet)

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

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.

Warren Pratt NR0V
ANR and EMNR algorithms (NR1 & NR2) - from the wdsp DSP library for amateur radio SDR.
github.com/vu3rdd/wdsp
Richard Samphire MW0LGE
RNNR and SBNR integration (NR3 & NR4) - RNNoise and libspecbleach wrappers from the Thetis project.
github.com/ramdor/Thetis
Jean-Marc Valin & Xiph.Org Foundation
RNNoise - recurrent neural network noise suppression (NR3).
gitlab.xiph.org/xiph/rnnoise
Luciano Dato
libspecbleach - adaptive spectral noise reduction (NR4).
github.com/lucianodato/libspecbleach
Matteo Frigo & MIT
FFTW3 - fast Fourier transform library underpinning EMNR frequency-domain processing.
fftw.org
Alexandre Bique & contributors
CLAP - the open audio plugin standard that makes host-neutral distribution possible.
github.com/free-audio/clap