Skip to content

chaoleiyv/Dialect-Learning-Assistant

Repository files navigation

方言对练助手

一个基于Netlify Functions和阿里云Qwen API的智能方言练习应用,支持北京话、上海话、四川话的语音交互练习。

🌟 功能特性

  • 多方言支持:北京话、上海话、四川话
  • 语音交互:实时语音录制、识别和播放
  • AI智能回复:基于千问大模型的方言对话生成
  • 发音反馈:智能发音评分和改进建议
  • 现代化UI:响应式设计,支持移动端和桌面端

🏗️ 技术架构

  • 前端:原生JavaScript + HTML5 + CSS3
  • 后端:Netlify Functions (TypeScript)
  • AI服务:阿里云Qwen API
  • 语音处理:Web Audio API + MediaRecorder
  • 部署:Netlify平台

📋 系统要求

  • Node.js 16+
  • 现代浏览器(支持Web Audio API)
  • 阿里云Qwen API密钥

🚀 快速开始

1. 克隆项目

git clone <your-repo-url>
cd fangyan

2. 安装依赖

npm install

3. 获取API密钥

  1. 访问 阿里云DashScope
  2. 注册账号并获取Qwen API密钥
  3. 在应用中输入API密钥

4. 本地开发

npm run dev

应用将在 http://localhost:8888 启动

5. 部署到Netlify

npm run deploy

🔧 项目结构

fangyan/
├── netlify/
│   ├── functions/
│   │   └── qwen-chat.mts    # 核心云函数
│   └── netlify.toml         # Netlify配置
├── dialect-practice.html    # 主页面
├── dialect-app.js           # 前端逻辑
├── dialect-style.css        # 样式文件
├── package.json             # 项目配置
└── README.md               # 项目说明

📡 API端点

/api/qwen-chat

支持以下action类型:

  • speech-to-text: 语音识别
  • generate-text: 文本生成
  • text-to-speech: 语音合成
  • validate-key: API密钥验证

🎯 使用方法

  1. 选择方言:点击北京话、上海话或四川话
  2. 设置API密钥:点击右下角设置按钮,输入您的Qwen API密钥
  3. 开始练习:点击麦克风按钮开始语音对话
  4. 查看反馈:系统会提供发音评分和改进建议

🌐 支持的方言

北京话

  • 标准普通话,儿化音特色
  • 语音ID:Dylan
  • 特点:儿化音、轻声、语调变化丰富

上海话

  • 吴语方言,软糯动听
  • 语音ID:Jada
  • 特点:软糯、语调平缓、有独特的声调

四川话

  • 西南官话,热情豪爽
  • 语音ID:Sunny
  • 特点:热情豪爽、语调起伏大、有独特的词汇

🔒 安全特性

  • API密钥本地存储,不上传服务器
  • 所有API调用通过Netlify Functions代理
  • 支持API密钥验证和权限检查

🚨 故障排除

常见问题

  1. 无法录音

    • 检查浏览器麦克风权限
    • 确保使用HTTPS或localhost
  2. API调用失败

    • 验证API密钥是否正确
    • 检查账户余额和API配额
  3. 语音识别不准确

    • 确保录音环境安静
    • 说话清晰,语速适中

调试模式

在浏览器控制台查看详细日志信息,包括:

  • API请求/响应
  • 语音处理状态
  • 错误信息

📝 开发说明

添加新方言

  1. dialectConfigs中添加配置
  2. 在CSS中添加样式
  3. 在HTML中添加选项

自定义语音

修改dialectVoiceMap中的voice ID,支持Qwen TTS的所有语音。

📄 许可证

MIT License

🤝 贡献

欢迎提交Issue和Pull Request!

📞 支持

如有问题,请通过以下方式联系:


注意:本项目需要阿里云Qwen API密钥才能正常使用。请确保您有足够的API调用额度。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors