Skip to content

kellyvv/GeminiLive2d

Repository files navigation

GeminiLive2d - AI语音对话数字人系统

基于 Live2D + Google Gemini AI 的实时语音交互虚拟助手

Live2D Gemini Node.js License

🌟 项目简介

GeminiLive2d 是一个集成了 Live2D 虚拟形象和 Google Gemini AI 的实时语音对话系统。本项目基于 pixi-live2d-displaylive2d-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 密钥(获取地址

安装步骤

  1. 克隆仓库
git clone https://github.com/kellyzxiaowei/GeminiLive2d.git
cd GeminiLive2d
  1. 安装依赖
npm install
  1. 启动服务器
npm start
#
node app.js
  1. 访问应用 打开浏览器访问 http://localhost:3000

配置 Gemini API

  1. 访问 Google AI Studio 获取 API 密钥
  2. 在应用界面中输入 API 密钥并保存
  3. 点击"开始对话"即可与 AI 数字人聊天

📱 使用指南

基础操作

  • 模型切换:在下拉菜单选择不同的 Live2D 模型
  • 语音对话:点击"🎤 开始对话"按钮开始录音
  • 拖拽移动:按住鼠标左键可拖动角色位置
  • 背景设置:支持纯色背景或上传自定义图片

高级功能

音频驱动口型

  • 支持上传音频文件播放
  • 实时麦克风输入
  • 灵敏度调节
  • 音频可视化分析

AI 对话控制

  • 语音灵敏度调节
  • 会话重置
  • 实时状态监控

调试功能

  • 参数实时监控面板
  • 调试日志输出
  • 音频分析可视化

🛠️ 技术架构

前端技术栈

  • 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/           # 用户上传文件存储

🎨 Live2D 模型

项目包含以下预设模型:

  • 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

📝 API 接口

  • GET / - 主页面
  • GET /edit_config - 更新模型配置
  • GET /edge_tts - Edge TTS 语音合成
  • POST /upload - 上传背景图片

🔗 项目来源

本项目基于以下优秀开源项目修改和优化:

🎯 主要改进

在原项目基础上,我们进行了以下改进:

  1. AI 语音对话升级

    • 集成了 Google Gemini 2.5 Flash 原生音频对话功能
    • 支持实时语音识别和 AI 回复
    • 优化了对话延迟和响应速度
  2. 口型同步优化

    • 改进了音频驱动的口型同步算法
    • 增加了 Gemini 专用的音频分析器
    • 实现了更自然的口型动画过渡
  3. 架构简化

    • 移除了复杂的多页面系统
    • 专注于核心的 AI 语音对话功能
    • 统一了所有功能到单一页面,提升用户体验
  4. 用户体验增强

    • 改进了用户界面设计
    • 添加了实时调试和监控面板
    • 优化了音频可视化效果

🔄 与原项目的关系

  • 如果您正在使用 live2d-TTS-LLM-GPT-SoVITS-Vtuber,本项目可作为一个轻量级替代方案
  • 本项目移除了 GPT-SoVITS 和 Ollama 支持,专注于 Gemini AI 集成
  • 保留了核心的 Live2D 显示和音频驱动口型功能
  • 代码结构更简单,适合作为二次开发的基础

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 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 ⭐️

📧 联系方式


Made with ❤️ by kellyzxiaowei

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors