四、修改ROS2离线语音交互模块代码
0x00 开发软件下载
这款ROS2离线语音交互模块的语音代码需要使用特定的IDE进行开发,代码修改很简单,只需要拖拉代码模块就可以完成。这里的IDE软件是天问Block软件,下载链接地址如下:
https://www.yuque.com/twen51/twblock/gnqm2nz8n9gzr68t
在下载页面往下拖动后,可以看到软件的版本更新记录,这里只显示当前的最新版本,后面软件肯定还会不断维护更新,大家到时候下载当时最新版本即可,IDE使用方法不会有太大变化。在下载时需要注意,由于软件放在语雀平台上,所以需要先微信扫码登录,然后就可以自动下载了,虽然软件很大,但是下载速度也很快,大约1分钟下载完成。
当然除了在语雀上下载,也可以从官方网站上下载该软件,只不过下载速度会慢不少,毕竟官网的带宽有限,官网下载地址如下:
http://www.twen51.com/new/twen51/art_show.php?id=230
0x01 软件安装
需要注意这款开发软件目前只能在Windows系统上运行,在Linux和Mac系统上都无法运行。这款软件安装其实也很简单,我们将下载好的zip压缩包软件解压后,就可以看到exe安装软件包,如下图所示:
接下来就可以双击软件安装了,安装选项尽量不要修改,安装过程很简单,具体的安装步骤如下各图所示:
0x02 软件配置
为了正常编译后面提供给大家的语音程序,需要先配置下软件才行,具体的配置步骤也比较简单,首先选择好语音主板模块为ASRPRO,然后配置编译模式,如下各图所示:
0x03 语音代码下载
对于我们这款ROS2离线语音交互模块的语音代码,我已经准备好一个demo代码,大家后续在该代码基础上修改即可。目前我们为这款语音模块创建了代码仓库,大家可以从如下地址中下载,需要重点关注ROS2_Offline_Voice_Module_Code.hd源码,该源码可以在天问Block中进行编辑修改:
https://code.xturtle.cn/corvin_zhang/ros2_offline_voice_module.git
我们可以使用git clone将代码仓库下载到本地,然后使用天问Block打开ROS2_Offline_Voice_Module_Code.hd源码编辑修改。
0x04 语音代码修改
当将语音代码仓库下载到本地后,我们就可以使用天问Block打开语音仓库中语音代码进行编辑修改,具体如下图所示:
如果想修改播报音,可以直接从下拉菜单选择其他发音人(当前默认为“湾湾小何-台湾口音女声”)。如果没有满意的,那可以从左侧的“语音识别”中选择其他语音模块,具体如下图所示:
如果在“播报音设置(虾哥语音)”模块里没有喜欢的发音人,那可以直接将代码里的该模块删掉。拖动一个其他播报音模块使用,例如“播报音设置(百度TTS)”模块,如下图所示:
0x05 代码编译上传
当我们修改好语音代码后,接下来就可以使用Type-C线连接好语音模块,然后将代码编译上传。这需要需要先注意连接的Type-C接口,如下图所示连接下载语音程序:
在连接好接口后,需要先生成语音模型,因为我们这款语音模块的语音功能都是提前生成好,不是在程序运行时实时生成的语音、唤醒词、命令词。在将程序上传到语音模块时,语音代码都是固定的,所以会节约硬件资源,上传程序的各步骤如下图所示:
到这里我们就已经介绍完了整个语音代码编译下载流程,然后将TypeC接口接到与ROS2系统通信的接口上,然后就可以使用micro_ros_agent来与我们这款ROS2离线语音交互模块建立连接通信了。
0x06 参考资料
[0]. 天问五幺官网-一站式单片机开发. http://www.twen51.com/new/twen51/index.php
[1]. ASRPRO资料下载. http://www.twen51.com/new/twen51/learning_show.php?id=565