大数跨境

如何在XSwitch中使用ASR及TTS(二)

如何在XSwitch中使用ASR及TTS(二) 小樱桃科技
2023-02-01
4
导读:如何在XSwitch中使用ASR及TTS(二)
在之前的文章如何在XSwitch中使用ASR及TTS中,我们一起了解了当前ASR/TTS技术的发展,学习了如何在XSwitch中配置云厂商的语音服务。当时主要介绍了阿里云的ASR/TTS对接方式,提到了XSwitch可以与华为、百度和讯飞等厂商的模块对接,在这篇文章中我们把XSwitch与这几个模块的对接方式补齐,方便各位选取自己需要的厂商的语音技术服务进行对接。
- 配置 XSwitch 连接华为云 -

- 华为云服务配置 -

  • 点击免费试用后下订单,选择区域:(注:此处的区域对应后续请求的 endpoint)
    可选的有 :
    华北-北京四 <----> cn-north-4
    华东-上海一 <----> cn-east-3
  • 选好后下单即可,等待服务生效。
- XSwitch 中配置 mod_huawei -
获取TOKEN配置:
在此,我们使用XSwitch内置的mod_huawei模块连接华为云。进入【AI】⇨【华为】⇨【huawei】,在【Setting参数】中填上获取Token需要填写的domianusernamepassword,这是华为云用户获取登录Token的需要设置的参数。
调用api之前需要进行认证鉴权,mod_huawei采用token认证,需要填写对应的终端节点、domain为用户所属的账号名称、usernamepasswd
  • 参考:https://support.huaweicloud.com/api-iam/iam_17_0002.html
  • 注:若账户是之前申请的华为云账户直接升级为华为账户,则本身的默认管理员账户为默认IAM用户,但其本身没有设置密码,故需要新增IAM用户,此时,构造获取token的请求json中的token里的domain为用户所属的账号名称,username和password为新增IAM用户的用户名和密码,需要区分。
各个参数获取方式:
  • region:为购买试用项目时所选区域对应的【区域ID】
  • token-url:为购买试用项目时所选区域对应的【区域ID】对应的获取token链接
    参考:https://support.huaweicloud.com/api-iam/iam_30_0001.html
  • domain:
    为用户所属的账号名称
    查看用户所属的账号名称:进入【控制台】=>右上角【用户名】=>点击【我的凭证】=>【API凭证】界面=>【账号名】
  • username和password(需要创建IAM用户
    进入【控制台】=>右上角【用户名】=>点击【统一身份认证】=>【用户】界面=>右上角【创建用户】
    然后设置好用户名和密码,对应填写。

TTS / ASR 配置:

在 TTS 和 ASR 参数中填上华为云交互的对应的tts-urlasr-urlproject-id
配置完成后,需要在【AI】⇨【华为】界面将配置文件的【启用】改为【是】,之后到【高级】⇨【系统管理】⇨【系统模块】中,找到mod_huawei,在控制列中点击【加载】,模块颜色由灰色变为黑色,表示加载成功。把启用改为【是】,以便下次XSwitch重启时能自动加载。
- 测试 TTS -
到【呼叫】⇨【路由】中,新建一条路由:
  • 名称:tts,也可以随意
  • 被叫字冠tts,也可以是其它号码,如1234
  • 呼叫源:default
  • 目的地类型:高级功能/系统
新出现的“文本”框中填入以下内容
answerspeak huawei|default|你好,欢迎致电烟台小樱桃网络科技有限公司
其中:
  • huawei:TTS引擎名称
  • default:TTS发音人,也可以使用华为提供的其它发音人名称,如chinese_xiaoyu_common等。
    参考普通发音人取值范围,需要确认是否购买了相应发音人服务。
提交后,用话机拨打tts号码就可以听到声音了。
也可以这样:
  
  
  
answerset tts_engine=huaweiset tts_voice=defaultspeak 你好,欢迎致电烟台小樱桃网络科技有限公司
- 测试ASR -
到【呼叫】⇨【路由】中,新建一条路由:
  • 名称:asr,也可以随意
  • 被叫字冠:asr,也可以是其它号码,如1234
  • 呼叫源:default
  • 目的地类型:高级功能/系统
新出现的“文本”框中填入以下内容:
answer set tts_engine=huaweiset tts_voice=defaultplay_and_detect_speech say:'你好,请说' detect:huawei defaultinfo log err $${detect_speech_result}
打开【高级】⇨【扩展功能】⇨【终端】就可以看到日志。上面使用了err级别的日志是为了红色能显示的更醒目,便于调试。
- 配置 XSwitch 连接百度云 -
百度云服务配置 -
  • 注册百度账号,进行认证;

  • 控制台点击【管理视图】,搜索【语音技术】;点击【应用列表】,创建应用,勾选需要的接口

  • 点击【应用详情】获取API Key 和 Secret Key

- XSwitch 中配置 mod_baidu -

在此,我们使用XSwitch内置的mod_baidu模块连接百度云。进入【AI】⇨【百度】,没有模式的话需要新建,默认模板即可。

创建【baidu】,点击进入设置,在【TTS】中填上【api-key】、【secret-key】;【ASR-WS】参数中填上在百度应用里面的【app-id】、【api-key】、【secret-key】。

配置完成后,需要在【AI】⇨【百度】界面将配置文件【baidu】的【启用】改为【是】,然后到【高级】⇨【系统管理】⇨【系统模块】中,找到mod_baidu,没有的话需要新建一个。在控制列中点击【加载】,模块颜色由灰色变为黑色,表示加载成功。把启用改为【是】,以便下次XSwitch重启时能自动加载。

- 测试 TTS -

到【呼叫】⇨【路由】中,新建一条路由:

  • 称:tts,也可以随意

  • 被叫字冠:tts,也可以是其它号码,如1234等

  • 呼叫源:default

  • 目的地类型:高级功能/系统

新出现的“文本”框中填入以下内容:

answerspeak baidu|default|你好,欢迎致电烟台小樱桃网络科技有限公司

其中:

提交后,用话机拨打tts号码就可以听到声音了。

也可以这样:

answerset tts_engine=baiduset tts_voice=defaultspeak 你好,欢迎致电烟台小樱桃网络科技有限公司

- 测试ASR -

到【呼叫】⇨【路由】中,新建一条路由:

  • 名称:asr,也可以随意

  • 被叫字冠:asr,也可以是其它号码,如1234

  • 呼叫源:default

  • 目的地类型:高级功能/系统

新出现的“文本”框中填入以下内容:

answer set tts_engine=baiduset tts_voice=defaultplay_and_detect_speech say:'你好,请说' detect:baidu_ws defaultinfo log err $${detect_speech_result}
打开【高级】⇨【扩展功能】⇨【终端】就可以看到日志。上面使用了err级别的日志是为了红色能显示的更醒目,便于调试。
- 配置 XSwitch 连接讯飞云 -

- 讯飞云服务配置 -

  • 注册讯飞账号,进行认证;

  • 控制台创建应用,点击应用名称即可进入应用内部;

  • 进入应用内部网页的即可获取服务接口认证信息【APPID】、【apisecret】、【apikey】。

- XSwitch 中配置 mod_xunfei -

在此,我们使用XSwitch内置的mod_xunfei模块连接讯飞云。进入【AI】⇨【讯飞】,没有模式的话需要新建,默认模板即可。

创建【xunfei】,点击进入设置,在【TTS】和【ASR】参数中填上在讯飞应用里面的【appid】、【apisecret】、【apikey】

配置完成后,需要在【AI】⇨【讯飞】界面将配置文件的【启用】改为【是】,然后到【高级】⇨【系统管理】⇨【系统模块】中,找到mod_xunfei,没有的话需要新建一个。在控制列中点击【加载】,模块颜色由灰色变为黑色,表示加载成功。把启用改为【是】,以便下次XSwitch重启时能自动加载。

- 测试 TTS -

到【呼叫】⇨【路由】中,新建一条路由:

  • 名称:tts,也可以随意

  • 被叫字冠:tts,也可以是其它号码,如1234等

  • 呼叫源:default

  • 目的地类型:高级功能/系统

新出现的“文本”框中填入以下内容:

answerspeak xunfei|default|你好,欢迎致电烟台小樱桃网络科技有限公司

其中:

  • xunfei:TTS引擎名称

  • default:TTS发音人,也可以使用讯飞提供的其它发音人名称,如aisjiuxu等,参考讯飞云平台应用里,发音人授权管理中开通的的发音人名称。

提交后,用话机拨打tts号码就可以听到声音了。

也可以这样:

answerset tts_engine=xunfeiset tts_voice=defaultspeak 你好,欢迎致电烟台小樱桃网络科技有限公司

- 测试ASR -

到【呼叫】⇨【路由】中,新建一条路由:

  • 名称:asr,也可以随意

  • 被叫字冠:asr,也可以是其它号码,如1234

  • 呼叫源:default

  • 目的地类型:高级功能/系统

新出现的“文本”框中填入以下内容:

answer set tts_engine=xunfeiset tts_voice=defaultplay_and_detect_speech say:'你好,请说' detect:xunfei defaultinfo log err $${detect_speech_result}

打开【高级】⇨【扩展功能】⇨【终端】就可以看到日志。上面使用了err级别的日志是为了红色能显示的更醒目,便于调试。

- 总结 -

本文主要是补充介绍了XSwitch中mod_huaweimod_baidumod_xunfei等几个模块与对应厂商提供的ASR/TTS服务的对接流程,具体在对接过程中可能会因为厂商方面的变动(如配置项名称,url变动等)而导致配置失效,这就需要使用者根据当时对接的厂商提供的文档相对应的进行调试,并使用好日志和厂商提供的错误代码文档,从而确定问题。

如果对有其他方面的感兴趣如使用MRCP方式进行调用或者是XSwitch中使用内置的离线ASR/TTS等,那么也欢迎再次阅读我们之前的文章如何在XSwitch中使用ASR及TTS

【声明】内容源于网络
0
0
小樱桃科技
FreeSWITCH 培训及解决方案、呼叫中心及指挥调度、电话软交换、VoIP、WebRTC\云通信系统等专业FreeSWITCH技术服务。
内容 165
粉丝 0
小樱桃科技 FreeSWITCH 培训及解决方案、呼叫中心及指挥调度、电话软交换、VoIP、WebRTC\云通信系统等专业FreeSWITCH技术服务。
总阅读484
粉丝0
内容165