参考手册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 更准但稍慢),或者检查音频质量(背景噪音、音量大小)。

相关链接