Skip to content

DSP Noise Mitigation

Jeremy Fielder edited this page May 9, 2026 · 9 revisions

DSP Noise Mitigation

Flex Radios provide access to built-in noise mitigation features, plus six client-side noise reduction algorithms through AetherSDR: NR2 (spectral, MMSE-LSA), RN2 (RNNoise neural network), NR4 (libspecbleach advanced spectral), MNR (macOS-native MMSE-Wiener), BNR (NVIDIA Maxine GPU AI), and DFNR (DeepFilterNet3 neural).

Quick Reference

Feature Full Name Target Noise Runs On
NB Noise Blanker Impulse noise (ignition, switching) All radios
NR Noise Reduction General broadband noise All radios
NR2 Spectral Noise Reduction Complex noise, weak signals Client (CPU)
RN2 Neural Noise Suppression (RNNoise) Complex/varying noise (AI-based) Client (CPU)
NR4 SpecBleach Spectral Denoiser Stubborn broadband noise Client (CPU)
MNR Apple MMSE-Wiener General SSB noise (macOS-native) Client (CPU, macOS only)
BNR GPU Background Noise Removal (NVIDIA Maxine) All noise types (large-scale AI) Client (GPU)
DFNR DeepFilterNet3 AI Best all-around AI denoising Client (CPU)
ANF Auto Notch Filter Single persistent tone All radios
NRL Noise Reduction Leaky Random band noise, background hiss All radios
NRS Noise Reduction Speech Background noise during voice BigBend + Aurora
RNN Recurrent Neural Network Complex/varying noise (AI-based) BigBend + Aurora
NRF Noise Reduction Filter Steady broadband noise BigBend + Aurora
ANFL Adaptive Notch Filter (Leaky) Steady tones, power-line hum All radios
ANFT Adaptive Notch Filter (FFT) Multiple narrowband tones (up to 5) All radios
APF Audio Peaking Filter CW signal enhancement All radios (CW mode only)
WNB Wideband Noise Blanker Wideband impulse noise All radios

Radio-Side Filters (FPGA)

These run on the radio's FPGA — zero CPU cost to your PC. All use preset, optimized parameters with no user adjustments required — just toggle on/off. We did; however, add "amount" sliders in the DSP slide bar menu if you're feeling adventurous. Go wild.

NB — Noise Blanker

Blanks short impulse noise (ignition interference, switching power supplies). Has an adjustable level (0-100) in the DSP side panel.

NR — Noise Reduction

General-purpose noise reduction. Adjustable level (0-100). Good starting point for noisy bands.

ANF — Auto Notch Filter

Removes a single persistent tone from the passband. Adjustable level (0-100). Best for a dominant interfering carrier.

NRL — Noise Reduction Leaky

Purpose: Reduce random band noise and background hiss.

Adaptive time-domain "Leaky LMS" filter that preserves correlated signals (voice, CW) while removing uncorrelated noise. Best for daily operation when signals are buried in static. Avoid when signals are already clean — may introduce slight "watery" audio if unnecessary.

Available on all Flex Radios.

ANFL — Adaptive Notch Filter (Leaky)

Purpose: Remove steady tones or power-line hum.

An adaptive filter that detects and cancels correlated tone interference. Best for hum, steady carriers, or single persistent tones. Avoid when no hum/tone is present — could partially notch the desired signal.

Available on all Flex Radios.

ANFT — Adaptive Notch Filter (FFT)

Purpose: Suppress up to five narrowband tones in the passband (≥ –110 dB).

FFT-based spectral notch filter that identifies and removes stable tone noise. Best for power supply hum, transformer buzz, grounding-related tones, or spurs.

Available on all Flex Radios.

NRF — Noise Reduction Filter

Purpose: Reduce steady background noise using frequency-domain processing.

Spectral subtraction estimates and removes broadband noise from each frequency bin. Best for constant hiss, fan noise, or environmental hum.

Available on FLEX-8000 (BigBend) and Aurora series only.

NRS — Noise Reduction Speech

Purpose: Improve speech clarity by lowering noise most aggressively between words.

Spectral subtraction combined with Voice Activity Detection (VAD). Best for SSB/AM voice operation in consistent noise environments.

Available on FLEX-8000 (BigBend) and Aurora series only.

RNN — Recurrent Neural Network Suppression

Purpose: AI-based removal of complex or varying noise while keeping speech natural.

Deep-learning model that separates speech from noise across time and frequency. Best for mixed or changing noise sources — fans, equipment, electrical noise, band noise.

Available on FLEX-8000 (BigBend) and Aurora series only.

APF — Audio Peaking Filter

Narrow bandpass filter centered on the CW pitch frequency. Enhances CW signals by attenuating everything outside the peak. Adjustable level (0-100). Only available in CW mode.

WNB — Wideband Noise Blanker

Wideband impulse noise blanker. Controlled via the ANT sub-menu on the left sidebar. Has an adjustable level (0-100) and appears as a "WNB" indicator on the FFT display when active.

Client-Side Filters

Important: All six client-side modes (NR2, RN2, NR4, MNR, BNR, DFNR) process audio on your PC, not on the radio. They only affect audio played through your computer's speakers or headphones. If you listen through the radio's physical outputs (line out, headphone jack, or front speaker), you will not hear client-side processing — only the radio's built-in filters (NR, NRS, NRL, RNN, etc.) apply to those outputs.

If you use headphones connected directly to the radio, consider switching to PC audio output to benefit from client-side processing. Alternatively, use the radio's built-in NR or RNN filters which do apply to the radio's headphone jack.

ADSP cluster bypass: the ADSP chip in the Aetherial Audio CHAIN row bypasses all six client-side modes in one click and restores your previous selection on the second click. Useful for A/B comparing processed vs unprocessed receive audio.

NR2 — Spectral Noise Reduction

Purpose: Advanced noise reduction using the Ephraim-Malah MMSE Log-Spectral Amplitude estimator with OSMS noise floor tracking.

Contributed by @EI6JGB

Unlike the radio-side filters, NR2 runs on your PC's CPU. It processes the demodulated 24kHz audio using a 256-point FFT with 50% overlap, estimates the noise floor per frequency bin, and applies a spectral gain that suppresses noise while preserving speech.

How it differs from NR: The radio's NR uses a time-domain adaptive filter. NR2 uses frequency-domain spectral subtraction with decision-directed smoothing — a fundamentally different algorithm that can catch noise the radio's NR misses, especially on very weak signals.

Key features:

  • Ephraim-Malah MMSE-LSA gain computation
  • OSMS (Optimally Modified Log-Spectral Amplitude) noise floor tracking
  • Speech presence probability weighting
  • Anti-musical-noise temporal gain smoothing
  • 1-second startup ramp for smooth convergence
  • CPU cost: ~1-2% of one core

When to use:

  • Weak signals where the radio's NR isn't enough
  • Can be stacked with radio-side NR for maximum noise reduction
  • Effective on CW and SSB
  • Adapts automatically when changing bands (~1 second convergence)

Enabling NR2: The NR button in the RX applet cycles through three states: Off → NR → NR2 → Off. Also available in the VFO widget DSP panel and the left sidebar DSP sub-menu.

FFTW3: NR2 optionally uses the FFTW3 library for optimized FFTs. Falls back to a built-in radix-2 FFT if FFTW3 is not installed. See NR2 Noise Reduction for details.

RN2 — Neural Noise Suppression (RNNoise)

Purpose: AI-based removal of complex or varying noise using the Mozilla/Xiph RNNoise deep-learning model.

Unlike the radio's RNN (which runs on the FPGA of BigBend/Aurora radios), RN2 runs on your PC's CPU using the open-source RNNoise library. It uses a recurrent neural network trained on speech and noise data to separate voice from background noise in real time.

How it works: RN2 upsamples the demodulated 24kHz stereo audio to 48kHz mono (RNNoise's native rate), processes it through the neural network in 480-sample (10ms) frames, and downsamples back to 24kHz stereo.

How it differs from NR2: NR2 uses classical spectral subtraction (frequency-domain statistics). RN2 uses a deep-learning model that has learned what speech vs. noise sounds like — it can handle non-stationary noise that statistical methods struggle with (fans cycling, keyboard clicks, band noise that changes character).

Key features:

  • Mozilla/Xiph RNNoise BSD-3 library, bundled — no external dependency
  • Processes 480-sample frames at 48kHz (10ms latency)
  • Zero configuration — single toggle, no level adjustment
  • CPU cost: ~1% of one core
  • Mutually exclusive with NR2 (enabling one disables the other)

When to use:

  • SSB voice in noisy conditions (band noise, QRM, environmental noise)
  • When radio-side RNN is not available (FLEX-6000 series)
  • As an alternative to NR2 when statistical noise reduction sounds "watery"

Enabling RN2: The RNN button in the RX applet cycles through three states: Off → RNN (radio) → RN2 (client) → Off. Also available as a dedicated RN2 button in the VFO widget DSP panel and the left sidebar DSP sub-menu.

Note: All six client-side modes (NR2, RN2, NR4, MNR, BNR, DFNR) are mutually exclusive — enabling any one disables the others. Any of them can be stacked with any radio-side filter (NR, NRL, NRS, etc.).

NR4 — SpecBleach Spectral Denoiser

Purpose: Advanced spectral noise reduction with psychoacoustic masking and a learned noise profile.

NR4 is powered by Luciano Dato's open-source libspecbleach library. It applies a brief learning period (~1 s of audio) to build a noise profile, then uses spectral masking — informed by psychoacoustic models — to suppress the noise without the "musical" artefacts that classical spectral subtraction can produce.

How it differs from NR2: NR2 is a real-time MMSE-LSA estimator that adapts continuously; NR4 builds a profile up-front and applies a deeper, masked subtraction. When the noise floor is high and constant (switch-mode supplies, plasma TVs, broadband RFI), NR4 at moderate Reduction Amount often sounds more natural than NR2 at the same suppression depth.

Key features:

  • Seven user parameters (Reduction Amount, Smoothing, Whitening, Adaptive Noise toggle, Noise Estimation method, Masking Depth, Suppression Strength)
  • Learning period during the first second after enable
  • Three noise estimators (SPP-MMSE, Brandt, Martin)
  • CPU cost: ~2-3% of one core

When to use:

  • Constant high-noise environments (RFI, switching supplies)
  • When NR2 sounds watery or musical at the level of suppression you need
  • Best when you can let the chain "listen" to noise alone for a moment before a signal appears

Enabling NR4: The NR4 button in the VFO DSP tab and the Aetherial DSP Settings dialog. Right-click for parameter popup.

Build requirement: NR4 requires libspecbleach to be available at build time — on Windows that means clang-cl from LLVM (the library uses C99 VLAs that MSVC can't compile). If your build doesn't include it the NR4 button is disabled with a tooltip explaining how to enable it.

MNR — Apple MMSE-Wiener (macOS only)

Purpose: macOS-native spectral noise reduction using Apple's vDSP framework.

MNR is mathematically related to NR2 — both descend from the Ephraim-Malah / MMSE family — but uses Apple's hand-tuned macOS implementation so it runs almost free on Apple Silicon. It exists for Mac users who want a no-fuss native option without installing GPU drivers (BNR) or compiling extra libraries (DFNR / NR4).

Key features:

  • Single Strength slider (0–100%)
  • Native vDSP / Accelerate framework — minimal CPU cost on Apple Silicon
  • Mutually exclusive with NR2 / RN2 / NR4 / BNR / DFNR

When to use:

  • macOS users wanting the simplest setup
  • General HF SSB conditions where NR2-class behaviour is appropriate

Enabling MNR: The MNR button in the VFO DSP tab. On non-macOS builds the button is disabled with an explanatory tooltip.

BNR — GPU Background Noise Removal (NVIDIA Maxine)

Purpose: State-of-the-art AI noise removal using NVIDIA's Maxine BNR neural network, running on your local RTX GPU.

BNR is the most powerful noise removal option available in AetherSDR. It uses a large-scale neural network optimized with TensorRT, running inside a self-hosted Docker container on your NVIDIA GPU. Audio is sent to the container via gRPC bidirectional streaming, denoised by the GPU in real time, and returned — all in about 15ms.

How it differs from NR2/RN2: BNR is trained on vastly larger datasets with GPU-accelerated inference, producing cleaner audio with fewer artifacts. NR2 uses classical spectral statistics, RN2 uses a small CPU-side neural network, while BNR uses a full-scale GPU-optimized neural model.

Key features:

  • NVIDIA Maxine BNR residual convolutional RNN, TensorRT optimized
  • 48kHz mono float32, 10ms processing chunks via gRPC
  • Adjustable intensity (0–100%) — dial in the exact amount of denoising
  • ~15ms added latency with jitter buffer for smooth playback
  • ~5% GPU utilization on RTX 4090, ~1.1 GB VRAM
  • Mutually exclusive with NR2 and RN2

Requirements: NVIDIA RTX 4000+ GPU, Docker + NVIDIA Container Toolkit, one-time NGC account setup.

Enabling BNR: Click the BNR button in the VFO DSP tab or the spectrum overlay DSP panel. Adjust intensity with the slider next to the button in the overlay panel. See BNR GPU Noise Removal for full setup instructions.

Note: All six client-side modes (NR2, RN2, NR4, MNR, BNR, DFNR) are mutually exclusive — enabling any one automatically disables the others. Any of them can be stacked with any radio-side filter (NR, NRL, NRS, etc.).

DFNR — DeepFilterNet3 AI Noise Reduction

Purpose: Best all-around AI noise reduction running entirely on your CPU.

DFNR uses Hendrik Schröter's DeepFilterNet3 model, designed specifically for real-time speech enhancement. It processes audio in both the time and frequency domains simultaneously using a deep filtering approach, with about 10 ms of added latency — fast enough to be imperceptible.

How it differs from BNR: BNR sends audio to a GPU container via gRPC; DFNR runs locally on the CPU with no network round-trip and no special hardware. Quality is comparable to BNR for most SSB conditions, with no setup beyond a one-time install of the bundled library.

Key features:

  • DeepFilterNet3 ONNX model, bundled
  • Two parameters (Attenuation Limit, Post-Filter Beta)
  • ~10 ms latency, ~3-5% of one CPU core
  • Works on any computer — no GPU required
  • Mutually exclusive with the other five client-side modes

When to use:

  • The best default if you don't have an NVIDIA RTX GPU
  • Weak DX work — preserves voice naturalness while cutting noise
  • HF conditions with fading signals and varying noise floors

Enabling DFNR: The DFNR button in the VFO DSP tab and the Aetherial DSP Settings dialog. Start with Attenuation Limit = 40 dB and Post-Filter Beta = 0; tune from there based on conditions.

Usage Guidelines

  • Only enable a filter when its target noise type is present
  • Some filters can be used together, but excessive stacking may change audio tone or introduce artifacts
  • As a rule of thumb:
    • NRL → Random noise, background hiss
    • ANFL / ANFT → Tones, hum, spurs
    • NRF / NRS / RNN → Voice clarity enhancement (BigBend/Aurora only)
    • NR2 → Weak signal extraction (spectral), fine-grained tunables
    • RN2 → Voice in noise (zero-config neural network), alternative to NR2
    • NR4 → Stubborn broadband noise (RFI, switch-mode supplies); needs a moment of pure noise to learn
    • MNR → macOS users wanting a native one-knob option (similar character to NR2)
    • BNR → Maximum noise removal (GPU neural network), best quality, requires RTX 4000+
    • DFNR → Best all-around AI denoising on CPU, no GPU needed (recommended default)
    • NB / WNB → Impulse noise (ignition, switching)
    • APF → CW signal peaking (CW mode only)

Mode-Dependent Availability

Not all DSP features are shown in every mode:

Mode Available Hidden
USB/LSB NR, NR2, NB, ANF, NRL, NRS, RNN, RN2, BNR, NRF, ANFL, ANFT APF
CW NR, NR2, NB, APF, NRL, NRS, BNR, NRF ANF, RNN, RN2, ANFL, ANFT
RTTY NR, NR2, NB, NRL, NRS, RNN, RN2, BNR, NRF ANF, ANFL, ANFT
DIGU/DIGL NR, NR2, NB, NRL, NRS, RNN, RN2, BNR, NRF ANF, ANFL, ANFT
FM/NFM Hidden (OPT tab replaces DSP) All

Clone this wiki locally