ComfyUI Extension: ComfyUI_Yvann-Nodes

Authored by yvann-ba

Created

Updated

392 stars

Audio reactivity nodes for AI animations πŸ”Š Analyze audio, extract drums and vocals. Generate reactive masks and weights. Create audio-driven visuals. Produce weight graphs and audio masks. Compatible with IPAdapter, ControlNets and more. Features audio scheduling and waveform analysis. Tutorials to use this pack: a/Yvann Youtube

README

πŸ”Š ComfyUI_Yvann-Nodes Check the Tutorial

Made with the great help of Lilien 😎

A pack of custom nodes that enable audio reactivity within ComfyUI, allowing you to generate AI-driven animations that sync with music


What Does This Do?

  • Create Audio Reactive AI videos, enable controls over AI generations styles, content and composition with any audio
  • Simple: Just Drop one of our Workflows in ComfyUI and specify your audio and visuals input
  • Flexible: Works with existing ComfyUI AI tech and nodes (eg: IPAdapter, AnimateDiff, ControlNet, etc.)

Video result (generated by our amazing users 😁)

Audio Reactive Images to Video ⬇️

<table border="0" style="width: 100%; text-align: left; margin-top: 20px;"> <tr> <td> <video src="https://github.com/user-attachments/assets/615394cd-c829-4ee0-94de-1ffd20d35b9d" width="100%" controls autoplay loop></video> </td> <td> <video src="https://github.com/user-attachments/assets/d9a630d5-cd13-4cf4-a1da-282e6078cd49" width="100%" controls autoplay loop></video> </td> <td> <video src="https://github.com/user-attachments/assets/cd6af84d-db51-47cc-897d-c880271f2971" width="100%" controls autoplay loop></video> </td> </tr> </table> <table border="0" style="width: 100%; text-align: left; margin-top: 20px;"> <tr> <td> <video src="https://github.com/user-attachments/assets/f4b64874-5ca9-49ea-8d2c-40b377a5b5bd" width="100%" controls autoplay loop></video> </td> <td> <video src="https://github.com/user-attachments/assets/8e75df33-6426-4d6e-98d1-f8288cc87b74" width="100%" controls autoplay loop></video> </td> <td> <video src="https://github.com/user-attachments/assets/9d179485-011d-4de2-a4fb-d8489f20a2cf" width="100%" controls autoplay loop></video> </td> </tr> </table>

Audio Reactive Video to Video ⬇️

<table border="0" style="width: 100%; text-align: left; margin-top: 20px;"> <tr> <td> <video src="https://github.com/user-attachments/assets/c0450100-a61f-4707-9e14-0d4ca563a2b1" width="100%" controls autoplay loop></video> </td> <td> <video src="https://github.com/user-attachments/assets/c0fa2ca0-6c0f-4687-b1c9-fe531278c58e" width="100%" controls autoplay loop></video> </td> </tr> </table>

Quick Setup

Pick a Workflow (Images β†’ Video or Video β†’ Video)

  1. Images β†’ Video

    • Takes a set of images plus an audio track.
    • Watch Tutorial:
      Images2Video
  2. Video β†’ Video

    • Takes a source video plus an audio track.
    • Watch Tutorial:
      Video2Video

Load Your Chosen Workflow in ComfyUI

  1. Download the .json file for the workflow you picked:

  2. Drop the .json file into the ComfyUI window.

  3. Open the β€œπŸ§© Manager” β†’ β€œInstall Missing Custom Nodes”

    • Install each pack of nodes that appears.
    • Restart ComfyUI if prompted.
  4. Set Your Inputs & Generate

    • Provide the inputs needed (everything explained here
    • Click Queue button to produce your audio-reactive animation!

That’s it! Have fun playing with the differents settings now !! (if you have any questions or problems, check my Youtube Tutorials


Nodes Details

<details> <summary><strong>Click to Expand: Node-by-Node Reference</strong></summary>

Audio Analysis πŸ”

Analyzes audio to generate reactive weights for each frame.

<details> <summary><em>Node Parameters</em></summary>
  • audio_sep_model: Model from "Load Audio Separation Model"
  • audio: Input audio file
  • batch_size: Frames to associate with audio weights
  • fps: Frame rate for the analysis

Parameters:

  • analysis_mode: e.g., Drums Only, Vocals, Full Audio
  • threshold: Minimum weight pass-through
  • multiply: Amplification factor

Outputs:

  • graph_audio (image preview),
  • processed_audio, original_audio,
  • audio_weights (list of values).
</details>

Load Audio Separation Model 🎧

Loads or downloads an audio separation model (e.g., HybridDemucs, OpenUnmix).

<details> <summary><em>Node Parameters</em></summary>
  • model: Choose between HybridDemucs / OpenUnmix.
  • Outputs: audio_sep_model (connect to Audio Analysis or Remixer).
</details>

Audio Peaks Detection πŸ“ˆ

Identifies peaks in the audio weights to trigger transitions or events.

<details> <summary><em>Node Parameters</em></summary>
  • peaks_threshold: Sensitivity.
  • min_peaks_distance: Minimum gap in frames between peaks.
  • Outputs: Binary peak list, alternate list, peak indices/count, graph.
</details>

Audio IP Adapter Transitions πŸ”„

Manages transitions between images based on peaks. Great for stable or style transitions.

<details> <summary><em>Node Parameters</em></summary>
  • images: Batch of images.
  • peaks_weights: From β€œAudio Peaks Detection”.
  • blend_mode, transitions_length, min_IPA_weight, etc.
</details>

Audio Prompt Schedule πŸ“

Links text prompts to peak indices.

<details> <summary><em>Node Parameters</em></summary>
  • peaks_index: Indices from peaks detection.
  • prompts: multiline string.
  • Outputs: mapped schedule string.
</details>

Audio Remixer πŸŽ›οΈ

Adjusts volume levels (drums, vocals, bass, others) in a track.

<details> <summary><em>Node Parameters</em></summary>
  • drums_volume, vocals_volume, bass_volume, others_volume
  • Outputs: single merged audio track.
</details>

Repeat Image To Count πŸ”

Repeats a set of images N times.

<details> <summary><em>Node Parameters</em></summary>
  • mask: Mask input.
  • Outputs: Repeated images.
</details>

Invert Floats πŸ”„

Flips sign of float values.

<details> <summary><em>Node Parameters</em></summary>
  • floats: list of floats.
  • Outputs: inverted list.
</details>

Floats Visualizer πŸ“ˆ

Plots float values as a graph.

<details> <summary><em>Node Parameters</em></summary>
  • floats (and optional second/third).
  • Outputs: visual graph image.
</details>

Mask To Float 🎭

Converts a mask into a single float value.

<details> <summary><em>Node Parameters</em></summary>
  • mask: input.
  • Outputs: float.
</details>

Floats To Weights Strategy πŸ‹οΈ

Transforms float lists into an IPAdapter β€œweight strategy.”

<details> <summary><em>Node Parameters</em></summary>
  • floats: list of floats.
  • Outputs: dictionary with strategy info.
</details> </details>

6. Thank You!

Please give a ⭐ on GitHub it helps us enhance our Tool and it's Free for you !! (: