【睿尔曼-RealMan】语音模块常见问题及解决方法
Ron 2024-04-09
一、创建工作空间并编译
打开终端运行以下命令
mkdir -p 自定义空间名称/src
将xf_mic_asr_offline_line文件夹放入工作空间的src目录下,然后进行编译
cd 自定义空间名称
catkin_make
1. 配置 so 库需要根据不同的主控架构进行配置,如果是在 Jetson-Nano 或者树莓派等微型主控可以配置 arm 文件夹的 so 库文件,如果使用的是 Linux 笔记本或者装有虚拟机的主机,那么配置的 so 库可以选择 x64 文件夹。本文以x64为例。配置 so 库到/usr/lib 目录下,而且编译 CMakeLists.txt 文件内的库依赖也需要同步进行更新运行 。具体路径与命令如下。
CMakeLists.txt配置同步如下。
用户参数文件放置在功能包的 config 文件夹中,可以根据备注说明修改参数, 修改后不需要编辑即可直接运行 launch 文件启动,具体参数如下图 所示。
ROS 语音功能包需要运行两个指令 base.launch 和 mic_init.launch,
在catkin_ws工作空间下打开终端分别运行一下两条指令
roslaunch xf_mic_asr_offline_line base.launch
roslaunch xf_mic_asr_offline_line mic_init.launch
若运行mic_init.launch时出现11212报错,则表明离线资源已经过期,需要进行更换离线资源,以下为更换的整个流程。
二、离线语音注册
2.1、注册科大讯飞账号
> 打开科大讯飞开放平台网页,网址:https://www.xfyun.cn,注册账号。
2.2、创建应用
选择控制台→我的应用→创建新应用→填好对应资料后提交,可以看到自己的APPID。创建新应用会生成一个 APPID,与 SDK 中离线语音资源文件匹配。创建新应用试用期 90 天,若不购买服务,可以再次创建新应用重新替换 APPID 和离线
语音资源文件获得新的 90 天试用,每个实名制用户可以免费申请 5 个应用。
点击离线命令识别→下载Linux版本的SDK
2.3、替换common.jet
将下载的SDK解压,将解压后文件夹中bin/msc/res/asr下的common.jet文件拷贝到自己ROS工作空间下
的/home/user/catkin_ws/src/xf_mic_asr_offline_line/config/msc/res/asr,替换掉原来的common.jet。
2.4、替换APPID
打开/home/zjj/catkin_ws/src/xf_mic_asr_offline_line/config路径下的appid_params.yaml文件,将appid更改成自己的APPID,保存退出,改完之后需要重新编译功能包。
若再次运行base.launch 和 mic_init.launch指令出现11210错误,说明APPID与SDK不匹配,如图所示。
在/home/user/catkin_ws/src/xf_mic_asr_offline_line/src路径下的voice_control.cpp文件中需要更改为自己的APPID
再次运行base.launch 和 mic_init.launch,程序可以正常运行。
撰写评论