readme
This commit is contained in:
parent
36c3c45a0d
commit
2fd85692f9
443
README.md
443
README.md
@ -0,0 +1,443 @@
|
|||||||
|
# 🎯 融合情感的语音克隆技术研究及其在幼儿园语言教育中的应用
|
||||||
|
|
||||||
|
> **让孩子"听自己说" - 创新的语音克隆技术在儿童语言学习中的应用**
|
||||||
|
|
||||||
|
[](https://python.org)
|
||||||
|
[](https://flask.palletsprojects.com/)
|
||||||
|
[](https://mysql.com)
|
||||||
|
[](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. **语音样本采集**
|
||||||
|
- 支持在线录音和文件上传
|
||||||
|
- 自动音频格式转换(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
|
||||||
|
- **技术支持**:support@example.com
|
||||||
|
|
||||||
|
### 📚 学术引用
|
||||||
|
如果本项目对您的研究有帮助,请考虑引用:
|
||||||
|
|
||||||
|
```bibtex
|
||||||
|
@mastersthesis{emotional_voice_cloning_2024,
|
||||||
|
title={融合情感的语音克隆技术研究及其在幼儿园语言教育中的应用},
|
||||||
|
author={[作者姓名]},
|
||||||
|
year={2024},
|
||||||
|
school={[学校名称]},
|
||||||
|
type={硕士学位论文}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📄 许可证
|
||||||
|
|
||||||
|
本项目基于 [MIT License](LICENSE) 开源协议。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
|
||||||
|
**🌟 让每个孩子都能"听见"自己的声音,爱上语言学习 🌟**
|
||||||
|
|
||||||
|
*© 2024 融合情感的语音克隆技术研究项目. All rights reserved.*
|
||||||
|
|
||||||
|
</div>
|
||||||
Loading…
x
Reference in New Issue
Block a user