Raspberry PI语音控制-PocketSphinx

作者 donggua

2017-10-25 02.开源硬件 无评论 脚印:

  1. 确定好麦克风和喇叭可以使用。

下面的命令是用来录音的,用于测试

 arecord temp.wav

播放录音文件

 aplay -D hw:1,0 temp.wav

2. 安装一些需要的软件和库

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install vim git-core espeak python-dev python-pip --yes 
sudo apt-get install bison libasound2-dev libportaudio-dev python-pyaudio --yes
  • vim 编辑器
  • espeak tts工具
  • bison 自动生成语法分析器程序
  • libasound2-dev libportaudio-dev python-pyaudio 声卡相关
  • python-dev python-pip python相关,还有利器pip

3. 安装Pocketsphinx

因为pocketsphinx依赖于库Sphinxbase,先安装Sphinxbase

下载sphinxbase

  wget http://downloads.sourceforge.net/project/cmusphinx/sphinxbase/0.8/sphinxbase-0.8.tar.gz

解压sphinxbase

 tar -zxvf sphinxbase-0.8.tar.gz

编译和安装sphinxbase

cd ~/sphinxbase-0.8/
./configure --enable-fixedmake
sudo make install

下载Pocketsphinx

wget http://downloads.sourceforge.net/project/cmusphinx/pocketsphinx/0.8/pocketsphinx-0.8.tar.gz

解压Pocketsphinx

 tar -zxvf pocketsphinx-0.8.tar.gz

编译和安装Pocketsphinx

cd ~/pocketsphinx-0.8/
./configure
make
sudo make install

语言模型生成工具 cmuclmtk

编译所需要的工具

  sudo apt-get install subversion autoconf libtool automake gfortran --yes

编译安装CMUCLMTK

 svn co https://svn.code.sf.net/p/cmusphinx/code/trunk/cmuclmtk/
 cd cmuclmtk/
 sudo ./autogen.sh && sudo make && sudo make install

4. 在 ../pocketsphinx-0.8/src/programs/ 中,执行命令进行语音识别: pocketsphinx_continuous

(1) 通过自己建立的语料库,缩小识别范围。

例如:建立一个command.txt (要用utf-8格式),在网站 http://www.speech.cs.cmu.edu/tools/lmtool-new.html 用lmtool工具生成 需要的几个文件 。执行

pocketsphinx_continuous -lm xxxx.lm -dict xxxx.dic

(2) 识别中文,找到 tdt_sc_8k 文件夹,拷贝到当前文件夹,同上(1)操作的,得到了几个文件,打开其中的字典 xxxx.dic,因为该工具不支持中文,所以打开文件 发现每个词的后面没有拼音,找到这些词语的拼音 并在该文件中补充好,保存退出。(注意,此处拼音不完全等于平常使用的拼音)。

pocketsphinx_continuous -hmm tdt_sc_8k -lm xxxx.lm -dict xxxx.dic

注:语音识别需要

声学模型:tdt_sc_8k

语言模型:xxxx.lm

字典文件:xxxx.dic

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注