开源AI数字人Duix.Avatar:从10秒克隆到出片的完整教程
【免费下载链接】Duix-Avatar🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning.项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar
想给新品录一条30秒口播视频,却要排队约主播、订棚?Duix.Avatar是一款全离线运行的开源数字人工具:上传一段10秒正面视频,它克隆你的形象和声音,之后输入文案或喂一段音频,就能产出口型自然的数字人视频。所有计算跑在你的本地显卡上,素材和成片不出内网。
Duix.Avatar能做什么:30秒看懂核心能力
先看硬指标:
| 项目 | 说明 |
|---|---|
| 定位 | 开源数字人工具,本地部署、全离线、可免费商用 |
| 输入 | 一段10秒左右的正面视频,必须带人声 |
| 输出 | 口型匹配的播报视频,或克隆音色合成的音频 |
| 硬件 | NVIDIA显卡(推荐RTX 4070)、32G内存、100G可用磁盘 |
| 语言 | 脚本支持中、英、日、韩、法、德、阿拉伯、西8种语言 |
几个值得记住的点:
- 形象和声音一次克隆:10秒素材同时用于训练人脸模型和提取声纹。
- 两种驱动方式:直接输文案,系统用克隆音色朗读;或上传现成音频驱动口型。
- 后端是三个独立容器:ASR语音识别、TTS语音合成、视频合成,各司其职。
- 商用条款:全球免费商用,用户量超10万或年营收超1000万美元的企业需另签许可。
主界面:上方是"Create Video"和"Create Avatar"两个主入口,下方为作品与模特列表。
30分钟部署:Docker拉起数字人服务
本节是完整的Docker部署数字人服务步骤,核心动作就三个:查硬件、起服务、装客户端。
第1步:环境体检。NVIDIA显卡和驱动是硬性前提,本项目算力全部走CUDA,核显和AMD显卡都不行。
- 驱动检查:执行
nvidia-smi,能看到显卡信息才算通过 - Windows要求Win10 19042以上,D盘留30G以上(存模型和作品),系统盘留100G以上(存镜像)
- 没拉过代码就执行:
git clone https://gitcode.com/GitHub_Trending/he/Duix-Avatar
- ❌ 别跳过
nvidia-smi,驱动没装好,三个服务一个都起不来 - ✅ Windows上C盘不够时,把镜像存放位置改到100G以上空间的磁盘
第2步:启动服务。代码的 deploy 目录里放了现成的 docker-compose 文件,一条命令搞定:
cd deploy docker-compose up -d首次拉镜像约70G流量、半小时左右,建议连WiFi。拉取超时就在Docker Engine的 registry-mirrors 里配置国内镜像源,然后点 Apply & restart。
- ❌ 首次启动不要中断,服务初始化要等几分钟
- ✅ 50系显卡改用
docker-compose -f docker-compose-5090.yml up -d;配置低可换lite版,只起一个合成容器
第3步:连通验证并装客户端。
docker ps看到Duix.Avatar-asr、Duix.Avatar-tts、Duix.Avatar-gen-video三个容器都是Running,服务端就绪。再从发布页下载客户端安装包Duix.Avatar-x.x.x-setup.exe,双击安装,客户端启动后调用本地服务。
- ✅ 连不上先查三个容器是否都Running
- ❌ 别改动compose文件里的端口映射,客户端依赖默认的18180/8383端口
能力拆解:数字人视频生成的技术链路
整条链路可以概括为:拆素材、克隆音色、驱动口型,三个服务各管一段。
环节一:素材输入——把10秒视频拆成两半
上传素材后,系统用ffmpeg把视频拆成"画面"和"音频"两份。音频落到本地约定目录(如D:\duix_avatar_data\voice\data)。为什么要拆?人脸建模只需要画面信息,声音克隆需要原始人声,拆开之后两条流水线互不阻塞。⚠️ 素材必须有人在说话,否则音色克隆直接失败——这也是"新增模特报错"的第一大原因。
环节二:音色克隆——用你的声音读新文案
训练时客户端调用18180/v1/preprocess_and_tran接口,ASR服务(基于fun-asr)把你的参考音频转写成文本,返回参考文本和音频路径。之后你输入新文案,客户端再调用18180/v1/invoke,把参考音频和参考文本一起交给TTS服务(基于fish-speech),它按你的音色和语调生成新音频。每个数字人对应一个唯一UUID,训练完可反复复用。参考音频不足20秒时不做分割、直接处理,短句场景出音更快。
环节三:口型同步与出片
最后一步,把"克隆音频+原视频"交给8383/easy/submit接口,face2face模型驱动画面中的人按音频节奏动嘴,用8383/easy/query?code=任务号轮询进度。这条路线成立的关键在于:数字人口型同步靠"音频驱动画面帧生成",而不是先建3D脸再渲染——所以10秒素材就够撑起一个能用的数字人。成片是可直放的视频文件,在客户端"我的作品"里查看。
完整实操:训练数字人并生成第一条视频
现在按"上传10秒素材→训练→输文案→导出"走一遍。
- 备素材:10~30秒正面视频,单人、声音清晰、无遮挡,视频必须带声,画面清晰为佳。
- 训练模型:客户端点"Create Avatar"上传视频,等服务就绪后再操作(ASR启动较慢),训练完成后模特出现在"My Avatars"。
- 生成视频:点"Create Video",选中模特,输入文案或上传音频,开始合成。
全程也可以走接口,语音合成调用长这样(ref_audio、ref_text为训练步骤的返回值):
import requests r = requests.post("http://127.0.0.1:18180/v1/invoke", json={"speaker": "uuid-001", "text": "你好,这是我的第一条数字人视频", "format": "wav", "topP": 0.7, "reference_audio": ref_audio, "reference_text": ref_text})视频合成再把生成的音频和素材视频提交给8383服务:
{"audio_url": "voice.wav", "video_url": "avatar.mp4", "code": "task-001", "chaofen": 0, "watermark_switch": 0, "pn": 1}⚠️ 完成后视频存入客户端"我的作品",Windows下数据在D:\duix_avatar_data目录。某一步失败时,点右上角"Open Log"导出客户端日志,定位会快很多。
场景落地速查
三个常见场景,各一句话:
| 场景 | 关键配置 | 预期效果 |
|---|---|---|
| 教育课程录课 | 文案驱动+批量脚本,RTX 4070及以上显卡 | 一套素材出多节课,不用反复重拍 |
| 企业培训客服 | 多模特共存,统一标准音色脚本 | 7×24标准口播,培训材料风格统一 |
| 自媒体口播 | 音频驱动模式,直接喂现成配音 | 复用旧配音素材,省去重新录制 |
教育场景重批量:课程文案写好,循环调合成接口批量出片。企业培训重一致:脚本和音色统一,避免不同讲师素材带来的风格漂移。自媒体重速度:音频驱动模式直接吃旧配音,只换形象不换声音。
想深入?这些路径值得收藏
- 接口实现:训练、视频合成、声音三组调用的完整逻辑在 src/main/service/,对照着看就知道客户端到底调了哪些接口。
- 前端入口:页面逻辑都在 src/renderer/src/views/,模特创建、视频生成的组件和界面对应。
- 部署配置:deploy/ 下有Windows、Linux、50系显卡、lite四套compose文件,按需取用。
- 排障指南:卡住了先读 doc/常见问题.md,多数问题收敛为"服务没Running"和"驱动没装好"两类。
服务行为异常时,直接看容器日志,TTS服务的关键报错都在日志区里:
性能调优两个方向:配置低的机器切lite版,只起合成容器;合成量大时盯显存,紧张就先把素材视频分辨率降下来。
Duix.Avatar把"做一个数字人"压缩成上传10秒素材和点一次按钮。整条链路开源,意味着声音参数、口型管线、输出格式都能被你自己延伸。数字人视频生成的门槛,已经低到一次外包拍摄的预算以下。
【免费下载链接】Duix-Avatar🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning.项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考