首页 / 文档 / 语音 / 语音输入(ASR)

语音输入(ASR)

让通千算智听懂你说话:麦克风、语音消息与引擎配置

控制台麦克风

网页控制台输入框右侧的麦克风按钮走 POST /api/voice/asr: 浏览器用 MediaRecorder 录音 → 上传 → 后端调用识别引擎 → 把文字填回输入框。

三项必须配齐,否则按钮点了没反应:

json
{
  "speech_recognition": true,
  "voice_to_text": "ali",
  "ali_voice_api_key": "<你的语音服务 Key>"
}
注意

必须是 HTTPS。浏览器只在安全上下文(HTTPS 或 localhost)下允许访问麦克风, 用 http://公网IP:端口 打开页面时浏览器会直接拒绝授权。 自建部署请看公网访问加固里的 HTTPS 配置。

语音消息(微信等通道)

在微信等通道里,用户直接发语音消息也能识别,流程是:

代码
收到语音 → 下载音频(微信的 silk 格式需转码)→ 调用识别引擎 → 当作用户输入

配置项:

配置 说明
speech_recognition 单聊语音消息是否识别
group_speech_recognition 群聊里是否识别(群里噪音多,默认关闭)

引擎怎么选

引擎(voice_to_text) 适合场景 备注
ali(阿里云) 中文普通话、国内部署 中文识别效果好,与合成同厂商时 Key 可复用
openai 多语种、英文 需能访问 OpenAI
baidu / xunfei 国内传统方案 需要各自的 AppID/Key 组合
azure / google 海外/多语种 需配置区域

选型建议:中文为主选 ali,多语种选 openai/azure。 不要在识别引擎上省钱——识别错一个字,后面整段推理都偏了。

常见故障排查

现象 排查方向
点麦克风没反应/没权限提示 是否 HTTPS;浏览器麦克风权限是否被拒;系统输入设备是否可用
上传后一直转圈 识别引擎 Key 未配或无效;后端到引擎的网络是否通
识别出来是空白 音频太短/太吵;编码格式不被引擎接受
微信里发语音没反应 speech_recognition 是否为 true;音频转码依赖是否装齐
群聊里不识别 这是设计如此,需显式开启 group_speech_recognition

隐私说明

语音会上传到你配置的识别服务商。如果业务上不允许把语音发到第三方,请选择:

  1. 本地部署的离线识别(自建 custom 链路,或使用支持私有化的服务商);
  2. 关闭语音输入,仅使用文字。