Skip to content

DigitalDelay, PingPongDelay: bound the tail with Repeat Cut in - #232

Merged
bdbarnett merged 2 commits into
mainfrom
fix/delay-cut-tail
Oct 28, 2026
Merged

bdbarnett merged 2 commits into
mainfrom
fix/delay-cut-tail

Conversation

@bdbarnett

@bdbarnett bdbarnett commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

With Repeat Cut in circuit, tail_samples on DigitalDelay and PingPongDelay was None, so a host could not know when the repeats stop. It now reports a bound there: twice the repeats it counts with the filter out (CUT_LAP_FACTOR).

The high-pass sends each lap's value less the mean the loop has been carrying, and that can lift a lap's peak above the last one's, so the per-lap argument the filter-out bound rests on does not hold with Cut in. The factor is measured instead. Across Feedback 0.40 to 0.99, Cut 20.3 to 400 Hz, 48 and 22.05 kHz, full-scale noise, random full-scale signs and sparse clicks, mono and stereo, Repeat Tone out and at 800 Hz, and both ends of Spread, the longest tail took 1.35 times the filter-out count (PingPongDelay, Feedback 0.5, Spread 1, Cut 20.3 Hz). At Feedback 0.99 it took 1.06 times.

The tests render the worst cells (Cut just above its out stop, Feedback 0.5 and 0.99, 48 and 22.05 kHz, noise) and check each reaches exact zero inside the bound. A class without the factor is outlived by the noise and goes red.

Both test modules now declare KIT_PLANTS: the planted delays that render differently from every knob stop and patch of the clean class, eleven for DigitalDelay and eight for PingPongDelay. The plant check passes all of them.

Part of #146

With Repeat Cut in circuit tail_samples was None. It now counts twice the
laps it counts with the filter out (CUT_LAP_FACTOR). The high-pass can lift
a lap's peak above the last one's, so the per-lap argument does not hold
there and the factor is measured: across Feedback 0.40 to 0.99, Cut 20.3 to
400 Hz, 48 and 22.05 kHz, noise, random signs and sparse clicks, the longest
tail took 1.35 times the filter-out count.

The tests render the worst cells (Cut just above its out stop, Feedback 0.5
and 0.99, both rates) against the bound, and the count without the factor
is outlived by full-scale noise.

Part of #146
@bdbarnett
bdbarnett merged commit fe544c2 into main Oct 28, 2026
7 checks passed
@bdbarnett
bdbarnett deleted the fix/delay-cut-tail branch October 28, 2026 02:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant