Skip to content

AirSpace: count the repeats twice over against Loop Bass's high-pass - #236

Merged
bdbarnett merged 1 commit into
mainfrom
fix/airspace-tail
Oct 28, 2026
Merged

bdbarnett merged 1 commit into
mainfrom
fix/airspace-tail

Conversation

@bdbarnett

Copy link
Copy Markdown
Contributor

Fixes #235.

AirSpace's tail_samples could fall short of the tape's repeats. Loop Bass is a high-pass inside the loop, and it can lift a lap's peak above the last one's, so the per-lap count it relied on doesn't hold. Measured on the tape's own output, the longest tail took 1.49 times its share of the bound (Feedback 0.0039, Loop Bass 1 kHz, Time 500 ms: three laps where two were counted) and 1.11 times at Feedback 0.4999. The sweep covered Feedback just under every step of the lap count and in 0.01 steps from 0.40, Loop Bass 20 Hz to 1 kHz, Time 20 to 500 ms, 48 and 22.05 kHz, with full-scale noise, random full-scale signs and clicks.

The whole rack's output stayed inside tail_samples throughout, because the chamber's own bound has room to spare. The repeats' share was still wrong, though, so you couldn't rely on it.

The bound now counts the laps twice over (LOOP_BASS_LAP_FACTOR, the same factor DigitalDelay and PingPongDelay use with Repeat Cut in). That leaves about a third again over the worst cell measured. The repeats' share moves into its own method, _repeats_bound, so a test can hold the tape to it.

New tests in TheTailBound render the worst cells and require exact zero inside the bound, both for the tape alone and for the whole rack. A planted fault with the single count goes red at every cell: at 48 kHz, Feedback 0.0039, the tape ran 71 306 frames against that count's 48 364. With the factor set to 1, the tape test fails the same way.

Loop Bass is a high-pass in the loop, so a lap's peak can rise above the
last one's and the tape outlived tail_samples' share for it: 1.49 times
the count at Feedback 0.0039, 1.11 at 0.4999. The laps are now counted
LOOP_BASS_LAP_FACTOR (2) times, as DigitalDelay does with Repeat Cut in.
Render tests hold the tape and the whole rack to exact zero inside the
bound at the worst cells, and go red on the single count.

Fixes #235
@bdbarnett
bdbarnett merged commit 47b7401 into main Oct 28, 2026
7 checks passed
@bdbarnett
bdbarnett deleted the fix/airspace-tail branch October 28, 2026 02:35
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.

Airspace: tail bound ignores the Loop Bass high-pass's overshoot

1 participant