在Jetson TX2 开发板上安装wukong-robot遇到的一些错误,详细全教程

时间:2024-05-23 19:57:12

在Jetson TX2 开发板上安装wukong-robot
因为TX2容量太小,以至于编译完后删了一些包,所以后面截图都是用的博主虚拟机里的截图,请多包涵。

1、克隆仓库,首先下载wukong-robot 源码

git clone https://github.com/wzpan/wukong-robot.git

2、安装 sox ,ffmpeg 和 PyAudio:

	sudo apt-get install python-pyaudio python3-pyaudio sox pulseaudio libsox-fmt-all ffmpeg
	pip3 install pyaudio

3、安装依赖库

	cd wukong-robot
	pip3 install -r requirements.txt

4. 编译 _snowboydetect.so(重点)

需要先装SWIG

	wget http://hahack-1253537070.file.myqcloud.com/misc/swig-3.0.10.tar.gz
	tar xvf swig-3.0.10.tar.gz
	cd swig-3.0.10
	sudo apt-get -y update
	sudo apt-get install -y libpcre3 libpcre3-dev
	./configure --prefix=/usr --without-clisp --without-maximum-compile-warnings
	make
	make install
	install -v -m755 -d /usr/share/doc/swig-3.0.10
	sudo cp -v -R Doc/* /usr/share/doc/swig-3.0.10
	sudo apt-get install -y libatlas-base-dev

如果提示找不到 python3-config 命令,你还需要安装 python3-dev:

	sudo apt-get install python3-dev  # 注意 Ubuntu 18.04 可能叫 python3-all-dev

平常我们的工作将snowboy编译,sudo make就可以了,但是在TX2上会报错 …/…//lib/ubuntu64/libsnowboy-detect.a:无法添加符号: 文件格式错误
erre adding symbols: File in wrong format - Ubuntu(arm64)
在Jetson TX2 开发板上安装wukong-robot遇到的一些错误,详细全教程
原因是因为架构不一样,在这里预编译的文件为x86-64下的,需进行修改

 wget http://hahack-1253537070.file.myqcloud.com/misc/snowboy.tar.bz2  # 使用潘伟洲fork出来的版本以确保接口兼容
 tar -xvjf snowboy.tar.bz2

我们解压snowboy 看到lib目录下有对应预编译的libsnowboy-detect.a
pwd 查看一下所在路径
在Jetson TX2 开发板上安装wukong-robot遇到的一些错误,详细全教程
cd snowboy/swig/Python3
在Jetson TX2 开发板上安装wukong-robot遇到的一些错误,详细全教程
在这里我们可以看到链接的为Ubuntu64里的libsnowboy-detect,a文件,需要修改为之前目录
lib/aarch64-ubuntu1604/libsnowboy-detect.a
在Jetson TX2 开发板上安装wukong-robot遇到的一些错误,详细全教程
这样以后应该能够make成功了,我们将编译生成的_snowboy-detect.a,拷贝到对应目录

   sudo make
   cp _snowboydetect.so <wukon-robot的根目录/snowboy/>

在Jetson TX2 开发板上安装wukong-robot遇到的一些错误,详细全教程

我这里是 cp _snowboydetect.so ~/wukong/wukong/snowboy
这里博主将自己编译好的_snowboydetect.so分享给大家
https://github.com/1046652786/TX2-snowboy
但是我使用过程中还遇到了一些问题 没有得到好的解决
在Jetson TX2 开发板上安装wukong-robot遇到的一些错误,详细全教程
初次使用会在~/.wukong/目录小生成config.yml文件
这个报错并不影响识别,具体为什么原因我也不清楚,尚未得到良好的解决方案,如果最开始没有成功唤醒 可以修改一下 ~/.wukong/config.yml
在Jetson TX2 开发板上安装wukong-robot遇到的一些错误,详细全教程
默认为0.4 这里调至0.55效果已经很好了
参考资料
[1] https://wukong.hahack.com/#/
[2] https://github.com/Kitt-AI/snowboy/issues/244