Skip to content

feat(analysis): add mel filterbank and log-mel/MFCC front end - #345

Merged
gabrielfrasantos merged 2 commits into
mainfrom
ccr-8377b087-s2s0v8-issue-340
Oct 1, 2026
Merged

gabrielfrasantos merged 2 commits into
mainfrom
ccr-8377b087-s2s0v8-issue-340

Conversation

@gabrielfrasantos

Copy link
Copy Markdown
Contributor

Closes #340

analysis::HzToMel / MelToHz cover both the HTK and the Slaney (librosa default) scales.

analysis::MelFilterbank<T, FftSize, NumMelBands>

  • Parameters: sampleRate, fMin, fMax, MelScale {Htk, Slaney} and MelNormalization {None, Slaney}.
  • Weights are computed once at construction. They are stored sparsely as one segment index plus one rising weight per bin and one gain per band, because only two adjacent triangles overlap any bin. That is 2·(N/2+1)+M words instead of an M×(N/2+1) matrix, and Apply is a single O(N) pass.
  • Weight(band, bin) exposes the dense weight for inspection and tests.

analysis::Mfcc<T, FftSize, NumMelBands, NumCoefficients>

  • Pipeline: window (any windowing::Window<T>) → real FFT → |X|² → filterbank → ln(max(S, ε)) → orthonormal DCT-II, keeping the first NumCoefficients.
  • The window and the C×M DCT basis are precomputed at construction.
  • Compute(frame) returns the cepstrum, and LogMelEnergies() exposes the log-mel vector for spectrogram/FBANK models.

All of it is float-only, uses no heap, puts OPTIMIZE_FOR_SPEED on Apply / Compute, and uses the scoped push_options / pop_options pragma (see #334).

Tests (TEST_F on float):

  • Hz↔mel round trip on both scales, including librosa anchors: HTK m(1000), and Slaney m(1000) = 15 and m(4000).
  • Partition of unity, exact per bin between the first and last centre, for unnormalised triangles.
  • Slaney/Slaney and HTK/None filterbanks against librosa filters.mel row sums.
  • One 256-sample frame at 16 kHz (20 mel bands, 13 coefficients, Hann window) against a float64 reference from librosa filters.mel plus scipy.fft.dct(norm='ortho'), checking both log-mel and MFCC to within 5e-3.
  • A silent frame saturating at the log floor.

The doc is doc/analysis/MelFilterbankMfcc.md: theory, the sparse layout, complexity, a walkthrough and pitfalls.

Validation: numerical.analysis_test passes 167 tests, plus 10 skips that already exist on main (host, GCC 13, -Werror). The coverage TUs compile, and clang-format is clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_01N4pngRiBqeb1xiseKXNLG6


Generated by Claude Code

Implement MelFilterbank<T,FftSize,NumMelBands> and
Mfcc<T,FftSize,NumMelBands,NumCoefficients> for keyword-spotting
feature extraction on resource-constrained devices.

MelFilterbank constructs HTK triangular filters at runtime from
per-band edge frequencies (no full weight matrix stored), supports
optional Slaney area normalisation, and exposes static HzToMel /
MelToHz helpers.

Mfcc composes RealFastFourierTransform → power spectrum →
MelFilterbank → log (with ε floor) → direct orthonormal DCT-II
(identical to scipy dct(x, type=2, norm='ortho')).

Three tests:
- mel/Hz HTK round-trip for 200, 1000, 4000 Hz
- Slaney per-band discrete area ≈ 1.0 (tolerance 0.15)
- Reference frame: unit impulse (flat spectrum), values generated
  with numpy+scipy using float32 arithmetic

Reference values produced by:
  python3 -c "import numpy as np; from scipy.fft import dct; ..."
  with FftSize=32, sampleRate=8000, numMelBands=8, numCoefficients=4,
  fMin=125, fMax=3800, HTK scale, epsilon=1e-12, norm='ortho'.

Closes #340

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4pngRiBqeb1xiseKXNLG6
@github-actions

github-actions Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

✅⚠️MegaLinter analysis: Success with warnings

Descriptor Linter Files Fixed Errors Max errors Warnings Elapsed time
✅ ACTION actionlint 7 0 0 0.53s
✅ CPP clang-format 422 11 0 0 3.98s
✅ CPP cppcheck 422 0 0 10.14s
✅ DOCKERFILE hadolint 1 0 0 0.69s
✅ JSON jsonlint 8 0 0 0.08s
✅ JSON prettier 8 8 0 0 0.45s
⚠️ MARKDOWN markdownlint 131 3 178 0 2.99s
✅ MARKDOWN markdown-table-formatter 131 24 0 0 0.36s
⚠️ SPELL lychee 240 24 0 20.9s
✅ YAML prettier 12 3 0 0 0.53s
✅ YAML yamllint 12 0 0 0.6s

Detailed Issues

⚠️ SPELL / lychee - 24 errors
📝 Summary
---------------------
🔍 Total..........561
🔗 Unique.........434
✅ Successful.....525
⏳ Timeouts.........0
🔀 Redirected.....151
👻 Excluded........11
❓ Unknown..........0
🚫 Errors..........24
⛔ Unsupported.....24

Errors in .github/workflows/static-analysis.yml
[403] https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-$ (at 37:21) | Rejected status code: 403 Forbidden

Errors in CHANGELOG.md
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/1 (at 206:31) | Rejected status code: 404 Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/13 (at 220:7) | Rejected status code: 404 Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/15 (at 215:18) | Rejected status code: 404 Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/18 (at 205:62) | Rejected status code: 404 Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/24 (at 210:19) | Rejected status code: 404 Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/26 (at 211:30) | Rejected status code: 404 Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/27 (at 208:23) | Rejected status code: 404 Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/3 (at 204:35) | Rejected status code: 404 Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/4 (at 214:34) | Rejected status code: 404 Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/6 (at 212:53) | Rejected status code: 404 Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/7 (at 209:32) | Rejected status code: 404 Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/9 (at 207:15) | Rejected status code: 404 Not Found

Errors in doc/filters/active/AhrsMadgwickMahony.md
[ERROR] file://doc/filters/ComplementaryFilter.md (at 131:3) | File not found. Check if file exists and path is correct

Errors in doc/filters/active/ExtendedKalmanFilter.md
[ERROR] file://doc/dynamics/EulerLagrange.md (at 130:3) | File not found. Check if file exists and path is correct

Errors in doc/filters/active/KalmanFilter.md
[ERROR] file://doc/filters/controllers/Lqr.md (at 114:77) | File not found. Check if file exists and path is correct
[ERROR] file://doc/filters/controllers/Lqr.md (at 133:3) | File not found. Check if file exists and path is correct
[ERROR] file://doc/filters/controllers/Pid.md (at 135:3) | File not found. Check if file exists and path is correct
[ERROR] file://doc/filters/solvers/DiscreteAlgebraicRiccatiEquation.md (at 134:3) | File not found. Check if file exists and path is correct

Errors in doc/performance-optimization/README.md
[403] https://developer.arm.com/documentation/100166/latest/ (at 474:3) | Rejected status code: 403 Forbidden
[403] https://developer.arm.com/documentation/dui0473/latest (at 476:3) | Rejected status code: 403 Forbidden

Errors in README.md
[ERROR] file:///releases/latest (at 38:14) | File not found. Check if file exists and path is correct
[404] https://embedded-pro.github.io/embedded-dsp-control/ (at 37:1) | Rejected status code: 404 Not Found

Errors in roadmap/README.md
[ERROR] file://roadmap/filters/passive/ExponentialMovingAverage/implementation.md (at 24:1) | File not found. Check if file exists and path is correct

Hint: Followed 151 redirects. You might want to consider replacing redirecting URLs with the resolved URLs. Use verbose mode (`-v`/`-vv`) to see redirection details.
Hint: You can configure accepted/rejected response codes with `-a` or `--accept`
⚠️ MARKDOWN / markdownlint - 178 errors
rithm.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 492]
doc/analysis/GoertzelAlgorithm.md:107:401 error MD013/line-length Line length [Expected: 400; Actual: 451]
doc/analysis/HilbertTransform.md:31:34 error MD056/table-column-count Table column count [Expected: 2; Actual: 4; Too many cells, extra data will be missing]
doc/analysis/PowerDensitySpectrum.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 509]
doc/analysis/PowerDensitySpectrum.md:104:20 error MD056/table-column-count Table column count [Expected: 2; Actual: 6; Too many cells, extra data will be missing]
doc/analysis/PowerDensitySpectrum.md:104:17 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/analysis/PowerDensitySpectrum.md:104:20 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/analysis/PowerDensitySpectrum.md:104:32 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/analysis/PowerDensitySpectrum.md:104:38 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/analysis/PowerDensitySpectrum.md:104:45 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/analysis/PowerDensitySpectrum.md:104:135 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/analysis/SignalDetectors.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 481]
doc/control_analysis/FrequencyResponse.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 469]
doc/control_analysis/README.md:11:68 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/control_analysis/README.md:11:147 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/control_analysis/README.md:12:53 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/control_analysis/README.md:12:172 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/control_analysis/README.md:13:68 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/control_analysis/README.md:13:151 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/control_analysis/RootLocus.md:69 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
doc/control_analysis/TransferFunctionStateSpace.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 589]
doc/controllers/Feedforward2Dof.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 627]
doc/controllers/GainScheduledController.md:7:401 error MD013/line-length Line length [Expected: 400; Actual: 454]
doc/controllers/LeadLagCompensator.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 639]
doc/controllers/Lqg.md:7:401 error MD013/line-length Line length [Expected: 400; Actual: 428]
doc/controllers/SaturationRateLimiter.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 451]
doc/controllers/SaturationRateLimiter.md:7:401 error MD013/line-length Line length [Expected: 400; Actual: 477]
doc/estimators/ExpectationMaximization.md:104:103 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/estimators/LmsAdaptiveFilter.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 547]
doc/estimators/README.md:11:122 error MD056/table-column-count Table column count [Expected: 2; Actual: 3; Too many cells, extra data will be missing]
doc/estimators/README.md:11:122 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/AhrsMadgwickMahony.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 538]
doc/filters/active/AhrsMadgwickMahony.md:7:401 error MD013/line-length Line length [Expected: 400; Actual: 554]
doc/filters/active/AlphaBetaFilter.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 419]
doc/filters/active/AlphaBetaFilter.md:7:401 error MD013/line-length Line length [Expected: 400; Actual: 451]
doc/filters/active/KalmanSmoother.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 421]
doc/filters/active/KalmanSmoother.md:111:28 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/KalmanSmoother.md:111:61 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/KalmanSmoother.md:111:110 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/KalmanSmoother.md:122:19 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/KalmanSmoother.md:122:27 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/KalmanSmoother.md:122:67 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/KalmanSmoother.md:123:19 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/KalmanSmoother.md:123:27 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/KalmanSmoother.md:123:67 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/KalmanSmoother.md:124:19 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/KalmanSmoother.md:124:27 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/KalmanSmoother.md:124:67 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/KalmanSmoother.md:125:19 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/KalmanSmoother.md:125:27 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/KalmanSmoother.md:125:67 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/UnscentedKalmanFilter.md:11:401 error MD013/line-length Line length [Expected: 400; Actual: 468]
doc/filters/active/UnscentedKalmanFilter.md:149:65 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/active/UnscentedKalmanFilter.md:149:153 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/passive/MedianFilter.md:69:25 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/passive/MedianFilter.md:69:43 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/passive/MedianFilter.md:70:51 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/passive/MedianFilter.md:70:96 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/README.md:13:74 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/README.md:13:179 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/README.md:14:74 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/README.md:14:179 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/README.md:15:74 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/README.md:15:179 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/README.md:16:74 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/README.md:16:179 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/README.md:17:74 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/filters/README.md:17:179 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/GivensRotation.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 429]
doc/math/HouseholderTransform.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 455]
doc/math/MatrixExponential.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 555]
doc/math/MatrixNorms.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 452]
doc/math/MatrixNorms.md:42:67 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/MatrixNorms.md:43:67 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/MatrixNorms.md:44:67 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/MatrixNorms.md:45:67 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/MatrixNorms.md:46:67 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:9:55 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:9:151 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:10:55 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:10:151 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:11:55 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:11:151 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:12:55 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:12:151 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:13:55 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:13:151 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:14:55 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:14:159 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:15:55 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:15:153 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:16:55 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:16:152 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:17:55 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:17:172 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:18:55 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:18:171 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:19:55 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/README.md:19:174 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/math/StepResponseMetrics.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 514]
doc/math/StepResponseMetrics.md:61 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
doc/nonlinear_control/BacksteppingControl.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 594]
doc/nonlinear_control/FeedbackLinearization.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 533]
doc/nonlinear_control/FeedbackLinearization.md:15:401 error MD013/line-length Line length [Expected: 400; Actual: 491]
doc/nonlinear_control/ModelReferenceAdaptiveControl.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 587]
doc/nonlinear_control/README.md:9:80 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/nonlinear_control/README.md:9:258 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/nonlinear_control/README.md:10:80 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/nonlinear_control/README.md:10:258 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/nonlinear_control/README.md:11:80 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/nonlinear_control/README.md:11:270 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/regularization/Regularization.md:100:32 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/regularization/Regularization.md:100:135 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/robust_control/ActiveDisturbanceRejection.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 699]
doc/robust_control/ActiveDisturbanceRejection.md:85:401 error MD013/line-length Line length [Expected: 400; Actual: 575]
doc/robust_control/ActiveDisturbanceRejection.md:93:401 error MD013/line-length Line length [Expected: 400; Actual: 622]
doc/robust_control/DisturbanceObserver.md:7:401 error MD013/line-length Line length [Expected: 400; Actual: 476]
doc/robust_control/README.md:12:259 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/robust_control/SlidingModeControl.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 644]
doc/solvers/ConditionNumber.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 461]
doc/solvers/ConditionNumber.md:51:401 error MD013/line-length Line length [Expected: 400; Actual: 425]
doc/solvers/JacobiEigenSolver.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 443]
doc/solvers/JacobiEigenSolver.md:7:401 error MD013/line-length Line length [Expected: 400; Actual: 609]
doc/solvers/JacobiEigenSolver.md:45:401 error MD013/line-length Line length [Expected: 400; Actual: 427]
doc/solvers/README.md:16:163 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/solvers/README.md:17:163 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/solvers/README.md:18:167 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/solvers/README.md:19:184 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/solvers/README.md:20:184 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/solvers/RungeKuttaIntegrators.md:9:401 error MD013/line-length Line length [Expected: 400; Actual: 509]
doc/solvers/SpectralRadius.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 665]
doc/windowing/window.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 415]
README.md:1 error MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "[![Quality Gate Status](https:..."]
README.md:9:401 error MD013/line-length Line length [Expected: 400; Actual: 442]
README.md:19:327 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
README.md:20:211 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
README.md:21:303 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
README.md:22:250 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
README.md:23:446 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
README.md:25:140 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
README.md:26:174 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
README.md:27:363 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
README.md:28:158 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
README.md:29:205 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
roadmap/math/SE3Transform/implementation.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/math/SE3Transform/implementation.md:21 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/math/SE3Transform/implementation.md:35 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/math/SE3Transform/tests.md:7 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/math/SE3Transform/tests.md:16 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
roadmap/README.md:11 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]

(Truncated to last 20000 characters out of 24106)

Notices

⚠️ Your configuration references items that have been removed from MegaLinter and are ignored: REPOSITORY_GITLEAKS, REPOSITORY_KICS. See Removed linters to find their replacements.

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@10.1.0 --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,CPP_CPPCHECK,CPP_CLANG_FORMAT,DOCKERFILE_HADOLINT,JSON_JSONLINT,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,SPELL_LYCHEE,YAML_PRETTIER,YAML_YAMLLINT

MegaLinter is provided by OX Security
Show us your support by starring ⭐ the repository

Comment thread README.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4pngRiBqeb1xiseKXNLG6
@sonarqubecloud

sonarqubecloud Bot commented Oct 1, 2026

Copy link
Copy Markdown

@gabrielfrasantos
gabrielfrasantos merged commit c9fedc1 into main Oct 1, 2026
14 checks passed
@gabrielfrasantos
gabrielfrasantos deleted the ccr-8377b087-s2s0v8-issue-340 branch October 1, 2026 06:31
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.

Log-mel / MFCC feature front end in analysis

2 participants