Generates high-quality audio through three-stage CoT reasoning pipeline: foundational foley synthesis, object-focused refinement, and instruction-guided editing. Uses fine-tuned VideoLLaMA for reasoning and flow-matching audio foundation model. Apply for professional audio design workflows or video-to-audio applications.
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
Generates high-quality audio through three-stage CoT reasoning pipeline: foundational foley synthesis, object-focused refinement, and instruction-guided editing. Uses fine-tuned VideoLLaMA for reasoning and flow-matching audio foundation model. Apply for professional audio design workflows or video-to-audio applications.
ThinkSound: Professional Audio Design Through Reasoning-Guided Synthesis
Professional audio designers don't generate sound directly—they reason about what's needed, build foundational elements, refine specific sounds, then polish through iterative editing. Most audio generation systems treat this as a single black-box transformation, failing to capture the reasoning that distinguishes professional results from naive synthesis. ThinkSound introduces a three-stage pipeline guided by chain-of-thought reasoning from a fine-tuned multimodal LLM, decomposing sound design into deliberate stages. The result is higher-quality audio with better temporal coherence and semantic accuracy than end-to-end systems.
The insight is that sound design involves compositional reasoning—understanding which sounds matter, in what order, with what properties. Explicit decomposition through reasoning captures this structure.
Core Concept
ThinkSound replaces single-pass audio generation with a three-stage reasoning-guided process:
Stage 1: Foundational Foley Analysis: Fine-tuned VideoLLaMA generates comprehensive chain-of-thought analyzing the entire video, identifying all sound events, acoustic properties, and temporal dependencies.
Stage 2: Object-Focused Refinement: User can click on video regions (ROI selection) to focus refinement on specific objects, with LLM reasoning about their sounds.
Stage 3: Instruction-Guided Editing: Natural language editing instructions are decomposed through CoT into specific audio modifications (pitch, gain, reverb).
The audio foundation model is a multimodal diffusion transformer using flow matching, accepting combinations of video, text, and audio inputs. This flexibility enables the three-stage pipeline.
Architecture Overview
Reasoning Component: Fine-tuned VideoLLaMA2 generating structured chain-of-thought about sound design
Audio Foundation Model: Conditional flow-matching transformer synthesizing from multimodal inputs
Dual-Pathway Text Encoding: MetaCLIP for scene context, T5 for detailed reasoning
Adaptive Fusion: Combines video and audio features flexibly
Three-Stage Pipeline: Foundational → refinement → editing with reasoning at each stage
AudioCoT Dataset: Paired reasoning annotations and audio for supervision
Implementation
Reasoning-guided audio generation with VideoLLaMA:
"""
Three-stage pipeline: reasoning generates structure,
audio foundation model synthesizes conditioned on structure.
"""
def
__init__
self, reasoning_model, audio_model, device='cuda'
super
self
# Fine-tuned VideoLLaMA2
self
# Flow-matching transformer
self
def
stage1_foundational_foley
self,
video: torch.Tensor,
fps: int = 30
Tuple
str
"""
Stage 1: Analyze entire video and generate foundational foley.
Args:
video: (T, H, W, 3) video tensor
fps: Frames per second
Returns:
reasoning_trace: CoT reasoning about sounds
generated_audio: Synthesized audio covering full video
"""
# Extract key frames and video features
0
0
4
2
3
4
1
# Generate comprehensive CoT reasoning
f"""
Analyze this video ({num_frames} frames at {fps}fps, duration {num_frames/fps:.1f}s).
Identify all sound events:
1. What sounds are present?
2. What are their acoustic properties (frequency, intensity, duration)?
3. What is the temporal structure (when do sounds start/end)?
4. How do sounds interact (overlap, sequence)?
Provide detailed structured reasoning.
"""
"""
Stage 2: Focus on specific region (ROI) for targeted refinement.
Args:
video: (T, H, W, 3) video
audio: (num_samples,) audio from stage 1
roi_mask: (T, H, W) binary mask of region of interest
roi_description: Optional user description of region
Returns:
reasoning_trace: CoT about specific object
refined_audio: Stage 1 audio with refined region
"""
# Extract ROI from each frame
1
# Generate reasoning about this specific object
if
f"""
Focus on this object in the video: {roi_description}
Generate detailed reasoning about:
1. What sounds does this object make?
2. How do these sounds change over time?
3. What acoustic properties are important?
4. How should this sound interact with background?
"""
else
"""
For this region of interest, analyze:
1. What object/action is present?
2. What are the characteristic sounds?
3. How do they change temporally?
4. Acoustic details (timbre, envelope)?
"""
"""
Stage 3: Apply natural language editing instructions.
Args:
audio: Audio to edit
instruction: Natural language edit (e.g., "make drums louder", "add reverb")
video: Optional video for context
Returns:
reasoning_trace: CoT about how to apply instruction
edited_audio: Modified audio
"""
# Generate reasoning about how to apply instruction
f"""
Audio editing task: "{instruction}"
Reasoning about how to modify the audio:
1. What aspect needs modification (timbre, loudness, reverb, etc)?
2. Which parts of the audio are affected?
3. What audio processing is needed (EQ, compression, delay)?
4. What are the target parameters?
Provide technical reasoning.
"""
with
self
if
is
not
None
else
None
300
'text'
# Extract editing parameters from reasoning
self
# Apply edits
self
return
def
_parse_sound_events
self, reasoning_text: str
list
"""Extract structured sound event information from CoT reasoning."""
# Parse reasoning to identify sound events
# (simplified; full implementation uses NLP)
# Look for patterns like "At T seconds: [sound description]"