AI数字人项目

AI数字人项目

最近帮朋友做一个数字人项目,要实现上传一段自己的视频,生成一个自己的数字人。

实际上这个项目牵扯到很多技术,包括ASR,TTS,LLM,AIGC等等。前期调研技术就发现有很多实现方案,而且这些方案都在快速更新迭代中。

优云智算注册链接(送40元额度):优云智算

算法调研

目前调研的有几种相关算法,包括声音克隆算法,以及让声音和人像同步的人像生成算法:

声音克隆算法

上传用户自己的一段音频,然后克隆用户自己的音色,相关算法有:

GPT-Sovits

链接:RVC-Boss/GPT-SoVITS: 1 min voice data can also be used to train a good TTS model! (few shot voice cloning)

强大的声音克隆及TTS算法。

特点:

零样本语音合成: 输入一个 5 秒的语音样本,即可体验即时的文本到语音转换。
少样本语音合成:仅用 1 分钟的训练数据对模型进行微调,以提高语音相似性和真实感。
跨语言支持:对与训练数据集不同的语言进行推理,目前支持英语、日语、韩语、粤语和中文。
网页界面工具:集成的工具包括语音伴奏分离、自动训练集分割、中文语音识别和文本标注,帮助初学者创建训练数据集和 GPT/SoVITS 模型。

fish-speech

链接:fishaudio/fish-speech: SOTA Open Source TTS

零镜头和少镜头 TTS:输入 10 到 30 秒的人声样本以生成高质量的 TTS 输出。

多语言和跨语言支持:只需将多语言文本复制并粘贴到输入框中 - 无需担心语言。目前支持英语、日语、韩语、中文、法语、德语、阿拉伯语和西班牙语。

无音素依赖:该模型具有很强的泛化能力,TTS 不依赖音素。它可以处理任何语言脚本中的文本。

高度准确:5 分钟英文文本的 CER(字符错误率)和 WER(单词错误率)均较低,约为 2%。

快速:通过加速,Nvidia RTX 4060 笔记本电脑的实时系数约为 1:5,Nvidia RTX 4090 的实时系数约为 1:15。

WebUI 推理:具有易于使用、基于图形的 Web UI,与 Chrome、Firefox、Edge 和其他浏览器兼容。

GUI 推断:提供与 API 服务器无缝协作的 PyQt6 图形界面。支持 Linux、Windows 和 macOS。请参阅 GUI。

部署友好:轻松设置推理服务器,本机支持 Linux、Windows 和 MacOS,最大限度地减少速度损失。

数字人像生成算法

参考:(1) NewGenAI - YouTube

参考:刘悦的技术博客视频专辑-刘悦的技术博客视频合集

Wav2lip

链接:hyfevian/wav2lip384: wav2lip384生成器网格权重——来自不蠢不蠢

Rudrabha/Wav2Lip: This repository contains the codes of "A Lip Sync Expert Is All You Need for Speech to Lip Generation In the Wild", published at ACM Multimedia 2020. For HD commercial model, please try out Sync Labs

一个很老的唇形同步算法,训练后的wav2lip256/384模型已经商用。

Sonic

链接:jixiaozhong/Sonic: Official implementation of "Sonic: Shifting Focus to Global Audio Perception in Portrait Animation"

sonic是一个先进的音频驱动单图生成动图的算法。

腾讯团队于2025年1月开源的Sonic是一款专注于歌声驱动的数字人项目,其核心功能是通过音频驱动实现精准的唇形同步。该项目具有以下显著特点:

  1. 端到端优化
    Sonic采用轻量化设计,模型体积仅10G,在保持精度的同时大幅降低硬件要求。使用"甜品级"显卡即可实现10秒视频1分钟的快速渲染效率,这使得实时唇形合成成为可能。

  2. 多模态驱动能力
    除了常规语音驱动外,Sonic创新性地支持歌声驱动场景。通过分析音频频谱特征,系统能同步生成与歌唱韵律匹配的唇部动作,解决了传统技术中乐音与唇形关联性弱的问题。该项目还扩展支持全身数字人动画,突破了仅限面部同步的技术局限。

  3. 技术架构创新
    虽然公开资料未披露具体算法细节,但结合同期技术趋势分析(如中LatentSync的潜在扩散模型、中Wav2Lip的GAN架构),推测Sonic可能融合了以下技术:

    • 使用对比学习训练音频-唇形同步判别器(类似SyncNet架构)

    • 采用生成对抗网络实现像素级唇部运动合成

    • 引入时间一致性模块减少帧间闪烁问题

  4. 开源生态定位
    作为AIGC数字人工具链的重要组成部分,Sonic与DeepSeek、EDTalk等项目形成技术互补。其开源策略降低了数字人制作门槛,特别适合虚拟偶像、智能客服等需要多语言支持的场景(支持中英文等主流语言)。

LatentSync

链接:bytedance/LatentSync: Taming Stable Diffusion for Lip Sync!

LatentSync 是由字节跳动(ByteDance)联合北京交通大学开源的一种端到端唇形同步框架,基于音频条件的潜在扩散模型(latent diffusion models),能够生成高分辨率、动态逼真的唇同步视频。

核心特点

  1. 端到端框架
    LatentSync 采用端到端的方式,直接从音频生成唇部运动,无需中间的 3D 模型或 2D 特征点,简化了传统方法的复杂流程。

  2. 潜在扩散模型
    基于 Stable Diffusion 的强大生成能力,该框架能够捕捉复杂的音频-视觉关联,生成高质量的唇同步视频。

  3. 时间一致性增强
    为解决扩散模型在不同帧之间扩散过程不一致的问题,LatentSync 引入了时间表示对齐(TREPA)技术。通过大规模自监督视频模型提取时间表示,确保生成视频的时间一致性。

  4. 多语言支持
    LatentSync 支持多种语言的唇形同步,适用于国际内容的配音和本地化。

  5. 高分辨率视频生成
    该框架能够生成高分辨率的视频,同时避免了传统像素空间扩散方法对硬件资源的高要求。

WebUI

前面的算法实际上只是单个的算法,需要将TTS、数字人形象的算法结合,一般有大佬开发了整合包可以用。

LiveTalking框架

LiveTalking 是一个开源的实时互动数字人系统,致力于构建高质量的数字人直播解决方案。该项目采用 Apache 2.0 开源协议,集成了多项前沿技术,包括 ER-NeRF 渲染、实时音视频流处理和唇形同步等。

主要功能

  1. 支持多种数字人模型:包括 Ernerf、Musetalk、Wav2lip 和 Ultralight-Digital-Human。

  2. 音视频同步对话:实现数字人与用户的实时互动。

  3. 支持声音克隆:可以根据输入的声音生成对应的数字人语音。

  4. 支持多并发:系统优化了多并发处理,显存不会随并发数增加。

  5. 支持 RTMP 和 WebRTC 推流:适用于不同的直播和视频传输需求。

  6. 视频编排:在数字人不说话时可以播放自定义视频。

那么要运行这个demo,是需要大量GPU算力及显存的,有一个比较低成本的方案就是租服务器,这里试用过了优云智算,注册送40元额度。

邀请注册链接:https://passport.compshare.cn/register?referral_code=4oHxbgwLwYgDMhBarSx6V8

这里有一键部署livetalking的镜像:

部署成功后启动系统,运行代码:

# 1、启动程序

cd /workspace/GPT-SoVITS
conda activate sovits
python api_v2.py

cd /workspace/LiveTalking
conda activate nerfstream
python app.py --transport webrtc --model wav2lip --avatar_id wav2lip256_avatar1 --tts gpt-sovits --TTS_SERVER http://127.0.0.1:9880 --REF_FILE ~/zero_shot_prompt.wav --REF_TEXT 希望你以后能够做的比我还好呦

# 2、最后在浏览器里打开 http://serverip:8010/webrtcapi.html
#点击start,能看到数字人视频。然后输入文字并点击send,数字人会播报文字
#防火墙端口开放tcp 8010,udp 50000-51000

运行结果:点击start,然后输入文本,数字人就会说出输入的文本,还是比较清晰的。