StableAvatar:开启无限长度音频驱动数字人生成新纪元
在人工智能飞速发展的今天,让虚拟形象(Avatar)根据一段音频就能“开口说话”、甚至唱歌、表演,并且视频长度不受限制,一直是研究者与开发者们追求的目标。今天我们要介绍的这项突破性技术——StableAvatar,正是为解决这一问题而来。
它不仅能够生成无限时长、高保真、身份特征高度一致的数字人视频,更重要的是,它实现了真正的端到端生成,无需依赖任何人脸后处理工具(如FaceFusion、GFP-GAN等),是一项完全自主的合成技术。
一、什么是StableAvatar?
StableAvatar是一个基于扩散变换器(Diffusion Transformer)的音频驱动视频生成模型。你只需要提供一张人物图片和一段音频,它就能生成对应人物口型、表情与音频高度同步的视频,而且视频长度理论上可以无限延长。
“
🔥 项目地址:https://github.com/Francis-Rings/StableAvatar
📄 论文地址:https://arxiv.org/abs/2508.08248
🧠 模型下载:https://huggingface.co/FrancisRing/StableAvatar
为什么这是一项突破?
现有的音频驱动视频生成模型普遍存在几个问题:
-
无法生成长视频,容易出现口型不同步; -
身份特征难以保持,视频中的人物“越变越不像自己”; -
依赖外部后处理工具,流程复杂且效率低。
StableAvatar通过以下几项创新解决了这些问题:
-
时间步感知音频适配器(Time-step-aware Audio Adapter):防止误差在生成过程中累积,避免视频片段之间的潜在分布漂移。 -
音频原生引导机制(Audio Native Guidance):在推理过程中增强音频与视频的同步性。 -
动态加权滑动窗口策略(Dynamic Weighted Sliding-window Strategy):提升无限长度视频的流畅度。
二、效果展示
以下是StableAvatar生成的部分视频示例,全部为直接合成输出,未使用任何后处理工具:
视频1 | 视频2 | 视频3 |
视频4 | 视频5 | 视频6 |
视频7 | 视频8 | 视频9 |
三、技术框架一览
下图展示了StableAvatar的整体架构:

其核心流程包括:
-
输入:参考图像 + 驱动音频; -
处理:通过定制化的训练与推理模块; -
输出:无限长度的高质量视频。
与以往方法最大的不同在于,StableAvatar避免了使用第三方音频提取器,而是通过内部机制实现音频与视频的深度融合,从而显著提升了长视频生成的稳定性。
四、如何快速开始使用?
如果你是一名开发者或研究者,想要亲自体验StableAvatar的强大功能,可以参考下面的步骤。
环境安装
根据你的显卡类型选择以下命令之一:
适用于大多数NVIDIA显卡(CUDA 12.4):
pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt
pip install flash_attn # 可选,用于加速注意力计算
适用于Blackwell系列芯片(如RTX 6000 Pro):
pip install torch==2.7.0 torchvision==0.22.0 torchaudio==2.7.0 --index-url https://download.pytorch.org/whl/cu128
pip install -r requirements.txt
pip install flash_attn
下载模型权重
建议使用Hugging Face官方镜像加速下载:
export HF_ENDPOINT=https://hf-mirror.com
pip install "huggingface_hub[cli]"
mkdir checkpoints
huggingface-cli download FrancisRing/StableAvatar --local-dir ./checkpoints
下载后的文件应组织为如下结构:
StableAvatar/
├── checkpoints
│ ├── Kim_Vocal_2.onnx
│ ├── wav2vec2-base-960h
│ ├── Wan2.1-Fun-V1.1-1.3B-InP
│ └── StableAvatar-1.3B
…
音频提取与人声分离
如果你有一个视频文件(如.mp4),可以先提取音频:
python audio_extractor.py --video_path="path/to/video.mp4" --saved_audio_path="path/to/audio.wav"
为进一步提升口型同步质量,建议分离人声与背景音乐:
pip install audio-separator[gpu]
python vocal_seperator.py --audio_separator_model_file="checkpoints/Kim_Vocal_2.onnx" --audio_file_path="path/to/audio.wav" --saved_vocal_path="path/to/vocal.wav"
运行推理生成视频
使用提供的脚本即可快速生成视频:
bash inference.sh
你可以在inference.sh
中修改参数,如分辨率(支持512×512、480×832、832×480)、参考图像路径、音频路径等。
💡 实用提示:
-
推荐推理步数( sample_steps
)为30~50步,步数越多质量越高; -
重叠窗口长度( overlap_window_length
)建议在5~15之间,越长越平滑但速度越慢; -
若显存不足,可设置 --GPU_memory_mode
为sequential_cpu_offload
,仅需约3GB显存。
添加音频到生成视频
StableAvatar生成的视频不包含音频,你可以使用ffmpeg合并音视频:
ffmpeg -i video_no_audio.mp4 -i audio.wav -c:v copy -c:a aac -shortest output_with_audio.mp4
五、训练你自己的StableAvatar模型
如果你希望在自己的数据集上训练模型,StableAvatar也提供了完整的训练支持。
数据准备
数据集需按以下结构组织:
talking_face_data/
├── square/ # 512x512视频
├── rec/ # 832x480视频
├── vec/ # 480x832视频
└── {speech, singing, dancing}/
└── {id}/
├── images/ # 视频帧
├── face_masks/ # 人脸掩码
├── lip_masks/ # 嘴唇掩码
├── sub_clip.mp4 # 原视频
└── audio.wav # 音频
你可以使用FFmpeg提取帧:
ffmpeg -i raw_video.mp4 -q:v 1 -start_number 0 talking_face_data/rec/speech/00001/images/frame_%d.png
提取人脸掩码可参考StableAnimator,嘴唇掩码可使用以下脚本:
python lip_mask_extractor.py --folder_root="talking_face_data/rec/singing" --start=1 --end=500
启动训练
单机训练(512×512):
bash train_1B_square.sh
多机训练(混合分辨率):
bash train_1B_rec_vec_64.sh
训练过程中需注意:
-
混合分辨率训练约需50GB显存; -
推荐使用静态背景的视频片段; -
音频应清晰,避免背景噪声过大。
模型微调与LoRA训练
StableAvatar支持全参数微调与LoRA轻量微调:
# 全参数微调
bash train_1B_rec_vec.sh
# LoRA微调
bash train_1B_rec_vec_lora.sh
可通过调整rank
和network_alpha
控制LoRA的质量与拟合能力。
六、硬件要求与性能参考
任务 | 显存占用 | 耗时(RTX 4090) |
---|---|---|
5秒视频(480×832) | ~18 GB | ~3分钟 |
训练(混合分辨率) | ~50 GB | 依赖epoch数 |
LoRA微调 | 可降低 | 显著减少 |
“
提示:尽管StableAvatar可生成长达数小时的视频,但解码极长序列时VAE解码器可能需在CPU运行以节省显存。
七、常见问题(FAQ)
Q1:StableAvatar支持哪些分辨率?
目前支持512×512、480×832、832×480三种分辨率,可通过参数灵活设置。
Q2:是否可以用于商业用途?
请查阅项目许可证说明,目前模型权重可通过Hugging Face下载,科研用途免费。
Q3:生成的视频有长度限制吗?
理论上没有上限,但实际受硬件内存限制,可通过滑动窗口机制分段生成。
Q4:是否支持非人脸类视频生成?
当前模型针对人脸优化,但架构本身具备扩展至其他类别物体的潜力。
Q5:如何提升生成视频的口型同步质量?
建议使用人声分离后的音频,并适当提高音频引导系数(sample_audio_guide_scale
)。
八、结语
StableAvatar的出现,为音频驱动视频生成领域带来了新的可能性。其无限长度、高保真、身份一致的生成能力,不仅在科研层面具有重要价值,也为虚拟人、数字代言人、在线教育等应用场景提供了实用的工具支持。
如果你对这项技术感兴趣,不妨访问项目主页或下载代码尝试运行。也欢迎在论文或应用中引用该项目,支持开源研究的发展。
@article{tu2025stableavatar,
title={StableAvatar: Infinite-Length Audio-Driven Avatar Video Generation},
author={Tu, Shuyuan and Pan, Yueming and Huang, Yinming and Han, Xintong and Xing, Zhen and Dai, Qi and Luo, Chong and Wu, Zuxuan and Jiang Yu-Gang},
journal={arXiv preprint arXiv:2508.08248},
year={2025}
}