Skip to content

Audio Reactivity Nodes for ComfyUI πŸ”Š Create AI generated audio-driven animations. Compatible with IPAdapter, ControlNets, AnimateDiff...

License

Notifications You must be signed in to change notification settings

yvann-ba/ComfyUI_Yvann-Nodes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‘οΈ ComfyUI_Yvann-Nodes Instagram YouTube

Made with the help of Lilien unnamed

With this pack of nodes, you can analyze audio, extract drums, bass, vocal tracks, and use the scheduled masks and weights to create AI-generated audio-reactive animations in ComfyUI

Works with IPAdapter, AnimateDiff, ControlNets, Prompts Schedules


Workflows

Audio Reactive Images To Video :

Workflow File (click on the link, then on "download raw file" button at the right and drop the file into ComfyUI) πŸ“œ

AudioReactive_ImagesToVideo_Yvann.json

Youtube Tutorial (Click on the image)

Video

Workflow Demo Render (ENABLE VIDEO SOUND) πŸ”Š
ImgToVid.mov

AudioReactive VideoToVideo :

Workflow File (click on the link, then on "download raw file" button at the right and drop the file into ComfyUI) πŸ“œ

AudioReactive_VideoToVideo_Yvann.json

Workflow Demo Render (ENABLE VIDEO SOUND) πŸ”Š
Demo_Lilien.mp4
Youtube Tutorial (Click on the image)

Video

Workflow Preview

videotovideo

CIVITAI Workflow Page


Nodes

Audio Analysis πŸ”

Analyzes audio to generate reactive weights and graph. Can extract specific elements like drums, vocals, bass. Parameters allow manual control over audio weights

preview

Node Parameters
  • audio_sep_model: Loaded model from "Load Audio Separation Model"
  • audio: Input audio file
  • batch_size: Number of frames to associate with audio weights
  • fps: Frames per second for processing audio weights

Parameters:

  • analysis_mode: Select audio component to analyze
  • threshold: Minimum weight value to pass through
  • multiply: Amplification factor for weights before normalization

Outputs:

  • graph_audio: Graph image of audio weights over frames
  • processed_audio: Separated or processed audio (e.g., drums, vocals)
  • original_audio: Original unmodified audio input
  • audio_weights: List of audio-reactive weights based on processed audio

Load Audio Separation Model 🎧

Load an audio separation model. If unavailable, downloads to ComfyUI/models/audio_separation_model/

preview

Node Parameters
  • model: Audio separation model to load
  • HybridDemucs: Most accurate, fastest, and lightweight
  • OpenUnmix: Alternative model

Outputs:

  • audio_sep_model: Loaded audio separation model
    Connect it to "Audio Analysis" or "Audio Remixer"

Audio Peaks Detection πŸ“ˆ

Detects peaks in audio weights based on a threshold and minimum distance. Identifies significant audio events to trigger visual changes or actions.

preview

Node Parameters
  • peaks_threshold: Threshold for peak detection
  • min_peaks_distance: Minimum frames between consecutive peaks

Outputs:

  • peaks_weights: Binary list indicating peak presence (1 for peak, 0 otherwise)
  • peaks_alternate_weights: Alternating binary list based on detected peaks
  • peaks_index: String of peak indices
  • peaks_count: Total number of detected peaks
  • graph_peaks: Visualization image of detected peaks over audio weights

Audio IP Adapter Transitions πŸ”„

Uses "peaks_weights" from "Audio Peaks Detection" to control image transitions based on audio peaks. Outputs images and weights for two IPAdapter batches, logic from "IPAdapter Weights" or IPAdapter_Plus.

preview

Node Parameters
  • images: Batch of images for transitions (loops images to match peak count)
  • peaks_weights: List of audio peaks from "Audio Peaks Detection"

Parameters:

  • blend_mode: Transition method applied to weights
  • transitions_length: Frames used to blend between images
  • min_IPA_weight: Minimum weight applied by IPAdapter per frame
  • max_IPA_weight: Maximum weight applied by IPAdapter per frame

Outputs:

  • image_1: Starting image for transition (connect to first IPAdapter batch "image")
  • weights: Blending weights for transitions (connect to first IPAdapter batch "weight")
  • image_2: Ending image for transition (connect to second IPAdapter batch "image")
  • weights_invert: Inversed weights (connect to second IPAdapter batch "weight")
  • graph_transitions: Visualization of weight transitions over frames

Audio Prompt Schedule πŸ“

Associates "prompts" with "peaks_index" into a scheduled format. Connect output to "batch prompt schedule" of Fizz Nodes. Add an empty line between each individual prompt.

preview

Node Parameters
  • peaks_index: Frames where peaks occur from "Audio Peaks Detection"
  • prompts: Multiline string of prompts for each index

Outputs:

  • prompt_schedule: String mapping each audio index to a prompt

Audio Remixer πŸŽ›οΈ

Modify input audio by adjusting the intensity of drums, bass, vocals, or other elements.

preview

Node Parameters
  • audio_sep_model: Loaded model from "Load Audio Separation Model"
  • audio: Input audio file

Parameters:

  • bass_volume: Adjusts bass volume
  • drums_volume: Adjusts drums volume
  • others_volume: Adjusts other elements' volume
  • vocals_volume: Adjusts vocals volume

Outputs:

  • merged_audio: Composition of separated tracks with applied modifications

Repeat Image To Count πŸ”

Repeats images N times. Cycles inputs if N > number of provided images.

Preview

Node Parameters - **mask**: Mask input to convert

Outputs:

  • float: Float value

Invert Floats πŸ”„

Inverts each value in a list of floats.

Preview

Node Parameters
  • floats: List of float values to invert.

Outputs:

  • inverted_floats: Inverted list of float values.

Floats Visualizer πŸ“ˆ

Generates a graph from floats for visual data comparison.
Useful to compare audio weights.

preview

Node Parameters
  • floats: Primary list of floats to visualize
  • floats_optional1: (Optional) Second list of floats
  • floats_optional2: (Optional) Third list of floats

Parameters:

  • title: Graph title
  • x_label: Label for the x-axis
  • y_label: Label for the y-axis

Outputs:

  • visual_graph: Visual graph of provided floats

Mask To Float 🎭

Converts a mask into a float. Works with a batch of masks.

preview

Node Parameters
  • mask: Mask input to convert.

Outputs:

  • float: Float value representing the average value of the mask.

Floats To Weights Strategy πŸ‹οΈ

Converts a list of floats into an IPAdapter weights strategy format.
Use with "IPAdapter Weights From Strategy" or "Prompt Schedule From Weights Strategy" to integrate output into IPAdapter pipeline.

preview

Node Parameters

Inputs:

  • floats: List of float values to convert

Outputs:

  • WEIGHTS_STRATEGY: Dictionary of the weights strategy

Installation

  1. Install ComfyUI & ComfyUI-Manager
  2. Launch ComfyUI
  3. Click on "🧩 Manager" -> "Custom Nodes Manager"
  4. Search for ComfyUI_Yvann-Nodes in the manager and install it

Giving a ⭐ to this repo is the best way to support us (:

About

Audio Reactivity Nodes for ComfyUI πŸ”Š Create AI generated audio-driven animations. Compatible with IPAdapter, ControlNets, AnimateDiff...

Topics

Resources

License

Stars

Watchers

Forks