1:freeswitch开启unimrcp模块
cd /usr/local/src/freeswitch-1.6.0
vim modules.conf
取消掉asr_tts/mod_unimrcp的注释”#”,然后保存
安装mod_unimrcp模块 在/usr/local/src/freeswitch-1.6.0目录下运行make mod_unimrcp-install
编辑vi /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml,添加或者去掉注释mod_unimrcp,让模块启动默认加载
vim /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml
2:设置freeswitch的profile文件与conf文件
在/usr/local/freeswitch/conf/mrcp_profiles目录下新建unimrcpserver-mrcp-v2.xml配置文件:
vim /usr/local/freeswitch/conf/mrcp_profiles/unimrcpserver-mrcp-v2.xml
然后输入以下内容(注意:端口填写百度MRCP的端口,一般是5060):
<include>
<!-- UniMRCP Server MRCPv2 -->
<!-- 后面我们使用该配置文件,均使用 name 作为唯一标识,而不是文件名 -->
<profile name="unimrcpserver-mrcp2" version="2">
<!-- MRCP 服务器地址和SIP端口号 -->
<param name="server-ip" value="192.168.16.4">
<param name="server-port" value="5060">
<param name="resource-location" value>
<!-- FreeSWITCH IP、端口以及 SIP 传输方式 -->
<param name="client-ip" value="192.168.16.4">
<param name="client-port" value="5069">
<param name="sip-transport" value="udp">
<param name="speechsynth" value="speechsynthesizer">
<param name="speechrecog" value="speechrecognizer">
<!--param name="rtp-ext-ip" value="auto"/-->
<param name="rtp-ip" value="192.168.16.4">
<param name="rtp-port-min" value="4000">
<param name="rtp-port-max" value="5000">
<param name="codecs" value="PCMU PCMA L16/96/8000">
<!-- Add any default MRCP params for SPEAK requests here -->
<synthparams>
</synthparams>
<!-- Add any default MRCP params for RECOGNIZE requests here -->
<recogparams>
<!--param name="start-input-timers" value="false"/-->
</recogparams>
</profile>
</include>
3:修改unimrcp.conf.xml文件
vi /usr/local/freeswitch/conf/autoload_configs/unimrcp.conf.xml
编辑修改default-tts-profile和default-asr-profile为我们新创建的unimrcpserver-mrcp2
4:设置拨号计划
vi /usr/local/freeswitch/conf/dialplan/default.xml
添加:
<extension name="ivr">
<condition field="destination_number" expression="^\b(8)\b$">
<action application="set" data="RECORD_TITLE=Recording ${destination_number} ${caller_id_number} ${strftime(%Y-%m-%d %H:%M)}">
<action application="set" data="RECORD_COPYRIGHT=(c) 2011">
<action application="set" data="RECORD_SOFTWARE=FreeSWITCH">
<action application="set" data="RECORD_ARTIST=FreeSWITCH">
<action application="set" data="RECORD_COMMENT=FreeSWITCH">
<action application="set" data="RECORD_DATE=${strftime(%Y-%m-%d %H:%M)}">
<action application="set" data="RECORD_STEREO=false">
<action application="set" data="RECORD_READ_ONLY=true">
<action application="set" data="media_bug_answer_req=true">
<action application="record_session" data="$${base_dir}/recordings/archive/${strftime(%Y-%m-%d-%H-%M-%S)}_${destination_number}_${caller_id_number}.wav">
<action application="lua" data="asr_tts_nlu.lua">
</action></action></action></action></action></action></action></action></action></action></action></condition>
</extension>
注意最下面的
以上修改完基本上就完成了freeswitch和百度MRCP集成,启动freeswitch后,找个坐席号比如1001,用eyebeam注册到freeswitch上,拨打8后,自动进入asr_tts_nlu.lua脚本
lua脚本可实现对接mrcp语音合成及识别、访问数据库、读取xml、呼转、IVR导航等功能,因为修改了很多版本,就不上传lua脚本了,有合作的可以mokeily99@126.com私信
Original: https://blog.csdn.net/mokeily99/article/details/125559131
Author: 十年一梦惊觉醒
Title: freeswitch呼叫中心之freeswitch集成百度MRCP智能语音
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/527039/
转载文章受原作者版权保护。转载请注明原作者出处!