一个基于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密钥
git clone <your-repo-url>
cd fangyannpm install- 访问 阿里云DashScope
- 注册账号并获取Qwen API密钥
- 在应用中输入API密钥
npm run dev应用将在 http://localhost:8888 启动
npm run deployfangyan/
├── netlify/
│ ├── functions/
│ │ └── qwen-chat.mts # 核心云函数
│ └── netlify.toml # Netlify配置
├── dialect-practice.html # 主页面
├── dialect-app.js # 前端逻辑
├── dialect-style.css # 样式文件
├── package.json # 项目配置
└── README.md # 项目说明
支持以下action类型:
- speech-to-text: 语音识别
- generate-text: 文本生成
- text-to-speech: 语音合成
- validate-key: API密钥验证
- 选择方言:点击北京话、上海话或四川话
- 设置API密钥:点击右下角设置按钮,输入您的Qwen API密钥
- 开始练习:点击麦克风按钮开始语音对话
- 查看反馈:系统会提供发音评分和改进建议
- 标准普通话,儿化音特色
- 语音ID:Dylan
- 特点:儿化音、轻声、语调变化丰富
- 吴语方言,软糯动听
- 语音ID:Jada
- 特点:软糯、语调平缓、有独特的声调
- 西南官话,热情豪爽
- 语音ID:Sunny
- 特点:热情豪爽、语调起伏大、有独特的词汇
- API密钥本地存储,不上传服务器
- 所有API调用通过Netlify Functions代理
- 支持API密钥验证和权限检查
-
无法录音
- 检查浏览器麦克风权限
- 确保使用HTTPS或localhost
-
API调用失败
- 验证API密钥是否正确
- 检查账户余额和API配额
-
语音识别不准确
- 确保录音环境安静
- 说话清晰,语速适中
在浏览器控制台查看详细日志信息,包括:
- API请求/响应
- 语音处理状态
- 错误信息
- 在
dialectConfigs中添加配置 - 在CSS中添加样式
- 在HTML中添加选项
修改dialectVoiceMap中的voice ID,支持Qwen TTS的所有语音。
MIT License
欢迎提交Issue和Pull Request!
如有问题,请通过以下方式联系:
- 提交GitHub Issue
- 发送邮件至:[your-email@example.com]
注意:本项目需要阿里云Qwen API密钥才能正常使用。请确保您有足够的API调用额度。