mixing.errors¶
Typed errors mixing raises — the home for exceptions a caller may want to catch.
Pure stdlib, imported by the lazy facade without pulling any backend, so a consumer
can from mixing import WindowTooWideForClip in a light module and still catch what
a heavy one raises.
The convention: an error class carries the MEASURED numbers as attributes, not only in its message, so a caller can act on them (retry at the largest valid window, say) rather than parse prose.
Exceptions
Base for every error |
|
|
An explicit analysis window leaves a clip no second, independent look. |
- exception mixing.errors.MixingError[source]¶
Bases:
ExceptionBase for every error
mixingraises on its own behalf.
- exception mixing.errors.WindowTooWideForClip(*, clip_index, clip_duration_s, window_s, hop_s, max_window_s)[source]¶
Bases:
MixingError,ValueErrorAn explicit analysis window leaves a clip no second, independent look.
Raised by
mixing.audio.align_clips_to_reference()when the caller passes awindow_swider thanmax_window_s— the length above which the clip holds no second INDEPENDENT window, so the consensus vote has nothing to arbitrate andsupportcomes backNone.Why an error and not a clamp or a silent single window: the caller asked for a windowed vote and would otherwise receive a single whole-clip correlation whose only signal is the ABSENCE of a support number — indistinguishable from a clip that is genuinely too short to support at any window (issue #43). Clamping would be worse still: an explicit
window_sis the caller saying what a window means for their material, and silently measuring at a different one makessupportincomparable across a set for a reason nothing reports.It subclasses
ValueErrorbecause it is an argument that cannot be honored, so existingexcept ValueErrorhandlers around alignment keep working.- clip_index¶
Position of the offending clip in the
clipssequence, orNonewhen the caller did not identify one.
- clip_duration_s¶
The clip’s duration in seconds.
- window_s¶
The window that was asked for.
- hop_s¶
The hop in force — the caller’s, or the one derived from
window_s. Reported because it is part of the grid that was asked for; it is NOT part of the bound, which does not depend on it (see_max_supportable_window_s()).
- max_window_s¶
The largest window that still leaves this clip a second, independent look. The bound is inclusive, so for any clip long enough to be worth aligning a retry at exactly this window measures — which is what makes it worth reporting. A degenerate clip of a sample or two has no such window at all; the value is floored at one sample there and is a lower bound rather than a promise.