Report preparation
What happened?
Audio crackling on SSB when NR2 is enabled
Labels: bug, DSP, audio, SSB, windows
What happened
When demodulating SSB, enabling NR2 introduces persistent crackling artifacts in the audio stream. The artifacts resemble discontinuities (short bursts/pops) rather than broadband distortion and are immediately removed when NR2 is disabled.
The issue appears isolated to the NR2 processing path:
- NR (baseline LMS-style NR) → no artifacts
- NR4 → no artifacts
- NR2 → reproducible crackling
Behavior is consistent across versions v0.8.12 and v0.8.15.
Environment
- AetherSDR version: v0.8.12 and v0.8.15
- OS: Windows 11 Home 22H2 (Build 22621.4317)
- CPU: Intel Core i7-13700HX 2.10 GHz (13th Gen)
- RAM: 32 GB (31.7 GB usable)
- Runtime: Latest Visual C++ redistributable installed
- Linux: Not yet tested — will follow up
Suggested fix / investigation areas
The symptom (impulsive crackling) suggests temporal discontinuities rather than steady-state DSP artifacts. Likely areas to investigate:
1. Buffering / block boundary issues
- Check for frame boundary discontinuities in NR2 processing:
- Missing overlap-add / overlap-save handling
- State reset between blocks
- Verify continuity of internal state (e.g., noise estimate, filter taps)
2. Numerical instability / denormals
- NR2 may involve spectral-domain or adaptive estimation:
- Check for NaNs / inf / denormals propagating into output
- Sudden gain spikes or zeroing could produce audible “ticks”
3. Gain / scaling discontinuities
- Inspect:
- Per-frame gain normalization
- Log/exp or MMSE-style estimators producing abrupt gain changes
- Compare with NR4 smoothing behavior (likely better temporal smoothing)
4. Threading / real-time constraints
- Possible audio underruns masked as DSP artifacts
- NR2 may be more CPU-intensive:
- Check if processing exceeds buffer deadline
- Look for contention in DSP/audio thread
5. AGC interaction (ordering)
- If NR2 is applied post-AGC, feedback interaction may amplify artifacts
- Validate:
- NR2 pre/post AGC placement
- Consistency with NR / NR4 pipeline
6. Implementation divergence vs NR/NR4
- Since NR and NR4 are clean:
- Compare:
- Windowing strategy
- FFT size / hop size
- Smoothing constants
- Look specifically for missing temporal smoothing in NR2 gain function
Additional notes
- Issue is 100% reproducible on SSB voice.
- Not observed on other NR modes under identical conditions.
- Sounds like sample discontinuities or short buffer underruns, not typical NR “musical noise”.
What did you expect?
NR2 should reduce noise without introducing discontinuities or non-stationary artifacts beyond those typically associated with aggressive DSP noise reduction.
While some artifacts are expected in NR algorithms, they should manifest as smoothing/warbling—not impulsive crackling.
Steps to reproduce
- Launch AetherSDR and connect to a radio.
- Tune to a stable SSB signal (voice preferred for clarity).
- Enable NR2.
- Observe crackling artifacts in the audio.
- Disable NR2 → artifacts immediately disappear.
- Enable NR or NR4 → audio remains clean.
Radio model & firmware
Flex 6600 Firmwar 4.1.5
Linux distro & Qt version
No response
Report preparation
What happened?
Audio crackling on SSB when NR2 is enabled
Labels:
bug,DSP,audio,SSB,windowsWhat happened
When demodulating SSB, enabling NR2 introduces persistent crackling artifacts in the audio stream. The artifacts resemble discontinuities (short bursts/pops) rather than broadband distortion and are immediately removed when NR2 is disabled.
The issue appears isolated to the NR2 processing path:
Behavior is consistent across versions v0.8.12 and v0.8.15.
Environment
Suggested fix / investigation areas
The symptom (impulsive crackling) suggests temporal discontinuities rather than steady-state DSP artifacts. Likely areas to investigate:
1. Buffering / block boundary issues
2. Numerical instability / denormals
3. Gain / scaling discontinuities
4. Threading / real-time constraints
5. AGC interaction (ordering)
6. Implementation divergence vs NR/NR4
Additional notes
What did you expect?
NR2 should reduce noise without introducing discontinuities or non-stationary artifacts beyond those typically associated with aggressive DSP noise reduction.
While some artifacts are expected in NR algorithms, they should manifest as smoothing/warbling—not impulsive crackling.
Steps to reproduce
Radio model & firmware
Flex 6600 Firmwar 4.1.5
Linux distro & Qt version
No response