库文件的下载

之前移植了pocketsphinx-0.8的语音识别库,这个库比较老了,所以重新移植一下最新版的库pocketsphinx-5prealpha。库文件的下载地址见:传送门
本文只下载了pocketsphinx-5prealpha.tar和sphinxbase-5prealpha.tar库文件,需要训练库的可自行下载。

pocketsphinx-5prealpha库的交叉编译

最新版库的移植可参考之前0.8版本的移植教程(传送门),不过在配置sphinxbase-5prealpha库时,也报了一些错误。
使用./configure --prefix=/home/ubuntu/sphinx --exec-prefix=/home/ubuntu/sphinx --host=arm-linux --target=arm CC=arm-xilinx-linux-gnueabi-gcc LDFLAGS="-L/usr/local/arm-alsa/lib" CPPFLAGS="-I/usr/local/arm-alsa/include " 指令的路径参考0.8版本的移植教程。配置时,报了如下错误:

Could not link test program to Python. Maybe the main Python library has been
  installed in some non-standard library path. If so, pass it to configure,
  via the LDFLAGS environment variable.
  Example: ./configure LDFLAGS="-L/usr/non-standard-path/python/lib"
  ============================================================================
   ERROR!
   You probably have to install the development version of the Python package
   for your distribution.  The exact name of this package varies among them.
  ============================================================================

在这里插入图片描述
解决方法;
网上说是需要依赖一些python 的文件,配置的时候没找到,需要安装新版的python库;不过如果我们不需要python的相关功能时,可以把python的一些功能个屏蔽掉,加入参数–without-python即可。使用如下命令即可:

./configure --prefix=/home/ubuntu/sphinx --exec-prefix=/home/ubuntu/sphinx --host=arm-linux --target=arm CC=arm-xilinx-linux-gnueabi-gcc LDFLAGS="-L/usr/local/arm-alsa/lib" CPPFLAGS="-I/usr/local/arm-alsa/include " --without-python
之后运行sudo make install 时,又报了以下错误:
libtool: line 8962: arm-xilinx-linux-gnueabi-gcc: command not found
在这里插入图片描述
解决方法;
网上说环境变量不对,可以修改环境变量,把指令的路径配置正确;不过也有个简单的解决方法,在指令的前面加上自己指令的绝对路径。把./configure 中参数 CC=arm-xilinx-linux-gnueabi-gcc改为绝对路径,我的arm-xilinx-linux-gnueabi-gcc是在路径:/opt/Xilinx/SDK/2015.4/gnu/arm/lin/bin/下,改成CC=/opt/Xilinx/SDK/2015.4/gnu/arm/lin/bin/arm-xilinx-linux-gnueabi-gcc 。路径换成自己指令的绝对路径即可。
清理刚才编译的错误内容,重新编译。

    make clean

运行

./configure --prefix=/home/ubuntu/sphinx --exec-prefix=/home/ubuntu/sphinx --host=arm-linux --target=arm CC=/opt/Xilinx/SDK/2015.4/gnu/arm/lin/bin/arm-xilinx-linux-gnueabi-gcc LDFLAGS="-L/usr/local/arm-alsa/lib"  CPPFLAGS="-I/usr/local/arm-alsa/include "   --without-python
make
sudo make install 

pocketsphinx-5prealpha库同上交叉编译即可。
最后安装完成的最新pocketsphinx-5prealpha库简单测试了一下,发现语音识别特别灵敏,有一点声音就会触发识别,误识别率挺高。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐