基于 Live2D + Google Gemini AI 的实时语音交互虚拟助手
GeminiLive2d 是一个集成了 Live2D 虚拟形象和 Google Gemini AI 的实时语音对话系统。本项目基于 pixi-live2d-display 和 live2d-TTS-LLM-GPT-SoVITS-Vtuber 修改优化,专注于提供流畅的 AI 语音交互体验。用户可以通过语音与可爱的 Live2D 角色进行自然对话,角色会根据音频实时同步口型动画,带来生动有趣的交互体验。
- 🎭 Live2D 数字人展示 - 支持多个精美的 Live2D 模型
- 🎙️ 实时语音对话 - 基于 Google Gemini 2.5 Flash 的原生音频对话
- 👄 智能口型同步 - 音频驱动的实时口型动画(优化算法)
- 🔊 Edge TTS 语音合成 - 多种中文语音选择
- 🎨 个性化定制 - 自定义背景、模型切换、参数调节
- 📊 实时音频分析 - 可视化音频波形和参数监控
- 🚀 简化架构 - 专注核心功能,代码更简洁易维护
- Node.js 14.0 或更高版本
- 现代浏览器(支持 Web Audio API)
- Google Gemini API 密钥(获取地址)
- 克隆仓库
git clone https://github.com/kellyzxiaowei/GeminiLive2d.git
cd GeminiLive2d- 安装依赖
npm install- 启动服务器
npm start
# 或
node app.js- 访问应用
打开浏览器访问
http://localhost:3000
- 访问 Google AI Studio 获取 API 密钥
- 在应用界面中输入 API 密钥并保存
- 点击"开始对话"即可与 AI 数字人聊天
- 模型切换:在下拉菜单选择不同的 Live2D 模型
- 语音对话:点击"🎤 开始对话"按钮开始录音
- 拖拽移动:按住鼠标左键可拖动角色位置
- 背景设置:支持纯色背景或上传自定义图片
- 支持上传音频文件播放
- 实时麦克风输入
- 灵敏度调节
- 音频可视化分析
- 语音灵敏度调节
- 会话重置
- 实时状态监控
- 参数实时监控面板
- 调试日志输出
- 音频分析可视化
- Live2D Cubism 4 - 虚拟形象渲染
- PIXI.js - 2D 渲染引擎
- Web Audio API - 音频处理与分析
- Google Generative AI SDK - Gemini AI 集成
- Node.js + Express - Web 服务器
- Edge TTS - 文字转语音
- Multer - 文件上传处理
- EJS - 模板引擎
GeminiLive2d/
├── app.js # Express 服务器主文件
├── index.html # 主页面(AI语音对话)
├── config.json # 模型配置文件
├── package.json # 项目依赖配置
├── js/ # 前端库文件
│ ├── live2d.min.js
│ ├── pixi.min.js
│ └── ...
├── models/ # Live2D 模型资源
│ ├── EVA RIN normal/
│ ├── Hiyori/
│ ├── March 7th/
│ ├── Nova - F/
│ ├── kei_vowels_pro/
│ └── pachan/
└── uploads/ # 用户上传文件存储
项目包含以下预设模型:
- EVA RIN normal - 活泼可爱的虚拟角色
- Hiyori - 经典 Live2D 示例模型
- March 7th - 精美的游戏角色
- Nova - F - 未来科技风格
- kei_vowels_pro - 专业口型同步模型
- pachan - 萌系动物角色
编辑 config.json 文件设置默认模型:
{
"model_path": "kei_vowels_pro"
}- 麦克风灵敏度:1-10,默认值 4.0
- AI语音灵敏度:0.5-5,默认值 2.0
GET /- 主页面GET /edit_config- 更新模型配置GET /edge_tts- Edge TTS 语音合成POST /upload- 上传背景图片
本项目基于以下优秀开源项目修改和优化:
- pixi-live2d-display - PIXI.js 的 Live2D 显示库
- live2d-TTS-LLM-GPT-SoVITS-Vtuber - Live2D + TTS + LLM 虚拟主播系统
在原项目基础上,我们进行了以下改进:
-
AI 语音对话升级
- 集成了 Google Gemini 2.5 Flash 原生音频对话功能
- 支持实时语音识别和 AI 回复
- 优化了对话延迟和响应速度
-
口型同步优化
- 改进了音频驱动的口型同步算法
- 增加了 Gemini 专用的音频分析器
- 实现了更自然的口型动画过渡
-
架构简化
- 移除了复杂的多页面系统
- 专注于核心的 AI 语音对话功能
- 统一了所有功能到单一页面,提升用户体验
-
用户体验增强
- 改进了用户界面设计
- 添加了实时调试和监控面板
- 优化了音频可视化效果
- 如果您正在使用
live2d-TTS-LLM-GPT-SoVITS-Vtuber,本项目可作为一个轻量级替代方案 - 本项目移除了 GPT-SoVITS 和 Ollama 支持,专注于 Gemini AI 集成
- 保留了核心的 Live2D 显示和音频驱动口型功能
- 代码结构更简单,适合作为二次开发的基础
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
本项目采用 MIT 协议开源 - 查看 LICENSE 文件了解详情
注意:本项目基于其他开源项目修改,使用时请同时遵守原项目的开源协议:
- pixi-live2d-display - MIT License
- live2d-TTS-LLM-GPT-SoVITS-Vtuber - 请查看原项目协议
特别感谢以下项目和作者,没有他们的开源贡献就没有本项目:
- RaSan147 - pixi-live2d-display 项目作者,提供了优秀的 Live2D 显示基础
- v3ucn - live2d-TTS-LLM-GPT-SoVITS-Vtuber 项目作者,提供了完整的虚拟主播系统框架
- Live2D Inc. - Live2D 技术
- Google AI - Gemini AI 模型
- PIXI.js - 2D 渲染引擎
- 所有模型创作者和贡献者
如果您觉得本项目有帮助,请也给原项目点个 Star ⭐️
- 项目主页:https://github.com/kellyzxiaowei/GeminiLive2d
- Issue 反馈:GitHub Issues
Made with ❤️ by kellyzxiaowei