Add tap.overdrive~ — voiced feedback overdrive (kernel bump + full slice)#57
Merged
Conversation
…ice) The spiritual successor to the Jamoma-era tap.overdrive~, not a port: TTOverdrive's memoryless odd-function curves are replaced by the new overdrive.h kernel (tap::tools::od) — a soft clipper inside a lowpass feedback loop, solved zero-delay, chasing the class of TS-lineage feedback pedals (LGW as the listening reference). Bass stays tight while mids take the drive, asymmetry adds even-harmonic warmth, a unity clean path keeps the transfer from flattening, and an always-on DC blocker (R = 0.9997) sits behind the oversampled (default 4x) clipping stage. - submodules/taptools bumped to the kernel commit adding overdrive.h and its Catch2 suite (gain tilt, even harmonics, DC, alias floor, body voicing, stability, determinism). - Wrapper: thin vector_operator with normalized attributes (drive 0..1, body -1..+1, asymmetry 0..1, preamp/output dB, oversample 1/2/4/8, smooth, bypass, mute) and min-api attribute tests. - Vertical slice: maxref reference page, help patcher (attrui-driven, scope + spectroscope), and a bypass-passthrough maxtest starter via make_maxtest.py. - REVIVAL.md progress log updated. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S3twSGfwUK8jnUhp5Qx6wx
The kernel pin picks up the completed house treatment for overdrive.h (taptools_od_* C ABI + Overdrive ctypes binding, the executed overdrive.ipynb verification notebook, and the two field-guide chapters — book Part VI 'The pedalboard' + the machine deep-dive). REVIVAL.md progress entry extended to match. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S3twSGfwUK8jnUhp5Qx6wx
The kernel PR (tap/TapTools#22) merged via rebase — main's tree is identical to the branch tip this PR previously pinned. Repointing keeps the pin reachable after kernel branch cleanup, per the kernel repo's release flow. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S3twSGfwUK8jnUhp5Qx6wx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The Max wrapper and package slice for the new
overdrive.hkernel (tap/TapTools#22) — the spiritual successor to the Jamoma-eratap.overdrive~, replacing its memoryless waveshaper with a voiced feedback soft clipper (LGW as the listening reference). Bass stays tight while mids take the drive,asymmetryadds even-harmonic warmth, a unity clean path keeps the transfer from flattening, and the oversampled (default 4×) clipping stage runs behind an always-on DC blocker.source/projects/tap.overdrive_tilde/— thinvector_operatorwrapper: attributesdrive(0..1),body(−1..+1),asymmetry(0..1),preamp/output(dB),oversample(1/2/4/8),smooth,bypass,mute;clearmessage; min-api attribute tests (defaults + clamping).docs/tap.overdrive~.maxref.xml,help/tap.overdrive~.maxhelp(attrui-driven, scope + spectroscope), and a bypass-passthroughmaxteststarter viamake_maxtest.py.submodules/taptoolsbumped to the kernel branch head (kernel + tests + C ABI + executed notebook + book chapters).REVIVAL.mdprogress log updated.Rebased on latest
main— integrates beside thetap.tune~work (maxtest generator and submodule pin merge points resolved; each commit pins the matching rebased kernel commit).Testing
tap.overdrive_tilde_testpasses against the mock kernel (17 assertions), as doestap.tune_tilde_test(36) on the bumped submodule.k_voice_*constants, and runtime validation against the help patcher / maxtest on a licensed Max install.🤖 Generated with Claude Code
https://claude.ai/code/session_01S3twSGfwUK8jnUhp5Qx6wx
Generated by Claude Code