Audio Wave: fixed 721-frame subsegment grid + per-segment select/crop + notes box auto-fill
Pivot to the user's model: segments are a fixed grid of subsegment_frames frames (default 721 @ 24fps = one LTX clip), not arbitrary clicks. New inputs: subsegment_frames (grid size) and segment_select (0=all, N=output ONLY chunk N — crops waveform_image, AUDIO, and summary so you can generate/skip one beat at a time). _render gains window-crop + frame markers + per-segment time/frame labels. JS rewritten: draws the fixed grid, auto-fills the notes box with one segN: line per chunk (type or dblclick to note), click-to-seek, playhead + time readout. Workflows updated for the new widgets. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -112,12 +112,19 @@ adds to feed the judge's `system_prompt`/`user_prompt`/`axes` sockets.)
|
||||
### Interactive: `Audio Wave + Segments`
|
||||
|
||||
Same outputs, but with an in-node waveform widget: **upload** an audio clip, **play** it,
|
||||
and **click the waveform** to place segment boundaries — click to add a split, drag to
|
||||
move, double-click a segment for its note, shift/right-click to delete. The boundaries +
|
||||
notes are saved to a hidden `segments_json` and drive the segmentation (falls back to
|
||||
auto-split / the `notes` syntax if none placed). Outputs `waveform_image`, `audio_summary`,
|
||||
and `audio`. Needs `torchaudio`/`soundfile`/`librosa` to load the file (torchaudio usually
|
||||
ships with torch).
|
||||
click to **seek**. The audio is split into a **fixed grid of `subsegment_frames` frames**
|
||||
(default **721 @ 24fps ≈ 30.04s** — the LTX clip length), drawn as the green grid; each chunk
|
||||
is one beat. The `notes` box **auto-fills with one `segN:` line per chunk** — type your motion
|
||||
note after each (or double-click a chunk on the waveform to set its note). The `waveform_image`
|
||||
carries per-chunk labels (energy, start time, frame count).
|
||||
|
||||
- **`subsegment_frames`** — the fixed chunk size (0 = fall back to manual boundaries in `segments_json`).
|
||||
- **`segment_select`** — `0` = whole clip; `N` = output **only subsegment N**: the `waveform_image`
|
||||
is cropped to that chunk, the `audio` output is cropped to it, and the summary is just that beat —
|
||||
so you can generate/skip **one beat at a time**.
|
||||
|
||||
Outputs `waveform_image`, `audio_summary`, `audio`. Needs `torchaudio`/`soundfile`/`librosa`
|
||||
to load the file (torchaudio usually ships with torch).
|
||||
|
||||
## Performance / speed
|
||||
|
||||
|
||||
Reference in New Issue
Block a user