ComfyUI_Sonic
Run ComfyUI Easily with InstaSD
Skip the complex setup. InstaSD helps creative professionals build workflows and deploy them to the world:
- One-click deployment
- Any model, any node
- Powerful GPUs for rapid iteration
Available Nodes
SONIC_PreData
SONIC_PreData Node Documentation
Overview
The SONIC_PreData node is a component of the ComfyUI_Sonic extension, designed to interface with the Sonic method for audio-driven portrait animation. This node is responsible for preprocessing audio and image data in preparation for the animation process. By leveraging advanced machine learning models, the node processes inputs to generate necessary data for further stages of animation generation.
Functionality
This node performs the following key tasks:
- Preprocesses audio and image inputs for compatibility with Sonic's animation models.
- Utilizes state-of-the-art models such as Whisper for feature extraction.
- Outputs a comprehensive data dictionary required for animation synthesis.
Inputs
The SONIC_PreData node accepts the following inputs:
-
clip_vision: The vision model component capable of processing image data, typically part of the CLIP (Contrastive Language-Image Pretraining) framework.
-
vae: A Variational Autoencoder used to encode image data into latents for computational efficiency and model compatibility.
-
audio: Audio data input in a format that includes waveform and sample rate. This audio guides the animation process by influencing dynamic elements of the portrait's behavior.
-
image: An image input, usually a portrait, which serves as the base content for animation.
-
weight_dtype: Defines the data type for model weights during computation. Options include "fp16" (half-precision float), "fp32" (single-precision float), and "bf16" (brain float 16).
-
min_resolution: Integer defining the minimum resolution for output images, ensuring quality and detail in animations.
-
duration: A float input specifying the length (in seconds) of the audio segment to process. Determines animation's temporal length.
-
expand_ratio: Float determining how much to expand the bounding box in face detection, which affects image cropping for a better focus on facial features.
Outputs
The SONIC_PreData node generates the following output:
- data_dict: A dictionary containing:
- Preprocessed image tensors ready for animation.
- Audio tensors representing the processed audio features.
- Various embeddings and motion buckets required for generating animation dynamics.
- Encoded image latents using the VAE's encoding capabilities.
This output is used in subsequent nodes for generating the animated portrait sequence.
Usage in ComfyUI Workflows
In a typical ComfyUI workflow, the SONIC_PreData node is configured to take input from audio sources and image models. It acts as an intermediary step that ensures all necessary data adjustments and preprocessing are completed before rendering stages begin. It works in tandem with nodes responsible for actual animation generation and post-processing, forming a crucial link in a larger animation pipeline.
Special Features or Considerations
-
Model Requirements: This node relies on pre-trained models and requires specific files to be downloaded and placed in indicated directories. These models include Whisper and various Sonic components available through specified repositories.
-
Device Compatibility: The node is designed to detect and utilize CUDA-capable devices for acceleration when available, defaulting to CPU or MPS on unsupported systems.
-
Resource Management: Given the potential resource intensity, the node makes efforts to manage GPU memory usage and may require adjustments to inputs such as resolution and duration to balance performance with available resources.
-
Error Handling: If necessary model files are missing, the node will raise an exception, guiding the user to complete the requisite setup before proceeding with animation tasks.