snowboy库由于很久没有迭代,一些配置对于64位raspberry pi需要修改才能使用
1.使用Golang语言开发
需要修改swig/Go/snowboy.go文件,改动如下:
package snowboydetect
/*
#cgo CXXFLAGS: -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=1
#cgo linux,arm64 LDFLAGS: -L${SRCDIR}/../../lib/aarch64-ubuntu1604 -lsnowboy-detect -lcblas
#cgo linux,amd64 LDFLAGS: -L${SRCDIR}/../../lib/ubuntu64 -lsnowboy-detect -lcblas
#cgo linux,arm LDFLAGS: -L${SRCDIR}/../../lib/rpi -lsnowboy-detect -lcblas
#cgo darwin LDFLAGS: -L${SRCDIR}/../../lib/osx -lsnowboy-detect -lcblas
*/
import "C"
其中主要改动点:
D_GLIBCXX_USE_CXX11_ABI值置为1;
添加这一行:
#cgo linux,arm64 LDFLAGS: -L${SRCDIR}/…/…/lib/aarch64-ubuntu1604 -lsnowboy-detect -lcblas
注意还需执行如下命令
sudo apt-get install -y jackd2
jack_control start
2.使用Python语言开发
可参考 这篇博文
3.其他
语音唤醒,考虑过使用porcupine,但目前代码不支持raspberry pi 5:
kunge@raspberrypi:~/Data/Code/goCode/src/github.com/Picovoice/porcupine/demo/go/micdemo $ go run porcupine_mic_demo.go -h
2024/08/17 22:44:03 Unsupported CPU:
0xd0b
exit status 1