模块 API

ASR(语音识别)

XSwitch 内置了很多 ASR 模块。ASR 的全称是 Automatic Speech Recognition,即自动语音识别。ASR 模块可以将用户的语音转换为文本,从而实现语音识别功能。

不同的 ASR 模块使用不同的引擎,大部分模块使用云端服务,如阿里、讯飞、百度等,也有的模块使用本地引擎。

VAD

ASR 跟 VAD 相关。VAD 即 Voice Activity Detection(语音活动检测),简单来讲,就是用于检测什么时候开始说话,什么时候结束说话。

很多 ASR 引擎都内置了 VAD 功能,一般都推荐使用 ASR 引擎内置的 VAD 功能。

ASR 参数中有几个与 VAD 相关的参数:

  • voice-ms:语音检测时间,单位毫秒。在这段时间内如果连续检测到语言则认为开始说话。
  • silence-ms:静音检测时间,单位毫秒。在这段时间内如果边续检测到静音则认为是结果讲话,推荐值为 500~700 毫秒。
  • threash:声音检测能量阈值。
  • vad-mode:VAD 模式,用于选择 VAD 引擎和模式。默认值为 -2,即使用 ASR 引擎内置的 VAD。

如果 ASR 引擎内置的 VAD 效果不好,也可以通过vad-mode参数选择其他的 VAD 引擎。以下是可用的 vad-mode 列表(注意,根据您使用的版本不同,并不是所有版本中都支持这些模式):

  • -2:默认,使用 ASR 引擎内置的 VAD。
  • -1:系统内置 VAD,简单 VAD。
  • 0:FVAD 0。
  • 1:FVAD 1。
  • 2:FVAD 2。
  • 3:FVAD 3。
  • 20:Silero VAD。

详见 VAD

通用参数

ASR 模块有一些通用参数。这些参数对理论上对所有引擎都有效。如果 ASR 模块通用参数与特定引擎相关参数重叠,推荐使用通用参数。

  • language:语言,不同的引擎有不同的格式,如zh-CN等。
  • no-input-timeout:无输入(未检测到通话)超时时间,单位毫秒。典型值5000
  • speech-timeout:语音超时时间,单位毫秒。典型值:15000
  • add-punc:是否添加标点符号。默认值为false
  • partial:是否返回识别中间结果。默认值为false

VAD 相关参数:

  • voice-ms:语音检测时间,单位毫秒。在这段时间内如果连续检测到语言则认为开始说话。若参数不存在则使用默认的时间(不同引擎默认值可能不同),推荐值为 60 毫秒。
  • silence-ms:静音检测时间,单位毫秒。在这段时间内如果边续检测到静音则认为是结果讲话,推荐值为 500~700 毫秒。
  • threash:声音检测能量阈值。

不同的引擎有不同的参数,详见各引擎相关的文档。

ASR 模块列表

欢迎