Add SxCP Audio Wave + Segments: interactive waveform node (upload/play/click-segments)

New node with a JS widget (web/audio_wave.js): upload an audio clip, play it, and click
the waveform to place segment boundaries (click add / drag move / dblclick note /
shift|right-click delete). Boundaries+notes serialize to a hidden segments_json that
drives Python segmentation (falls back to auto-split / notes syntax). Python node
(nodes/audio_wave_segments.py) loads the file (torchaudio/soundfile/librosa), builds
segments from the boundaries, and outputs waveform_image + audio_summary + AUDIO — same
contract as Audio Prompt Guide, so it feeds chat mode the same way. _attach_notes now
merges (keeps clicked notes). WEB_DIRECTORY re-enabled. JS is a first cut — needs testing
in ComfyUI (console logs on error); the Python node works standalone via segments_json/notes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-04 22:31:45 +02:00
co-authored by Claude Opus 4.8
parent d7b9907f56
commit 57b459b956
6 changed files with 338 additions and 4 deletions
+3
View File
@@ -11,5 +11,8 @@ bitsandbytes
# optional, for the Audio Prompt Guide node — adds tempo (BPM) + beat times
# (energy envelope + segments work without it):
# librosa
# for the Audio Wave + Segments node to LOAD an uploaded file (one of these; torchaudio
# usually ships with torch): torchaudio / soundfile / librosa
# soundfile
# optional, for faster attention on the RTX 5090:
# flash-attn