模块 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 引擎和模式。默认值为-1
,即使用 ASR 引擎内置的 VAD。
如果 ASR 引擎内置的 VAD 效果不好,也可以通过vad-mode
参数选择其他的 VAD 引擎。以下是可用的 vad-mode
列表(注意,根据您使用的版本不同,并不是所有版本中都支持这些模式):
-1
:默认,使用 ASR 引擎内置的 VAD。0
:系统内置 VAD,简单 VAD。1
:FVAD 1。2
:FVAD 2。3
:FVAD 3。20
:Silero VAD。
详见 VAD 。
通用参数
ASR 模块有一些通用参数。这些参数对理论上对所有引擎都有效。如果 ASR 模块通用参数与特定引擎相关参数重叠,推荐使用通用参数。
language
:语言,不同的引擎有不同的格式,如zh-CN
等。noinput-timeout
:无输入(未检测到通话)超时时间,单位毫秒。典型值5000
。speech-timeout
:语音超时时间,单位毫秒。典型值:15000
。partial
:是否返回识别中间结果。默认值为false
。
VAD 相关参数:
voice-ms
:语音检测时间,单位毫秒。在这段时间内如果连续检测到语言则认为开始说话。若参数不存在则使用默认的时间(不同引擎默认值可能不同),推荐值为60
毫秒。silence-ms
:静音检测时间,单位毫秒。在这段时间内如果边续检测到静音则认为是结果讲话,推荐值为500~700
毫秒。threash
:声音检测能量阈值。
不同的引擎有不同的参数,详见各引擎相关的文档。