跳转到内容

语音输入功能 ​

大屏端具备完整的语音输入(ASR)能力,涵盖麦克风录音、识别结果回填与错误处理。文本转语音(TTS)、播报控制与朗读文本清洗等内容,详见:文本转语音tts。


一、语音输入(ASR) ​

仅支持 HTTPS 或 localhost

语音输入依赖浏览器 getUserMedia API,该接口仅在安全上下文(Secure Context)中可用:

  • ✅ https:// 访问的页面;
  • ✅ http://localhost 或 http://127.0.0.1 本地调试;
  • ❌ 非 localhost 的 http://(如 http://192.168.x.x 这类内网 IP)会被浏览器禁用麦克风,导致无法录音。

若以 HTTP 形式访问非本地地址,请配置 SSL 证书改为 HTTPS,或改用文字输入。

大屏端(VaGlowInput.vue 麦克风按钮):

  • 点击开始录音(MediaRecorder),再次点击结束;录音中按钮红色呼吸光效。
  • 结束后 Blob(audio/webm) 以 multipart/form-data 上传 file + format=webm 到 /digital-human/asr/recognize。
  • 识别结果追加到输入框(已有内容以空格衔接),需用户确认后再发送。
  • 单次最长 60 秒,到点自动停止并识别;组件卸载时释放麦克风。
  • 错误提示 explainVoiceError 覆盖:非 HTTPS 安全上下文(HTTP 页面被浏览器禁用麦克风,给出改成 https / 用 localhost / 部署 SSL 的具体建议)、不支持 getUserMedia、权限被拒、无设备、设备被占用、启动失败等六类场景。

移动端的「按住说话」语音输入见 移动端与大屏交互。


二、文本转语音(TTS)与播报 ​

本菜单聚焦语音输入(ASR)。文本转语音(TTS)、语音播报控制、TTS 文本清洗与分段等内容,请移步【文本转语音tts】菜单查看:文本转语音tts。

数字人「小慧」项目文档