Repository navigation
AirSpace: count the repeats twice over against Loop Bass's high-pass - #236
Merged
Merged
Conversation
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
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.
Fixes #235.
AirSpace's
tail_samplescould 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_samplesthroughout, 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
TheTailBoundrender 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.