前言

顶顶通用户在使用 asrproxy 程序识别时,说话很快或者说的很短,可asrproxy 日志却输出“ddtvoice appid:test fault:3 asr failed error:1 desc:silence”的错误。将用户说的话当成静音去处理。这种情况应当如何解决?

本文将围绕这个问题提供解决方法:


联系我们

有意向了解呼叫中心中间件的用户,可以点击该链接添加工作人员的微信:顶顶通小何的VX


提示:以下是本篇文章正文内容,下面案例可供参考

一、问题分析

将用户说的话当成静音去处理”这一情况是由语音识别模型中的一个参数决定的,解决该问题的方法很简单,只要找到该参数,并且修改该参数的值就可以了:

参数:speech_noise_thres
作用:

  • speech_noise_thres:speech的得分减去noise的得分大于此值则判断为speech,参数范围:(-1,1)
  • 取值越趋于-1,噪音被误判定为语音的概率越大,FA越高
  • 取值越趋于+1,语音被误判定为噪音的概率越大,Pmiss越高
  • 通常情况下,该值会根据当前模型在长语音测试集上的效果取balance

二、步骤

  1. 如果顶顶通用户使用的是 16K模型 ,在存放识别模型的目录中就有speech_fsmn_vad_zh-cn-16k-common-onnx这一模型,模型路径: /ddt/asrproxy/funasr 。在该模型文件夹中找到config.yaml配置文件并打开。
  2. 打开该配置文件并找到参数:speech_noise_thres,此时该参数默认的值为0.6,可以修改为0或是-0.6,然后保存并退出。
  3. 重启 asrproxy 程序,然后进行测试。通过输出日志观察此问题是否已经好转。
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐