Skip to content

feat: Aligned Masking Model with Johnston (1988) and standardized configurations#89

Merged
lucianodato merged 7 commits intomainfrom
feature/scientific-alignment-and-config-standardization
Feb 15, 2026
Merged

feat: Aligned Masking Model with Johnston (1988) and standardized configurations#89
lucianodato merged 7 commits intomainfrom
feature/scientific-alignment-and-config-standardization

Conversation

@lucianodato
Copy link
Owner

Summary

This PR aligns the MaskingEstimator strictly with the Johnston (1988) psychoacoustic model while providing modern enhancements as optional toggles. It also centralizes all DSP parameters into configurations.h and updates the repository's coding standards.

Key Changes

  • MaskingEstimator Refinement:
    • Strict Johnston (1988) compliance by default.
    • Added optional temporal masking (forward/backward).
    • Added adjustable spectral additivity exponent (Linear vs. PEAQ precision).
  • Configuration Centralization:
    • Extracted all magic numbers from MaskingVeto, TransientDetector, and MaskingEstimator into src/shared/configurations.h.
  • Coding Standards:
    • Updated the coding_standards skill to mandate "No Magic Numbers in Core DSP".
  • Bug Fix:
    • Fixed a missing transient_detector_process call in MaskingVeto.

Verification Status

  • All unit tests for masking_estimator, masking_veto, and transient_detector are passing.
  • Clean build and installation verified.

@codecov
Copy link

codecov bot commented Feb 15, 2026

Codecov Report

❌ Patch coverage is 86.86441% with 31 lines in your changes missing coverage. Please review.
✅ Project coverage is 77.25%. Comparing base (0fbc3c1) to head (65da3cc).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
src/shared/utils/spectral_smoother.c 79.54% 4 Missing and 5 partials ⚠️
...rc/shared/denoiser_logic/processing/masking_veto.c 82.60% 1 Missing and 7 partials ⚠️
src/shared/utils/masking_estimator.c 92.59% 0 Missing and 8 partials ⚠️
src/shared/utils/transient_detector.c 86.66% 1 Missing and 3 partials ⚠️
src/processors/denoiser/spectral_denoiser.c 75.00% 0 Missing and 1 partial ⚠️
src/processors/denoiser2d/spectral_2d_denoiser.c 66.66% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #89      +/-   ##
==========================================
- Coverage   77.29%   77.25%   -0.04%     
==========================================
  Files          33       33              
  Lines        2911     3012     +101     
  Branches      640      666      +26     
==========================================
+ Hits         2250     2327      +77     
- Misses        345      364      +19     
- Partials      316      321       +5     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@lucianodato lucianodato merged commit 2f83af8 into main Feb 15, 2026
7 checks passed
@lucianodato lucianodato deleted the feature/scientific-alignment-and-config-standardization branch February 15, 2026 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant