zedboard —pocketsphinx-5prealpha最新版庫移植至zedboard(七)
庫檔案的下載
之前移植了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
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庫簡單測試了一下,發現語音識別特別靈敏,有一點聲音就會觸發識別,誤識別率挺高。