pocketSphinx 在hi3516A上关键词唤醒
(版本为最新在github下载的代码,2017.7)
编译安装sphinxbase
根据README文档,先运行./autogen.sh
问题1:
缺少安装包bison,按照提示,安装bison即可
问题2:
提示cannot find input file:test/unit/test_ad/Makefile.in
去对应文件夹下,有Makefile.am存在,可能是命名的问题,写一个shell脚本复制一下,
#!/bin/bash
for x in test/unit/test_*
do cp $x/Makefile.am $x/Makefile.in; done
同样的错误,同样的解决方案,然后再执行,
提示:now type make to compile the packet
执行make
提示makefile :1:*** missing separator, stop
转到对应文件夹下(具体看输出信息):
找到Make file文件
if USE_LAPACK
maybe_lapack = XXXX
endif
if USE_THREADS
maybe_threads = XXXXX
endif
.....
一般提示missing separator是因为makefile不能将四个空格识别为Tab键,但是有些文本编辑器却这么写,
可以使用cat -v -t -e Makefile查看,’^I‘是Tab键
最终坚决方案如下:
ifenq ($(USE_LAPACK),)
maybe_lapack = XXX
endif
下面的if同样的处理
继续:
没有make all 的规则,去你妈的,这是github上的代码吗?果断去sourceforge去下载,
./autogen.sh
缺少,swig,安装重试,没问题
./configure
make
make check
make install
安装pocketSphinx
如果遇到relink的错误,好好看看readme,确保pocketSphinx依赖的库存在或者查看是否sphinxbase安装正确成功。
同样,按照readme的操作,
autogen.sh
./configure
make clean
make check
sudo make install
在这个过程中,**注意环境变量**,可以在etc/profile中配置如下
export