Repository navigation
audiograph: BIQUAD_RAMP sets how long a biquad walks to new coefficients - #378
Merged
Merged
Conversation
0 to 1000 ms, the nearest power of two frames, and 0 is one frame. The default is the 20 ms every biquad has walked, and a graph that never sets it renders the same bytes.
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.
A graph biquad walks to new coefficients over about 20 ms, and a cutoff moved every block restarts the walk, so a fast filter sweep never catches up and sounds duller than the same sweep on
synthio.Biquad, which steps at once.audiograph.BIQUAD_RAMPis in ms, clamped to 0..1000, default 20. Frames are the nearest power of two, and 0 is one frame. It applies at the next move, and setting it isn't a move. A graph that doesn't set it is byte-identical to before: filter_f32_probe, move, frames, graph_parity, carry and source, plus poly106, poly6 and mono_one graph renders.Tests: the four scoped unittest modules (265 tests),
verify_graph.py --micropython --circuitpythonagree, the five CI gates pass. A planted fault (the option ignored inbiquad_ramp_shift) fails the new tests andverify_graph --fault ramp.verify_dspshows twocp11_fixes_probedifferences by one sample at byte 676, the same on the unchanged base.