用途:为 Speak 语言学习集成搭建快速本地开发工作流,支持离线开发、音频测试与评分分析。
主要能力:提供模拟导师响应以便离线开发;提供音频测试夹具;提供调试模式用于发音评分分析;给出项目结构、开发脚本与错误处理建议。
使用方式:前置条件为完成 speak-install-auth 设置、Node.js 18+ 与 npm/pnpm、安装 ffmpeg。项目结构包含 src/speak 下的 client、tutor、pronunciation、audio 模块,tests 下的 mocks、fixtures、unit、integration,以及 .env.development 和 .env.test。通过 MockSpeakClient 类模拟 startConversation、sendTurn、assessPronunciation 等方法。可用系统 TTS 生成测试音频,如 macOS 的 say -v "Paulina" "Hola, como estas" -o tests/fixtures/hola-es.wav,Linux 的 espeak -v es "Hola, como estas" -w tests/fixtures/hola-es.wav,再用 ffmpeg -i tests/fixtures/hola-es.wav -ar 16000 -ac 1 tests/fixtures/hola-es-16k.wav 转换格式。开发脚本包括 dev、dev:mock(SPEAK_MOCK_MODE=true)、test、test:watch、lesson:test。调试模式通过 SPEAK_DEBUG 环境变量开启,输出逐词与音素评分。
适用场景:模拟优先开发,运行 npm run dev:mock 迭代 UI 与对话流程;音频质量测试,比较不同质量样本的发音评分以校准录音管线。
限制:需先完成认证设置;ffmpeg 未安装会报错;模拟模式需正确设置环境变量;测试音频建议不超过 30 秒;单元测试建议使用模拟模式避免超时。后续可参考 speak-sdk-patterns 获取生产级代码模式。