1. 主要目的
市面上大部分已建的呼叫中心,关于语音对接这部分,默认支持MRCP协议,为了实现和其他呼叫系统的快速对接,实现支持MRCP协议的语音引擎的开发是很重要的,为了将三方ASR/TTS的能力像插件一样集成到MRCP Server中,我们先研究MRCP Server的搭建。
在此感谢以下2篇文章的作者,为这次研究提供了非常好的思路和方法。
基于 UniMRCP 实现讯飞 ASR MRCP Server
在搭建过程中也遇到了一些小问题,以下会详细描述实际搭建步骤。
本文重点介绍如何搭建UniMRCP Server同时在安装了mod_unimrcp的FreeSWITCH上进行配置与测试,对于FreeSWITCH的安装可以参考下面的链接,对于mod_unimrcp在上面的github链接里也有介绍。
2. 配置编译UniMRCP Server
本文所有操作均在CentOS 7下进行,感谢由Github用户cotinyang提供的已经写好的集成讯飞SDK的UniMRCP Server源码,下个章节会介绍MRCP的关键流程和源码,并对集成讯飞ASR和TTS功能的源码和编译配置方式进行讲解,便于掌握其他语音引擎插件的集成开发能力。
(1) 源码下载
首先进行源码下载,直接下载已经进行了讯飞集成代码编写的版本:
cd /home/code/github/
git clone https://github.com/cotinyang/MRCP-Plugin-Demo.git
- 1
- 2
以上代码基于UniMRCP 1.5.0版本,如需下载最新版本可访问官网。
后续如果更新了UniMRCP的版本,我会在这里补充更新操作。
(2) 编译环境准备
cd MRCP-Plugin-Demo/unimrcp-deps-1.5.0
## 如果编译出现错误, 注释掉:107 ~ 109, getopt的set,其中存在不识别的option
## 编译生成apr, apr-util, target path: ./libs
./build-dep-libs.sh
## 过程中输入2次y并确认
- 1
- 2
- 3
- 4
- 5
(3) 编译安装
cd unimrcp-1.5.0
./bootstrap
./configure
make
make install
- 1
- 2
- 3
- 4
- 5
如果make报错,很可能是apr/apr-util版本问题,find了代码目录,发现有对应的版本,所以只需要关联就行,执行命令如下。
make clean
./configure --with-apr=/home/code/github/MRCP-Plugin-Demo/unimrcp-deps-1.5.0/libs/apr --with-apr-util=/home/code/github/MRCP-Plugin-Demo/unimrcp-deps-1.5.0/libs/apr-util
make
make install
- 1
- 2
- 3
- 4
(4) 测试运行
启动UniMRCP Server
cd /usr/local/unimrcp/bin
./unimrcpserver -o 3
- 1
- 2
启动UniMRCP Client
cd /usr/local/unimrcp/bin
./unimrcpclient
>help
usage:
- run [app_name] [profile_name] (run demo application)
app_name is one of 'synth', 'recog', 'bypass', 'discover'
profile_name is one of 'uni2', 'uni1', ...
examples:
run synth
run recog
run synth uni1
run recog uni1
- loglevel [level] (set loglevel, one of 0,1...7)
- quit, exit
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
输入run recog运行语音识别测试,run synth进行语音合成测试。
下一篇文章介绍基于 MRCP Server 的插件开发。
评论记录:
回复评论: