Skip to content

Vibrato and five filters ring past their declared tail_samples #114

Description

@bdbarnett

Found by the Phase 5 stale-state sweep (PR #112, audiodsp v0.6.2, CPython; three rates, stereo and mono, every patch). A host that trusts tail_samples will cut these rings short.

  • Vibrato, at every setting. The declared tail is the delay plus 64 frames (194 to 646). The Body high-pass keeps ringing for about 1 700 frames at 48 kHz, and 3 526 with Body at the top.
  • BandPass, Notch, LowPass, GraphicEQ, DynamicEQ, after a large downward move. Frequency moved down, or GraphicEQ's Gain or Volume moved from top to bottom, as the input stops. The ring runs 10 to 20 % past the larger of the two settings' bounds. For example, BandPass reaches 3 762 frames against 3 118 at 22.05 kHz, and Notch at patch 3 reaches 167 424 against 143 360.
  • NoiseGate, Key Listen switched on as the input stops. The ring runs 2 048 frames against a declared 0. It's the same diagnostic Expander's docstring discloses, but NoiseGate's docstring doesn't mention it.
  • Bitcrusher. The tail is declared 0, but the output runs 1 to 2 frames past it at every setting.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions