BQ-Wang0511/TalkLikeYou-Streaming-RealTime-Demo

Real-time browser demo for Talk Like You

TalkLikeYou – 实时对话头像演示

功能说明 – 一个基于浏览器的演示,可将静态肖像(或视频)转换为与上传音频、实时麦克风输入或聊天LLM生成语音同步的说话头像。它还能对现有视频进行配音,在保持原始姿态和时间轴的同时替换口部动作,也可作为聊天代理,将LLM回复、TTS音频和头像动画同步流式传输。

主要功能

  • 音频模式 – 上传图像头像,然后输入音频文件或实时麦克风输入;系统实时生成口部动作。
  • 视频配音模式 – 提供源视频和新音频轨道;演示保持原始头部姿态,仅替换与语音相关的口部动作。
  • 聊天代理 – 可连接任意OpenAI兼容的聊天、STT和TTS服务。用户输入(文本或语音)发送至LLM,回复以文本、合成语音和同步头像动画形式流式返回。
  • 预设说话风格 – “习惯ID”(如192、166、202)可让您在无需参考视频的情况下切换不同口部生成风格。
  • 实时性能 – 在NVIDIA RTX 3090上,系统运行速度超过30 FPS,GPU内存使用量低于4 GB,可呈现高清晰度面部细节。

工作原理(概览)

  1. 头像注册 – 上传的图像/视频经过处理,检测人脸、裁剪并缓存头像特征(包括中性口部动作模板)。此步骤每头像仅执行一次。
  2. 流式渲染器 – 音频按块(默认1秒)分割并输入至习惯条件口部动作生成器;流匹配姿态分支(或Ditto音频驱动姿态)提供头部动作。生成的帧与原始源图像合成后,流式传输至浏览器。
  3. 聊天集成 – 服务器将用户文本或录制语音转发至配置的LLM和TTS端点。每接收一个token/片段,即生成对应语音和头像帧并显示。

安装

# 创建conda环境(Python 3.10,CUDA 12.1,cuDNN 9)
conda env create -f environment.yaml
conda activate talklikeyou-demo
# 或手动安装PyTorch后:
pip install -r requirements.txt

要求:Linux,NVIDIA GPU,FFmpeg。

运行演示

cd TalkLikeYou-Streaming-RealTime-Demo
CUDA_VISIBLE_DEVICES=0 python app.py --host 0.0.0.0 --port 5070
# 在浏览器中打开 http://127.0.0.1:5070
  • 使用UI选择 音频、视频配音 或 聊天代理。
  • 上传图像(音频/聊天)或视频(视频配音),并注册头像。
  • 音频模式下,选择音频文件或启用 实时麦克风 并点击 开始流式传输。
  • 视频配音模式下,上传源视频和音频文件,开始流式传输。
  • 聊天代理模式下,通过环境变量(或 .env 文件)配置LLM/STT/TTS端点,并通过聊天框进行交互。

配置亮点

  • 习惯ID(Lip person ID)控制说话风格;推荐值为192、166、202。
  • 引导强度(Lip guidance、Pose guidance)调整模型对所选习惯的遵循程度。
  • 采样步数 – 实时设置为1步;步数越多,延迟越高。
  • 块大小 – Motion chunk (frames) 和 Audio chunk (seconds) 在延迟与吞吐量之间权衡。
  • Ditto姿态 – 启用后,图像头像使用Ditto的音频驱动姿态生成器;禁用后可选择姿态习惯。
  • 聊天代理 – 设置 TALKLIKEYOU_LLM_BASE_URL、TALKLIKEYOU_LLM_API_KEY 等指向任意OpenAI兼容服务;STT和TTS同理配置。

模型检查点

  • 从Hugging Face仓库 doubi-killer/TalkLikeYou 下载所需检查点,并按README说明放置在本地 checkpoints/ 目录中(音频编码器、lip_motion.pt、pose_motion.pt 和运行时资源)。
  • 演示附带 runtime_config.pkl,指向这些本地路径。

许可证

  • 演示代码:MIT许可证。
  • 第三方组件(Ditto、LivePortrait)保留其原始许可证(详见 THIRD_PARTY_NOTICES.md)。

适用人群

  • 探索实时口型同步和头像动画的研究人员。
  • 构建交互式虚拟代理、流式头像或视频配音工具的开发者。
  • 希望使用轻量级、本地运行的说话头像演示而无需云推理的创作者。

联系 – 问题可发送至 wangbaiqin0511@gmail.com。

相关

  • 项目
  • 项目
  • 项目