Skip to content

The blunter clipper#108

Merged
kunitoki merged 6 commits into
mainfrom
dev/blunter_clipper
Jun 2, 2026
Merged

The blunter clipper#108
kunitoki merged 6 commits into
mainfrom
dev/blunter_clipper

Conversation

@kunitoki
Copy link
Copy Markdown
Owner

This pull request adds a new Blunter soft clipper processor to the YUP DSP library, based on research for optimal soft clipping curves. The new class is fully documented, integrated into the main DSP module, and covered by comprehensive unit tests to ensure its correctness and robustness.

New BlunterClipper Processor:

  • Introduced the BlunterClipper class in yup_BlunterClipper.h, implementing a quadratic-bounded soft clipping algorithm with configurable input and output gain, based on research for maximizing clipping softness. The implementation includes detailed documentation and usage notes.

Integration:

  • Added the new yup_BlunterClipper.h header to the main DSP module include file yup_dsp.h so it is available to consumers of the library.

Testing:

  • Added a new source file yup_BlunterClipper.cpp with extensive GoogleTest-based unit tests covering construction, parameter setting, canonical formula, monotonicity, symmetry, gain scaling, block/in-place processing, and mathematical properties of the Blunter clipper.
  • Included the new test file in the test runner by updating tests/yup_dsp.cpp to include yup_BlunterClipper.cpp.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 30, 2026

Codecov Report

❌ Patch coverage is 98.70130% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 77.07%. Comparing base (8125624) to head (fc02284).

Files with missing lines Patch % Lines
modules/yup_dsp/dynamics/yup_BlunterClipper.h 97.22% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #108      +/-   ##
==========================================
+ Coverage   77.05%   77.07%   +0.02%     
==========================================
  Files         601      602       +1     
  Lines       60107    60147      +40     
==========================================
+ Hits        46313    46356      +43     
+ Misses      13794    13791       -3     
Files with missing lines Coverage Δ
..._audio_basics/sources/yup_BufferingAudioSource.cpp 92.59% <100.00%> (-1.53%) ⬇️
...up_audio_basics/sources/yup_BufferingAudioSource.h 66.66% <ø> (ø)
modules/yup_dsp/resampling/yup_Oversampler.h 99.05% <100.00%> (-0.05%) ⬇️
modules/yup_dsp/dynamics/yup_BlunterClipper.h 97.22% <97.22%> (ø)

... and 3 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8125624...fc02284. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@kunitoki kunitoki merged commit 8854a46 into main Jun 2, 2026
40 checks passed
@kunitoki kunitoki deleted the dev/blunter_clipper branch June 2, 2026 07:12
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