PunithVT/ai-avatar-system
🎭 AI Avatar / digital human platform — upload a photo, clone a voice, talk to any face in real time with lip-sync video. Open-source, self-hosted. Claude · Whisper · Chatterbox · MuseTalk.
🎭 AvatarAI – 实时AI虚拟人平台
是什么 – 一个开源、生产就绪的系统,可将任意肖像照片和一段短语音样本转换为实时口型同步的会话式数字人。上传一张人脸,提供一段短语音,即可与该虚拟人进行实时口型同步对话。系统将LLM生成的文本流式传输,经TTS引擎处理,音频输入口型同步模型,再通过WebSocket将视频片段推送到浏览器,整个过程仅需数秒。
核心功能(如README所述)
| 功能 | 工作方式 | 关键细节 |
|---|---|---|
| 零样本语音克隆 | 使用 Chatterbox Multilingual;10–60秒音频即可在23种语言中生成合成语音。 | 无需外部API;可选回退链(Chatterbox → edge-tts → gTTS)。 |
| 逼真口型同步 | MuseTalk V1.5 作为持久GPU工作进程运行,在A10G GPU上以约30 FPS生成256×256的嘴部帧。 | 可回退至CPU基于的FFmpeg;可选GFPGAN人脸修复以获得更清晰输出。 |
| 流式LLM管道 | Whisper(STT)→ Claude / GPT-4o / 本地LLM(Ollama, vLLM, LM Studio)→ 按句子TTS → MuseTalk → WebSocket视频片段。 | LLM的令牌被流式传输,因此在AWS GPU上2–4秒内即可看到第一个视频片段。 |
| 打断(Barge-in) | 前端检测语音活动;发送停止信号可在毫秒内取消正在进行的回合。 | |
| 多LLM支持 | 云API(Claude, GPT-4o)或通过Ollama/vLLM/LM Studio的免费本地模型。 | |
| 认证与持久化 | JWT + http-only cookie,PostgreSQL(Alembic迁移)用于用户、虚拟人、对话历史;Redis用于限流和Celery任务队列。 | |
| 可观测性 | Prometheus指标,Celery Flower UI,可选Sentry集成,结构化日志。 | |
| 可部署性 | Docker-Compose用于本地开发(仅CPU)和GPU支持的生产环境;一键EC2部署脚本;Terraform用于托管ECS + RDS + ElastiCache + CloudFront。 | |
| 可扩展的虚拟人引擎 | AVATAR_ENGINE环境变量 – simple(无口型同步)、musetalk(默认)、可选liveavatar(高保真但需48–80GB VRAM)。 |
架构概览
浏览器(Next.js) FastAPI后端(Python)
├─ 虚拟人工作室(上传) ├─ WebSocket管理器(句子流式传输)
├─ 语音工作室(克隆) ├─ Whisper STT(faster-whisper, CUDA)
└─ 聊天UI(WebSocket视频) ├─ LLM适配器(Claude, GPT-4o, Ollama, vLLM)
├─ TTS(XTTS v2, Chatterbox, edge-tts)
└─ MuseTalk工作进程(GPU,持久)
数据存储:PostgreSQL(用户、虚拟人、对话),Redis(限流、Celery代理),本地文件系统或S3(上传、生成视频),Prometheus/Sentry(指标)。
快速启动(仅Docker,CPU开发)
git clone https://github.com/PunithVT/ai-avatar-system.git
cd ai-avatar-system
cp .env.example .env # 添加你的Anthropic或OpenAI密钥
docker compose up -d # 构建后端、前端、redis、postgres
- 前端:http://localhost:3000
- 后端API:http://localhost:8000(Swagger在 /docs)
- Celery Flower(可选):http://localhost:5555
尝试一个预设虚拟人:
backend/venv/bin/python scripts/seed_demo.py --with-voices
GPU / AWS部署
- 推荐实例:g5.xlarge(A10G,24 GB VRAM)– 约30 FPS口型同步。
- 一键EC2脚本(
scripts/deploy-aws.sh)安装Docker,拉取镜像,下载MuseTalk权重(约9 GB),并启用GPU透传启动堆栈。 - 完全托管设置:运行
infrastructure/中的Terraform文件(创建ECS服务、RDS、ElastiCache、S3 + CloudFront),然后执行bash deploy.sh production。
发展路线图亮点(来自README)
- RAG集成 – 添加向量存储检索以增强LLM响应。
- 更高保真视频引擎 – 比MuseTalk更适合离线渲染。
- 改进的人脸修复流程 – 更平滑地集成GFPGAN。
- 多虚拟人编排 – 支持与不同虚拟人同时对话。
谁会使用它?
- 开发者:构建商业AI助手或虚拟主播服务,需要一个现成的自托管堆栈。
- 研究人员:实验实时多模态流程(STT → LLM → TTS → 口型同步),无需拼接多个独立仓库。
- 内容创作者:寻找可本地运行、能用自己脸和声音定制的虚拟人。
总结 – AvatarAI是一个全栈式开源平台,覆盖从音频采集到动画视频输出的完整流程,支持云API和完全本地执行路径。它是实时AI虚拟人领域功能最完整的项目,已准备好用于生产部署或进一步研究。
相关
- 项目
- 项目
- 项目
- 项目
- 项目