说明:
此文档主要用于个人 记录百度mrcpserver2020-06-30安装部署的过程,百度官方文档README下有具体安装配置过程。
本次使用百度语音提供的mrcpserver服务,语音识别(ASR)和语音合成(TTS)两种能力。
官方地址: https://ai.baidu.com/ai-doc/SPEECH/8kay0g6pq
一、程序安装
- 上传sdk_asr_MRCPServer-20xxxxxx.tar.gz至 opt/目录下;
- 解压sdk,
tar xvzf sdk_asr_MRCPServer-20200609.tar.gz
- 执行/opt/MRCPServer/下的bootstrap.sh脚本(使用root权限);
sh bootstrap.sh
如下图:
确认解压完后路径是形如:/opt/compiler/gcc-8.2/的形式。
3. 修改/opt/MRCPServer/mrcp-server/conf/unimrcpserver.xml配置,如下:
配置unimrcpserver服务IP—本机IP
sip端口默认5060可酌情修改。
-
修改/opt/MRCPServer/mrcp-server/conf/unimrcpclient.xml配置,如下:
配置unimrcpclient 客户端,这里配置本机IP, -
配置语音合成TTS
修改/opt/MRCPServer/mrcp-server/conf/mrcp-proxy.conf
从百度官网中获取的APPID和API Key的值; -
配置语音识别ASR
修改/opt/MRCPServer/mrcp-server/conf/mrcp-asr.conf
从百度官网中获取的APPID和API Key的值; -
健康检查接口:---- 我这未做配置,可查看百度官方MRCP文档;
根据在unimrcpserver服务配置中手动修改的server ip,在./conf/unimrcpserver_control.conf文件,将其中的_check_cmd_pro中的启动监听的ip值设置为相应的server ip ;
-
启动mrcpserver服务,
# 进入/opt/MRCPServer/mrcp-server/路径
/opt/MRCPServer/mrcp-server/
启动方法一:
(一般的,在调试部署初期,可以使用如下命令启动程序,可查看输出,方便定位问题):
如下图:
启动方法二:
(做为服务程序运行时,建议使用提供的supervise以守护进程的形式启动. 使用./bin/unimrcpserver_control start/stop/restart进行程序的启动/停止/重启):
以下命令需在/mrcp-server目录下执行
cd /opt/MRCPServer/mrcp-server/
# 启动
./bin/unimrcpserver_control start
# 停止
./bin/unimrcpserver_control stop
# 重启
./bin/unimrcpserver_control restart
- 常用命令:
#-- 查看mrcp服务
ps aux | grep mrcp
#--查看端口
netstat -nlp | grep unimrcp
二、程序验证
- 首先,将mrcp-server/lib目录加入系统环境变量中
参考:export LD_LIBRARY_PATH=${SERVER_ROOT}/mrcp-server/lib:$LD_LIBRARY_PATH
,注意将${SERVER_ROOT}修改为程序真实路径
-
在MRCPServer主程序启动后,配置测试工具;
修改conf/client-profiles/unimrcp.xml配置,
需要将其中的 unimrcpclient->settings->sip-settings->server-ip的值修改为本机IP,
端口设置为主程序端口(根据MRCPServer服务端口配置)。如下:
** 注:该工具只为测试部署正确性,测试较长音频时,会因为vad截断而只识别音频里的第一句话;只支持pcm格式音频识别;该工具也不支持批量音频识别** -
切换到 ${SERVER_ROOT}/mrcp-server/bin 目录下,验证语音识别正确性,
cd /opt/MRCPServer/mrcp-server/bin/
- 使用百度自带的测试工具进行测试,验证语音识别正确性
# -- 开始测试
./asrclient
#-- 运行grammar.xml xeq.pcm
run grammar.xml xeq.pcm
可看到返回的识别结果,证明配置成功,如下图:
使用 quit 退出;