Add SxCP Audio Prompt Guide node (audio -> waveform image + timing summary)

New node for audio-guided video prompts (LTX): takes a ComfyUI AUDIO clip + free-text
motion notes and outputs (1) a rendered energy-envelope IMAGE with beat/segment markers
so the vision model can see the audio shape, and (2) an audio_summary STRING with
duration, tempo/beats (librosa optional), per-segment energy + 8n+1-snapped frame counts
+ stage hints + the notes. Wire waveform_image -> Judge.reference_image and audio_summary
-> Judge.user_prompt (chat mode, json_output) for beat-aligned LTX JSON. librosa optional
(energy envelope + segments work without it). Registered in __init__; README workflow added.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-04 22:02:12 +02:00
co-authored by Claude Opus 4.8
parent 8b567cb531
commit 6e6232d4ab
4 changed files with 204 additions and 2 deletions
+6 -2
View File
@@ -8,8 +8,12 @@ from .nodes.receptor import (
NODE_CLASS_MAPPINGS as _RECEPTOR_CLASSES,
NODE_DISPLAY_NAME_MAPPINGS as _RECEPTOR_NAMES,
)
from .nodes.audio_guide import (
NODE_CLASS_MAPPINGS as _AUDIO_CLASSES,
NODE_DISPLAY_NAME_MAPPINGS as _AUDIO_NAMES,
)
NODE_CLASS_MAPPINGS = {**_JUDGE_CLASSES, **_RECEPTOR_CLASSES}
NODE_DISPLAY_NAME_MAPPINGS = {**_JUDGE_NAMES, **_RECEPTOR_NAMES}
NODE_CLASS_MAPPINGS = {**_JUDGE_CLASSES, **_RECEPTOR_CLASSES, **_AUDIO_CLASSES}
NODE_DISPLAY_NAME_MAPPINGS = {**_JUDGE_NAMES, **_RECEPTOR_NAMES, **_AUDIO_NAMES}
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"]