zedboard adau1761—pocketsphinx库移植至zedboard(六)

前言

CMU Sphinx(简称Sphinx)是美国卡内基梅隆大学开发的一系列语音识别系统的总称。在2000年,卡内基梅隆的Sphinx小组致力于开源几个语音识别器组件,包括Sphinx 2和后来的Sphinx 3(2001年)。 语音解码器带有声学模型和示例应用程序。可用资源包括声学模型训练软件,语言模型编辑软件和语音词典cmudict。
CMU Sphinx是一个领先的语音识别工具包,具有用于构建语音应用程序的各种工具。 CMU Sphinx包含许多用于不同任务和应用程序的开发包。 有时候,选择什么是令人困惑的。 下面来介绍一下每个开发包的用途:
Pocketsphinx — lightweight recognizer library written in C (C语言开发的轻量级语音识别引擎)
Sphinxtrain — acoustic model training tools (声学模型训练工具)
Sphinxbase — support library required by Pocketsphinx and Sphinxtrain (Pocketsphinx和Sphinxtrain的基础类库 )
Sphinx4 — adjustable, modifiable recognizer written in Java (Java语言开发的可调节、可修改的语音识别引擎)

sphinxbase 交叉编译安装

本人所使用的版本如下:
sphinxbase-0.8(sphinxbase-0.8.tar.gz)
pocketsphinx-0.8(pocketsphinx_0.8.tar.gz)
(1)解压sphinxbase-0.8.tar.gz

tar xjf sphinxbase-0.8.tar.gz

(2)进入解压的目录内

cd sphinxbase-0.8/

(3)配置./configure

./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 "

具体配置注释、LDFLAGS路径、CPPFLAGS路径见上一篇文章:
zedboard adau1761之音频播放—alsa lib 和alsa utils库移植至zedboard(四)
注意:这里的目录必须与alsa配置的目录一致(很关键),否则移植到板子上会出现打不开设备的问题,我当时移植的时候路径不一致,找了好久的原因。
(4)make
(5)sudo make install

pocketsphinx交叉编译安装

(1)解压sphinxbase-0.8.tar.gz

tar xjf pocketsphinx-0.8.tar.gz

(2)进入解压的目录内

cd pocketsphinx-0.8/

(3)配置./configure

./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 "

同上,注意路径一致
(4)make
(5)sudo make install

pocketsphinx移植

(1)将pc机/usr/local/目录下的sphinx压缩拷至开发板中;
(2)解压文件;

tar xzf sphinx.tar

(3)把sphinx文件的lib、bin目录下文件都cp到开发板的根目录/lib、/bin目录下。

cp -rfa /sphinx/lib/* /lib
cp -rfa /sphinx/bin/* /bin

(4)把sphinx文件夹cp到/usr/local/目录下

cp -rf /sphinx/ /usr/local/ 

同目录下如下图:
这里写图片描述
alsa和arm-alsa是alsa库移植cp的文件,都放在同一目录下。

建立一个简单的语言模型

(1)创建一个语料库
vi 1.txt
输入如下内容:
stop
forward
backward
turn right
turn left
保存退出
(2)利用在线工具LMTool建立语言模型
进入网址:http://www.speech.cs.cmu.edu/tools/lmtool.html
点击Browse按钮,选择之前创建的1.txt, 最后点击COMPILE KNOWLEDGE BASE 。网站现在翻墙才能进去,不想自己生成的可以直接下载这个文件TAR3652.tgz 简单测试下。
生成TAR3652.tar.gz
tar xzf TAR3652.tar.gz
有用的是3652.dic、3652.lm文件。

语音识别测试

pocketsphinx_continuous -hmm /usr/local/sphinx/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k/ -lm 3652.lm -dict 3652.dic

运行如下:
这里写图片描述
说话后识别如下:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/u014470361/article/details/80888810