# 数字人AI项目 **Repository Path**: kingdess/live2d ## Basic Information - **Project Name**: 数字人AI项目 - **Description**: 低成本开发的ai数字人项目 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 3 - **Created**: 2025-03-24 - **Last Updated**: 2026-03-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Live2D AI助手 一个结合Live2D模型与AI对话功能的交互式Web应用,支持语音合成、口型同步和情感表达。 ## 主要功能 ### Live2D模型展示 - 支持Cubism 4格式的Live2D模型加载与展示 - 内置多个模型,可轻松切换 - 针对模型切换进行了彻底优化,确保旧模型资源完全清理,避免重叠问题 - 自动调整模型大小适应不同屏幕尺寸 ### AI对话系统 - 整合Ollama API,支持多种语言模型(如deepseek-r1:7b、qwen2:0.5b等) - 流式响应,实时显示AI回复 - 可自定义角色设定,调整温度和top-p参数 - 对话历史保存和显示 ### 语音合成与口型同步 - 使用Edge-TTS进行高质量语音合成 - 精确的口型同步系统,根据音频音量实时调整模型嘴型 - 可调节嘴巴开合强度和眨眼频率 - 支持音量控制和音频播放/暂停 ### 情感表达系统 - 根据对话内容自动分析情感,触发相应表情和动作 - 支持多种表情:开心、悲伤、惊讶、生气、害羞、疑惑 - 表情参数平滑过渡,动画效果自然 - 可触发多种动作:打招呼、点头、摇头、思考、跳舞 ### 界面与背景设置 - 简洁美观的用户界面,分区域显示各功能控制 - 支持纯色背景和图片背景切换 - 内置多个预设背景图片 - 支持自定义背景图片URL ### 模型文件检查工具 - 内置模型文件完整性检查功能 - 自动检测并提示Git LFS指针问题 - 详细的模型文件诊断信息 - 提供故障排除建议 ## 技术优化 ### 内存管理优化 - 实现了完整的模型资源释放机制,彻底解决模型切换时旧模型未被清除的bug - 完全销毁旧模型实例及其纹理资源,防止内存泄漏 - 对PIXI舞台进行彻底清理,确保舞台完全重置 - 添加垃圾回收提示,帮助浏览器回收未使用资源 ### 音频处理优化 - 改进AudioContext初始化逻辑,解决音频上下文重复创建问题 - 优化音频分析器设置,降低资源消耗 - 改进音频数据处理算法,使口型同步更加自然 - 修复多个与音频播放相关的错误处理机制 ### 模型加载流程优化 - 添加详细的模型验证与检查流程 - 优化模型加载错误处理,提供更有用的错误信息 - 添加对Git LFS指针文件的检测,避免加载无效模型 - 改进模型格式检测逻辑,确保使用正确的引擎加载模型 ### 交互体验优化 - 实现表情参数的平滑过渡动画 - 优化眨眼动画,使其更加自然 - 改进情感分析算法,提高表情与对话内容的匹配度 - 添加用户界面响应式设计,适应不同设备 ## 安装与使用 ### 环境要求 - Python 3.8+ - Node.js 14+ (前端开发可选) - Git LFS (用于管理大型模型文件) ### 安装步骤 1. 克隆仓库 ``` git clone https://gitee.com/kingdess/live2d.git cd live2d ``` 2. 安装Python依赖 ``` pip install -r requirements.txt ``` 3. 下载或准备Live2D模型 - 将模型文件放置在`models`文件夹中 - 每个模型应有独立的子文件夹 4. 启动服务器 ``` python server.py ``` 5. 访问应用 - 打开浏览器访问 http://localhost:5000 ### 使用说明 1. 切换模型:从下拉列表选择模型,点击"更新模型"按钮 2. 检查模型文件:如果模型加载失败,点击"检查模型文件"进行诊断 3. 调整语音设置:选择语音类型,调整音量 4. 配置口型同步:启用/禁用口型同步,调整嘴巴开合强度和眨眼频率 5. 选择语言模型:从下拉列表选择Ollama语言模型,调整温度和top-p参数 6. 设置角色:在角色设定文本框中输入自定义角色描述 7. 发送消息:在输入框中输入消息,点击"发送"按钮或按回车键 8. 控制语音:使用"播放语音"和"停止语音"按钮控制语音播放 9. 更改背景:选择纯色背景或图片背景,并点击相应的更新按钮 ## 故障排除 如果模型加载失败: 1. 检查模型格式是否为Cubism 4(.model3.json) 2. 使用"检查模型文件"功能诊断问题 3. 确认模型文件不是Git LFS指针 4. 验证模型文件夹结构是否正确 如果口型同步不工作: 1. 确认已启用口型同步选项 2. 检查浏览器是否支持AudioContext API 3. 尝试点击界面上的按钮触发用户交互,以初始化AudioContext 4. 调整嘴巴开合强度参数 ## 贡献与反馈 欢迎提交问题报告和改进建议。 ## 许可证 本项目使用MIT许可证开源。