This commit is contained in:
superlishunqin 2025-09-15 03:31:12 +08:00
parent 72a6ec510b
commit 31c8c23f44

414
README.md
View File

@ -78,420 +78,6 @@ Deploy: Docker + 腾讯云服务器
## 🚀 核心功能
### 🎤 语音克隆工作流程
1. **语音样本采集**
- 支持在线录音和文件上传
- 自动音频格式转换(16kHz单声道WAV)
- 音频质量检测和优化
2. **智能语音识别**
- 基于FunASR的高精度语音识别
- 支持中文普通话识别
- 实时识别结果展示和编辑
3. **语音克隆生成**
- 3秒极速声音克隆
- 情感化语音合成
- 多种语音风格控制
4. **效果对比播放**
- 原声vs克隆声音并排对比
- 音频质量评分系统
- 用户体验反馈收集
### 🎨 预训练音色系统
- 8种精选儿童友好音色
- 支持中文、英文、粤语等多语言
- 特色音色:麦克阿瑟、东北娘们、舌尖上的中国等
### 🧠 自然语言控制
- 通过文字描述控制语音风格
- 支持情感化指令:"温柔甜美"、"活泼开朗"等
- 个性化语音定制
### 📊 智能评估体系
基于《3-6岁儿童学习与发展指南》的四维评估
- **语言理解与逻辑**权重30%):内容相关性、逻辑连贯性
- **语言表达与组织**权重40%):词汇丰富度、语法正确性
- **语言功能与思维拓展**权重20%):创新性、想象力
- **语言习惯与流畅度**权重10%):发音清晰度、语速
## 📁 项目结构
```
Happy_language/
├── 📁 app/ # Flask应用主目录
│ ├── 📄 __init__.py # 应用初始化
│ ├── 📁 models/ # 数据模型
│ │ ├── 📄 __init__.py # 用户、验证码等模型
│ ├── 📁 routes/ # 路由控制器
│ │ ├── 📄 auth.py # 认证相关路由
│ │ ├── 📄 main.py # 主页面路由
│ │ └── 📄 voice_test.py # 语音测试路由
│ ├── 📁 services/ # 业务服务层
│ │ └── 📄 cosyvoice_service.py # CosyVoice服务封装
│ ├── 📁 static/ # 静态资源
│ │ ├── 📁 css/ # 样式文件
│ │ ├── 📁 js/ # JavaScript文件
│ │ └── 📁 images/ # 图片资源
│ └── 📁 templates/ # HTML模板
│ ├── 📄 base.html # 基础模板
│ ├── 📄 index.html # 首页
│ ├── 📄 dashboard.html # 用户主页
│ ├── 📁 auth/ # 认证页面
│ └── 📁 voice_test/ # 语音测试页面
├── 📁 config/ # 配置文件
├── 📁 utils/ # 工具函数
├── 📁 logs/ # 日志文件
├── 📄 requirements.txt # Python依赖
├── 📄 run.py # 应用启动脚本
└── 📄 README.md # 项目说明文档
```
## 🛠️ 安装与部署
### 📋 环境要求
- Python 3.10+
- MySQL 8.0+
- Node.js 16+ (用于前端资源构建)
- Docker & Docker Compose (生产部署)
- 腾讯云账号 (COS存储)
### 🔧 本地开发环境搭建
1. **克隆项目**
```bash
git clone <repository-url>
cd Happy_language
```
2. **创建虚拟环境**
```bash
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
venv\Scripts\activate # Windows
```
3. **安装依赖**
```bash
pip install -r requirements.txt
```
4. **配置环境变量**
```bash
cp .env.example .env
# 编辑.env文件配置数据库、邮箱、云服务等信息
```
5. **初始化数据库**
```bash
flask init-db
```
6. **启动CosyVoice API服务**
```bash
# 在CosyVoice项目目录下
cd ~/CosyVoice2-Ex
python cosyvoice_api_server.py
```
7. **启动Flask应用**
```bash
python run.py
```
8. **访问应用**
```
http://localhost:50003
```
### 🐳 Docker部署
1. **构建镜像**
```bash
docker build -t happy-language .
```
2. **运行容器**
```bash
docker-compose up -d
```
3. **查看服务状态**
```bash
docker-compose ps
docker-compose logs -f app
```
## 📊 当前开发进度
### ✅ 已完成功能 (60%)
#### 🔐 用户认证系统 (100% 完成)
- ✅ 邮箱注册与验证
- ✅ 用户登录/登出
- ✅ 密码找回功能
- ✅ 会话管理
- ✅ 用户信息管理
#### 🎤 语音克隆核心功能 (90% 完成)
- ✅ 在线录音功能
- ✅ 音频文件上传
- ✅ 音频格式自动转换
- ✅ 语音识别(STT)
- ✅ 声音克隆生成
- ✅ 原声vs克隆声音对比播放
- ✅ 用户体验评分系统
#### 🎨 预训练音色系统 (100% 完成)
- ✅ 8种预训练音色支持
- ✅ 多语言语音合成
- ✅ 语速控制
- ✅ 随机种子生成
#### 🧠 自然语言控制 (80% 完成)
- ✅ 情感指令解析
- ✅ 语音风格控制
- ✅ 个性化语音生成
#### 💻 用户界面 (85% 完成)
- ✅ 响应式设计
- ✅ 现代化UI/UX
- ✅ 步骤化操作指引
- ✅ 实时状态反馈
- ✅ 移动端适配
#### 🏗️ 系统架构 (90% 完成)
- ✅ Flask Web框架
- ✅ MySQL数据库
- ✅ CosyVoice API集成
- ✅ 独立API服务器架构
- ✅ 音频处理管道
- ✅ 错误处理与日志系统
### 🚧 开发中功能 (25%)
#### 📊 智能评估系统 (30% 完成)
- 🔄 四维度评估算法实现中
- 🔄 LLM集成与优化
- 🔄 评估结果可视化
- ❌ 历史成绩对比分析
#### 🎯 场景学习系统 (10% 完成)
- 🔄 场景数据库设计
- ❌ 多主题对话场景
- ❌ 情境化学习内容
- ❌ 场景难度自适应
#### 📈 学习分析系统 (0% 完成)
- ❌ 学习轨迹追踪
- ❌ 进度可视化
- ❌ 个性化推荐
- ❌ 家长报告生成
### 📋 待开发功能 (15%)
#### 🎪 高级功能
- ❌ 跨语种语音克隆
- ❌ 实时语音互动
- ❌ 多人协作学习
- ❌ 语音情感分析
#### 🔧 系统优化
- ❌ 性能优化
- ❌ 缓存机制
- ❌ 负载均衡
- ❌ 自动化部署
#### 📱 移动端应用
- ❌ 原生App开发
- ❌ 离线功能支持
- ❌ 推送通知
- ❌ 家长监控端
### 🔬 实验验证 (0% 完成)
- ❌ 30人分组对照实验设计
- ❌ 实验数据收集
- ❌ 效果评估与分析
- ❌ 研究论文撰写
## 📈 性能指标
### 🎯 当前性能表现
- **语音克隆质量**:用户评分平均 4.2/5.0
- **语音识别准确率**:中文普通话 >95%
- **系统响应时间**:平均 <2秒
- **音频生成速度**3秒音频克隆约需10-15秒
- **并发支持能力**最多5用户同时使用
### 🎯 目标性能指标
- **语音克隆质量**:用户评分 ≥4.5/5.0
- **语音识别准确率**≥98%
- **系统响应时间**≤1秒
- **音频生成速度**:实时生成(RTF<1)
- **并发支持能力**≥50用户
## 🧪 使用示例
### 1. 新用户注册使用流程
```python
# 1. 用户注册
POST /auth/register
{
"email": "parent@example.com",
"name": "小明",
"age": 5,
"gender": 0,
"verification_code": "123456"
}
# 2. 登录系统
POST /auth/login
{
"email": "parent@example.com",
"password": "password123"
}
# 3. 进入语音克隆测试页面
GET /voice-test/voice-test
```
### 2. 语音克隆完整流程
```javascript
// 前端JavaScript示例
// 1. 上传音频样本
const formData = new FormData();
formData.append('audio', audioBlob, 'sample.wav');
fetch('/voice-test/api/voice-test/upload-audio', {
method: 'POST',
body: formData
});
// 2. 进行语音克隆
fetch('/voice-test/api/voice-test/generate/clone', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
text: '你好我是AI克隆的声音',
reference_audio_path: '/tmp/voice_clone_sample.wav',
reference_text: '原始录音内容',
seed: 42
})
});
```
## 🤝 贡献指南
### 🐛 Bug报告
- 使用Issue模板提交详细的bug报告
- 包含复现步骤、预期行为、实际行为
- 提供系统环境信息
### 💡 功能建议
- 描述功能需求和使用场景
- 说明对现有功能的影响
- 提供设计思路和实现建议
### 🔧 代码贡献
1. Fork项目仓库
2. 创建功能分支 (`git checkout -b feature/amazing-feature`)
3. 提交更改 (`git commit -m 'Add amazing feature'`)
4. 推送分支 (`git push origin feature/amazing-feature`)
5. 创建Pull Request
## 📞 联系与支持
### 👨‍💻 项目团队
- **研究生**[姓名]
- **指导老师**[姓名]
- **研究机构**[机构名称]
### 📧 联系方式
- **邮箱**project@example.com# 🎯 融合情感的语音克隆技术研究及其在幼儿园语言教育中的应用
> **让孩子"听自己说" - 创新的语音克隆技术在儿童语言学习中的应用**
[![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://python.org)
[![Flask](https://img.shields.io/badge/Flask-2.3.3-green.svg)](https://flask.palletsprojects.com/)
[![MySQL](https://img.shields.io/badge/MySQL-8.0+-orange.svg)](https://mysql.com)
[![CosyVoice](https://img.shields.io/badge/CosyVoice-API-red.svg)](https://github.com/FunAudioLLM/CosyVoice)
## 📖 项目概述
### 🎭 核心理念
本项目基于"让儿童听自己说"的创新理念通过先进的语音克隆技术为3-6岁幼儿创造一个自然、有趣、有效的语言学习环境。系统能够克隆儿童自己的声音让AI用孩子熟悉的声音进行教学从而显著降低学习焦虑提升学习动机。
### 🔬 技术创新
- **情感化语音克隆**基于CosyVoice的少样本语音克隆技术
- **智能语音识别**:自动识别儿童语音内容
- **多维度智能评估**基于《3-6岁儿童学习与发展指南》的四维评估体系
- **自适应教学策略**:根据评估结果动态调整教学内容
### 🎯 应用价值
- 解决儿童数字化语言学习中的"开口焦虑"问题
- 弥合技术与情感之间的"情感鸿沟"
- 提供个性化、自适应的语言学习体验
- 为幼儿园语言教育提供创新的数字化解决方案
## 🏗️ 系统架构
### 💻 技术栈
```
Frontend: HTML5 + CSS3 + JavaScript (ES6+)
Backend: Flask 2.3.3 + Python 3.10+
Database: MySQL 8.0+
AI Core: CosyVoice + 大语言模型(LLM)
Storage: 腾讯云 COS
Deploy: Docker + 腾讯云服务器
```
### 🏛️ 架构图
```
┌─────────────────────────────────────────────────────────┐
│ 用户界面层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Web UI │ │ Dashboard │ │ Test Page │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ Flask 应用层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Auth Routes │ │ Main Routes │ │Voice Routes │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ 业务服务层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │CosyVoice Svc│ │ Email Svc │ │ Auth Svc │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ 数据存储层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ MySQL │ │Tencent COS │ │Temp Storage │ │
│ │ Database │ │ Storage │ │ /tmp │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ 外部服务层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ CosyVoice │ │ LLM │ │ Email │ │
│ │ API Server │ │ Service │ │ Service │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
```
## 🚀 核心功能
### 🎤 语音克隆工作流程
1. **语音样本采集**
- 支持在线录音和文件上传