参考手册Workspace 包参考
asr 语音识别
将音频转成文字,支持批量识别和实时识别
这是什么
@01mvp/asr 是项目的语音识别包。ASR 是 Automatic Speech Recognition(自动语音识别)的缩写,简单说就是把音频文件(比如录音、会议记录)转成文字。
支持两个云服务商:阿里云 DashScope(通义千问的语音识别)和火山引擎(字节跳动的语音识别)。
能做什么
- 批量识别:上传一段音频文件(MP3、WAV 等),返回识别出的文字。适合处理录音、会议记录
- 实时识别:一边说话一边出文字,延迟很低。适合做语音输入、实时字幕(需要 PCM 格式音频,用火山引擎)
- 多语言支持:支持中文、英文、日文等语言识别
- 数字格式化:开启 ITN(Inverse Text Normalization,逆文本标准化)后,AI 念的"一千二百三十四"会自动变成"1234"
如果只需要识别录音文件(非实时),推荐用 DashScope,接入最简单。如果需要实时语音输入(边说边转文字),用火山引擎。两个厂商的 API Key 互不影响,可以同时配置。
怎么配置
# 阿里云 DashScope(推荐,简单好用)
DASHSCOPE_API_KEY=your-key
OPENAI_ASR_MODEL=qwen3-asr-flash # 快速模型,也支持 qwen3-asr-pro(更准)
OPENAI_ASR_LANGUAGE=zh
OPENAI_ASR_ENABLE_ITN=true
# 火山引擎(实时识别场景)
VOLCENGINE_APP_ID=your-app-id
VOLCENGINE_ACCESS_TOKEN=your-token大概原理
批量识别
你的代码上传音频文件(或给一个音频 URL)
-> 调用云服务 ASR API
-> 云端 AI 模型把语音转成文字
-> 返回文字结果实时识别(火山引擎)
你的代码发送 PCM 音频数据
-> 通过 WebSocket 持续传输
-> 云端一边接收一边识别
-> 实时返回识别片段选择哪个服务商
| 场景 | 推荐 | 原因 |
|---|---|---|
| 识别录音文件 | DashScope | 支持格式多,接入简单 |
| 实时语音输入 | 火山引擎 | 延迟低,支持流式(WebSocket) |
| 需要高准确率 | DashScope (pro 模型) | 精度更高 |
常见问题
音频格式不对怎么办? 大部分音频格式 DashScope 都能自动处理。如果是火山引擎实时识别,需要 16kHz、16bit、单声道的 PCM 格式。
识别结果不准确? 试试 qwen3-asr-pro 模型(比 flash 更准但稍慢),或者检查音频质量(背景噪音、音量大小)。