Skip to content

feat(dsp): NextGEN EEL v8b — v7-identical limiter, exact 0 dB bypass - #46

Merged
nmstudioo merged 1 commit into
mainfrom
feat/iem-nextgen-eel-v8
Nov 13, 2026
Merged

nmstudioo merged 1 commit into
mainfrom
feat/iem-nextgen-eel-v8

Conversation

@nmstudioo

Copy link
Copy Markdown
Owner

Preserves the v7 limiter byte-for-byte. Adds optional Bass/Treble one-pole shelves with 20 ms gain smoothing.

Design

  • Stage order: pre-gain → tone shelves → DC blocker → limiter
  • Six @init slider defaults (RootlessJamesDSP UI requires them per HyperAudio v2 docs)
  • b_gain != 1.0 bypass: neutral position is bit-identical to v7 output
  • Snap-to-target on smoothed gains so slider return-to-zero is exact

Offline verification (via tests/eel/eel2py.py, numpy)

  • Neutral (bass=0, treb=0) delta from v7: +0.000000 dB at every frequency
  • Treble +6 dB: +0.51/+1.54/+3.14/+3.92/+4.51 dB at 1k/2k/4k/6k/10k (correct high-shelf direction)
  • Treble −6 dB: −0.17/−0.59/−1.65/−2.50/−3.41 dB (mirror curve, expected one-pole asymmetry)
  • Bass +6 dB: +4.87/+1.02/+0.35 dB at 100/500/1000 Hz (correct low-shelf direction)
  • Limiter region: byte-identical to v7 (only desc: and //tags: differ)

Known characteristics (not bugs)

  • One-pole shelves: +6 dB nominal gives ~+4.5 dB effective at 10 kHz
  • Treble crossover at 4 kHz leaks ~+0.5 dB into 1 kHz presence range at +6 dB
  • Bass crossover at 150 Hz leaks ~+1 dB into 500 Hz at +6 dB
  • These are characteristics of the one-pole topology; a biquad shelf would be steeper (future work)

Pending

  • Device test: UI renders 6 sliders, sliders move without clicks, subjective quality
  • No files in src/profiles/ modified

Rebuilt from v7_baseline.eel as base with additive-only hunks:
- v7 limiter byte-for-byte preserved (only desc: and //tags: lines changed)
- Neutral (bass=0, treb=0) is exact bit-parity with v7 (0.000000 dB delta verified)
- Stage order: pre-gain → tone shelves → DC blocker → limiter
- Treble high shelf verified by offline test: +6 dB gives +0.51/+1.54/+3.14/+3.92/+4.51 dB at 1k/2k/4k/6k/10k
- Bass low shelf verified: +6 dB gives +4.87/+1.02/+0.35 dB at 100/500/1000 Hz
- 20 ms gain smoothing with snap-to-target for exact 0 dB bypass
- Six @init slider defaults restored per HyperAudio v2 docs

Supersedes v8 (which reformatted the limiter region and was not bit-neutral at 0 dB).
Offline test via tests/eel/eel2py.py. Device test pending.

SHA-256: 59c48df03fb875d5b0a95bd12e6ef7cf063747f8751d7649dd4450cf1640b02a
@nmstudioo
nmstudioo merged commit fdb1c97 into main Nov 13, 2026
6 checks passed
@nmstudioo
nmstudioo deleted the feat/iem-nextgen-eel-v8 branch November 13, 2026 12:37
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