综合介绍
TANGO (Co-Speech Gesture Video Reenactment with Hierarchical Audio-Motion Embedding and Diffusion Interpolation) 是由东京大学和CyberAgent AI实验室联合开发的开源协同语音手势视频生成框架。该项目利用分层音频-动作嵌入空间和扩散插值技术,能够根据输入的语音自动生成自然、流畅且同步的人物手势视频。TANGO通过创新的动作图检索方法,首先在隐式分层音频-动作嵌入空间中检索与目标语音最匹配的参考视频片段,然后使用扩散模型进行动作插值,实现了高质量的手势动作生成。该项目不仅推进了AI驱动的人机交互研究,也为虚拟主播、数字人等应用提供了重要的技术支持。
当前开源的 TANGO 只支持最长 8s 音频,使用前,需对音频文件做分段处理!
配合语音唇形同步工具,实现完整数字人项目:Sync 、Wav2Lip 、Ultralight Digital Human 。完整的工作流是:Ultralight Digital Human 对口型,TANGO 生成肢体动作,FaceFusion 换脸,完美!
功能列表
- 高精度手势同步 :将任意音频与视频中的手势进行精准同步。
- 多语言支持 :适用于各种语言和声音,包括 CGI 面孔和合成声音。
- 开源和免费 :代码完全公开,用户可以自由使用和修改。
- 交互式演示 :提供在线演示,用户可以上传视频和音频文件进行体验。
- 预训练模型 :提供多种预训练模型,用户可以直接使用或进行二次训练。
- 完整的训练代码 :包括手势同步判别器和 TANGO 模型的训练代码。
使用帮助
1. 环境配置
1.1 基本要求:
- Python版本:3.9.20
- CUDA版本:11.8
- 磁盘空间:至少35GB(用于存储模型和预计算图)
1.2 安装步骤:
# 克隆项目仓库
git clone https://github.com/CyberAgentAILab/TANGO.git
cd TANGO
git clone https://github.com/justinjohn0306/Wav2Lip.git
git clone https://github.com/dajes/frame-interpolation-pytorch.git
# 创建虚拟环境(可选)
conda create -n tango python==3.9.20
conda activate tango
# 安装依赖
pip install -r ./pre-requirements.txt
pip install -r ./requirements.txt
2. 使用流程
2.1 快速开始:
- 运行推理脚本:
python app.py
首次运行时,系统会自动下载必要的检查点文件和预计算图。生成大约8秒的视频需要约3分钟处理时间。
2.2 自定义角色创建:
- 如需为新角色创建动作图谱:
python create_graph.py
其中,项目默认会生成带有 TANGO 水印的视频,类似下面这样:
本质上是调用本地的 ffmpeg 将原视频和水印图片合成了新视频。
如果不想要水印,可修改app.py
中:
gr.Video(value="./datasets/cached_audio/demo1.mp4", label="Demo 0", , watermark="./datasets/watermark.png") # 修改为 gr.Video(value="./datasets/cached_audio/demo1.mp4", label="Demo 0")
非本地主机可访问,需修改:
demo.launch(server_name="0.0.0.0", server_port=7860)
再次打开,可以发现加载的视频中无水印。
最终生成的视频没有音频,需要手动把音频合成进去
/usr/bin/ffmpeg -i outputs/gradio/test_0/xxx.mp4 -i gen_audio.wav -c:v libx264 -c:a aac result_wav.mp4
可以发现:肢体动作没什么问题,口型完全对不上。
这不, Ultralight Digital Human 就派上用场了?
使用流程
- 访问本地服务器 :在浏览器中打开
http://localhost:3000
。 - 上传视频和音频 :在输入框中上传你想同步的音频和视频文件。
- 进行手势同步 :点击「同步」按钮,系统会自动进行手势同步处理。
- 查看和下载结果 :同步完成后,可以预览结果并下载同步后的视频文件。
- 使用交互式演示 :在「演示」页面上传视频和音频文件,实时体验手势同步效果。
- 管理项目 :在「我的项目」页面查看和管理所有上传的项目,支持版本控制和协作。
高级功能
- 智能手势同步 :利用 AI 提供的智能手势同步,提高视频内容的表现力。
- 多语言支持 :根据项目需求选择不同的语言和声音。
- 自定义开发 :由于 TANGO 是开源的,用户可以根据自己的需求进行二次开发。