feat: detect and slice audio attacks atomically and qualify sample editor workflows
This commit is contained in:
parent
edeeb8e8bb
commit
9e380d4dd0
20 changed files with 257 additions and 22 deletions
|
|
@ -49,3 +49,25 @@ Select audible bounds finds the first and last sample strictly above the chosen
|
|||
## Phase 78
|
||||
|
||||
Snap to zero crossings searches each selected boundary within a source-frame radius up to 65,536. It uses the mono source, chooses earlier positions on equal distance and changes both endpoints only if both searches yield a nonempty range. Source edges qualify only when their adjacent sample is zero. This can reduce boundary discontinuities but does not guarantee click-free output; musical-tick trimming/slicing can move a boundary away from the exact crossing.
|
||||
|
||||
## Phase 79
|
||||
|
||||
Detect attacks uses absolute sample amplitude, an initial armed state, rearming below one quarter of the threshold and a minimum frame gap between retained attacks. It marks up to 128 source positions in orange; hovering the statistics shows exact frame indices. This is a threshold detector, not spectral onset detection, beat detection or tempo estimation. Selection/processing changes invalidate the markers. Slice clip at attacks splits the current clip reference at those positions in one project undo step and closes the editor. Edits in the local buffer must be saved/relinked first if the slices should use processed audio. Source positions round to nearest musical ticks; out-of-trim, edge and coalesced cuts are skipped. No usable cuts rejects. Left ID, source references and outside fades remain; inner explicit fades clear. Long explicit fades and existing automatic region fades can sound different after splitting. Timeline/source rounding may differ by one sample, so this is not sample-accurate timeline slicing. The no-explicit-fade aligned regression fixture remains bit-identical across slicing. No media files are written by slicing.
|
||||
|
||||
## Validation and timing limits
|
||||
|
||||
Every phase passed focused model and GUI checks before its implementation commit.
|
||||
The integrated checks add allocation failure/cleanup, oversized sources, overflow,
|
||||
clip ID rollback, exact selected samples, persistence, no-fade render comparison,
|
||||
plugin fixtures, software JACK, Clang analysis, ASan/UBSan and install layouts.
|
||||
The actual source editor and attack markers are shown in the
|
||||
[screenshot gallery](../screenshots/README.md).
|
||||
|
||||
Trim placement preserves alignment in musical ticks; independent source/timeline
|
||||
conversion can differ by one sample. No sample-accurate timeline cuts or
|
||||
click-free transitions are promised. Clip source data outside a local processing
|
||||
selection remains intact; exported selections contain only their chosen frames.
|
||||
Closing the editor discards unsaved local processing. Successful project Undo
|
||||
keeps generated files for redo/history; only failed adoption removes its owned
|
||||
new output. Rejecting sources above the editor's frame limit may temporarily
|
||||
use the existing WAV reader's larger decode bound before rejecting them.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue