FreeSwitch采用mrcp协议对接科大讯飞asr和tts以及对话系统

您所在的位置:网站首页 电信怎么查套餐多少钱一个月了 FreeSwitch采用mrcp协议对接科大讯飞asr和tts以及对话系统

FreeSwitch采用mrcp协议对接科大讯飞asr和tts以及对话系统

2023-10-14 05:32| 来源: 网络整理| 查看: 265

最近由于有开发智能语音机器人的需求,需要使用语音识别(ASR)和文本语音转换(TTS)技术,老板指定使用科大讯飞的原子能力来提供这两项技术的支持。在语音侧,我们使用开源的软交换系统FreeSwitch来对接科大的接口。在与科大讯飞的技术支撑沟通后,确认ASR和TTS的对接采用mrcp协议,幸好FreeSwitch是支持这个协议的,下面就把整个对接的过程记录下。

首先我们得搞清楚这个mrcp协议的大体交互流程,主要是如下图。

mrcp一般是由客户端发起invite请求与服务器协商语音编码和mrcp通道信息,然后进行基于mrcp协议的asr信息和tts信息的交互,最后进行rtp语音流交互并返回识别信息直到挂机为止。

 FreeSwitch内部有一个mod_unimrcp的模块专门用来处理对接mrcp服务器,它的配置文件在conf/autoload_config/unimrcp.conf.xml中,主要的配置如下:

这其中最主要的是default-tts-profile和default-asr-profile的配置,它对应了ASR和TTS的配置文件,这个配置文件一般在conf/mrcp_profiles/下面,我们来看一下相关的配置:

这其中server-ip和server-port就是科大讯飞mrcp服务器的地址和端口。

在配置好后,我们就可以启动FreeSwitch进行应用了,我们可以在dialplan或者esl中调用App函数play_and_detect_speech来进行放音并识别的操作,典型的命令如下:

最终我们可以通过获取SWITCH_EVENT_DETECTED_SPEECH的事件信息得到ASR的文本。

以上是关于语音原子能力引擎的对接,至于智能机器人的对话系统,科大讯飞提供了DCM系统,它是通过http restful接口来交互的,这块比较简单,就不再赘述了。大家有什么问题的话欢迎私信沟通。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3