Skip to content

Crusher module inspired from EHX Mainframe#87

Merged
xconverge merged 6 commits intobkshepherd:mainfrom
chattob:feat/crusher-srr
Mar 16, 2026
Merged

Crusher module inspired from EHX Mainframe#87
xconverge merged 6 commits intobkshepherd:mainfrom
chattob:feat/crusher-srr

Conversation

@chattob
Copy link
Copy Markdown
Contributor

@chattob chattob commented Mar 11, 2026

This PR updates the Crusher effect with sample-rate reduction controls and pitch-tracking support (inspired from electro-harmonix mainframe tuning mode).

Pitch tracking is toggled from the alternate footswitch, and LED 1 reflects its on/off state.

I also had to update frequency_detector_q to support this. It now creates shared static detector/preprocessor instances. This was required because the underlying cycfi::q pitch detector path is heap-heavy (large internal state/buffers). Since the Tuner module also uses it was creating to much heap pressure and resulted in hard faults.

@xconverge
Copy link
Copy Markdown
Collaborator

How does it sound? This is so far from my wheelhouse I am curious haha

@chattob
Copy link
Copy Markdown
Contributor Author

chattob commented Mar 12, 2026

I’m actually not a big fan of heavy bit-crushed or sample-rate reduced sounds but the effect can be use more subtly. Adding a bit of jitter introduces some randomness and warmth to the usually harsh sample reduction sound. This gives some nice lofi sound.

The pitch tracking is fun! It makes the guitar sound like a synth. It only tracks a single note though, so it only works well for monophonic lines. If you play lower notes and use an expression pedal to open up the low-pass filter along with the note envelope, you can get some really nice synth like bass lines.

@chattob
Copy link
Copy Markdown
Contributor Author

chattob commented Mar 12, 2026

You can also hold off on merging for now. I’d like to add a function that keeps the sample rate locked when exiting pitch-tracking mode, so the user can tune the sample-rate reduction to a specific note and keep it fixed there.

@chattob
Copy link
Copy Markdown
Contributor Author

chattob commented Mar 16, 2026

@xconverge I added sample-rate locking when exiting pitch-tracking mode. Tested and it works fine! To unlock: move the Rate knob again.
I also put some sound examples here for you ;) https://chattob.github.io/axis-and-loom-site/

@xconverge
Copy link
Copy Markdown
Collaborator

it definitely does the thing! Hope you had fun

@xconverge xconverge merged commit 36c6f02 into bkshepherd:main Mar 16, 2026
1 check passed
@chattob chattob deleted the feat/crusher-srr branch March 16, 2026 23:02
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.

2 participants