售前电话
135-3656-7657
售前电话 : 135-3656-7657
在如何在XSwitch中使用ASR及TTS中提到,XSwitch内置了很多ASR/TTS模块,但大多数的ASR/TTS服务都是云厂商提供的。使用这些服务不仅需要有相应的账号,而且大部分也需要付费才能使用。在开发测试时,有时用起来就不能随心所欲。 各类通信方案定制咨询:028-83110277
为方便大家开发与测试,XSwitch也提供了离线的ASR与TTS。
tts_commandline:该模块是XSwitch内置的模块,XSwitch提供了配套的espeak-ng,可以支持中文。
在命令行上加载模块:
当然,也可以在XUI界面上加载,殊途同归。
到【呼叫】?【路由】中,新建一条路由:
• 名称:tts,也可以随意
• 被叫字冠:tts,也可以是其它号码,如1234等
• 呼叫源:default
• 目的地类型:高级功能/系统
新出现的“文本”框中填入以下内容:
其中,zh表示是中文。
然后就可以呼叫tts进行测试了。
注意,espeak-ng放出来的声音不好听,但对于开发测试来说,有总比没有好。我们后续会给出一个更“好听”的使用方法,敬请期待。
mod_ai:XSwitch在mod_ai中提供了一个asr服务,可离线使用,效果还不错。使用开源的Vosk引擎。Vosk引擎比较小,但是模型文件比较大,因而需要单独下载。
首先,进入宿主机上的storage目录,创建vosk目录,如下:
到以下地址下载模型文件,解压后放到刚刚创建的vosk目录。
目前测试了以下几个模型:
• vosk-model-cn-0.1 8k
• vosk-model-small-cn-0.3 16k
• vosk-model-small-en-us-0.15 16k
• vosk-model-en-us-daanzu-20200328 16k
然后,到XUI上【AI】?【AI】?【default】中,配置Asr-Models,启用相应的模型配置。配置完成后【重载】模块。
简单使用:到【呼叫】?【路由】中,新建一条路由:
• 名称:asr,也可以随意
• 被叫字冠:asr,也可以是其它号码,如1234等
• 呼叫源:default
• 目的地类型:高级功能/系统
新出现的“文本”框中填入以下内容:
打开【高级】?【扩展功能】?【终端】就可以看到日志。上面使用了err级别的日志是为了红色能显示得更醒目。
上述命令中,也可以通过asr:ai:vosk-model-cn-0.1指定使用的模型。
使用方法:其中,asr engine参数语法为:
其中:model可以省略,如果省略,则使用能找到的第一个模型,如:
XCC中,不需要asr:前缀,用起来更高效。
在Lua中使用:
FreeSWITCH兼容用法(Lua):
其它:
mod_ai模块实现了:
• AI API:类似mod_httapi,但是用JSON代替XML
• ai ASR Interface:是一个XCC的ASR,仅用于xcc_detect_speech,不适用于在核心中调用。