Last 12 weeks · 544 commits
2 of 6 standards met
make_one_noise() walks 'disable' towards 'disable_all' one sample at a time so that switching bypass is a 100ms crossfade, and passes single_sample() disable / EFF_ENABLE_STEPS as the mix. But single_sample() takes its mix the other way up: 1.0 is the processed signal and 0.0 the untouched input, which is what bypass() passes. So the ramp runs backwards. Engaging bypass cuts straight to the dry input, fades the effects back in over 100ms, and then cuts to dry again once bypass() takes over. Releasing it is the mirror image. Two steps per footswitch tap, with a tenth of a second of the wrong signal between them. Nothing in Validation/ sees it, because the bench calls single_sample(1.0f) directly and never goes through the ramp. Driving the real make_one_noise() on the host instead, with Test Tone routed and silence on the input, the tone's level in 5ms windows after a tap is before: 1.00 1.00 0.89 0.10 0.15 0.19 ... 0.94 1.00 0.89 0.00 after: 1.00 1.00 0.99 0.95 0.90 0.84 ... 0.09 0.05 0.00
Two comments in WebMIDI/app.js no longer match the code. No behaviour change. EQ graph gain helper. The comment says the firmware's takes the linear gain and square-roots it, so the app and firmware use different units. That was true until d3dcddc ("Have the biquads take A, like the cookbook does"), which didn't touch app.js. Both take A now. I checked it with , comparing the firmware's coefficients with the app's functions. The test covered 300 filters: peaking/loshelf/hishelf, 40 Hz–12 kHz, Q 0.5–8, −20..+20 dB. They agree to 2.4e-5. If the app did what the comment describes (passing 10^(dB/20)), the gain would be off by up to 20.65 dB. I fixed the comment and renamed to to match . Positional anchors. Above there is an older comment saying the anchors are the first and last effects. That stopped being true with 666abc7 and 6cd5aa4, and the comment below it already describes the current behaviour. Removed. Tested with , which passes. test-webmidi draws every graphed effect, so the renamed function is exercised.
Add an envelope filter audio effect (priority 35) that modulates a resonant biquad filter based on guitar pick dynamics. Features: Lowpass (Mu-Tron style) and Bandpass (vocal Crybaby style) modes Upwards and downwards sweep directions Tunable sensitivity, base frequency, resonance (Q), octave range, decay time, and output level trim Real-time activity LED indication when filter is actively sweeping Soft-saturation on output to keep high resonance peaks musical Document the effect in README.md to keep check-readme.py in sync.
reports clean on current master while two scripts hold stale effect ids. A comma is enough to get past it. The blind spot is false for an , and a tuple target is not an . The call-site rule does not fire either, since the calls pass names rather than literals. Both offending files use the tuple form. What got past it and declare and . carries , landing between klon/phaser at 50 and flanger at 60 - the move the header of already describes. The generated map on current master: So routed , which generates no tone, and set Wet/Dry on a pot. heard nothing, and the run reported on a correctly cabled pedal. already says "It has already moved once, from 18 to 19, when an effect went in above it". These two were missed because nothing pointed at them. Before and after Testing passes: , , , . The hardware targets were not run, as I have no pedal. returns when has no , so both files skip on that the way they already skip on no numpy or no pedal.
Repository: torvalds/GuitarPedal. Description: Linus learns analog circuits Stars: 2416, Forks: 120. Primary language: C. Languages: C (42.5%), Python (35%), JavaScript (17%), CSS (2.3%), CMake (1.3%). License: GPL-2.0. Open PRs: 8, open issues: 5. Last activity: 14h ago. Community health: 42%. Top contributors: torvalds, clevelandmusicco, LMSBAND, jackyphuti, quotentiroler, Priyanshu-byte-coder, felix314159.