CMUSphinx pocketsphinx使用

来源:互联网 发布:西建大网络教学平台 编辑:程序博客网 时间:2024/06/18 08:52


1 系统环境

 Ubuntu 16.04

2 CMUSphinx软件包下载和编译

Pocketsphinx —一个轻量级识别库,主要用于识别。

Sphinxbase — Pocketsphinx需要的支持库,负责语音信号的特征提取;

Sphinxtrain —声学模型训练

CMUclmtk —语言模型训练

关于以上包的详细介绍请参考:http://cmusphinx.sourceforge.net/wiki/download


2.1 安装Sphinxbase

git clone https://github.com/cmusphinx/sphinxbase

注意:安装过程可能需要安装一些依赖(如bison),按照提示进行即可

2.2 安装pocketsphinx

git clone https://github.com/cmusphinx/pocketsphinx

注意:安装前需要到处一些环境变量

export LD_LIBRARY_PATH=/usr/local/lib

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

当然这只是临时导出且仅对当前终端有效,为了一直有效我们可以放到/etc/ld.so.conf中加一行:

/usr/local/lib/pkgconfig

然后执行ldconfig


2.3 安装声学模型训练工具sphinxtrain

git clone https://github.com/cmusphinx/sphinxtrain

2.4 安装语言模型训练工具CMUCLMTK

下载cmuclmtk-0.7.tar.gz进行编译安装


3 测试

3.1获取声学和语言学模型

运行pocketsphinx进行语音识别需指定三个文件:声学模型、语言模型和字典文件。

方式一:网络下载https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/

方式二:自行训练

3.2 自行建立一个简单模型验证

(1)创建预料文件yuliao.txt

    start
     I am a man
     turn left
     turn right
     end

(2) 利用在线工具lmtool生成模型

http://www.speech.cs.cmu.edu/tools/lmtool.html

点击Browse按钮,选择之前创建的corpus.txt, 最后点击COMPILE KNOWLEDGE BASE ,生成文件真正有用的是.dic、.lm 的文件。

(3)测试

pocketsphinx_continuous -lm 8221.lm -dict 8221.dic -inmic yes


注意:次方法适用于小批量简单词语识别,不可用于中文识别;大批量词语场合要自行训练

3.3 利用现有语言学和声学模型

这里我们下载病验证中文模型,

声学模型:zh_broadcastnews_16k_ptm256_8000.tar.bz2

语言模型:zh_broadcastnews_64000_utf8.DMP

字典文件:zh_broadcastnews_utf8.dic

下载之后把以上3文件放到同一目录解压,然后使用下面测试,

pocketsphinx_continuous -hmm zh_broadcastnews_ptm256_8000/ -lm zh_broadcastnews_64000_utf8.DMP -dict zh_broadcastnews_utf8.dic -inmic yes

说明:

1)-hmm选项指定声学模型文件夹 –lm选项指定语言模型 –dict选项指定字典文件

2)-inmic yes从麦克风输入发音或者-infile file.wav从文件输入发音











1 0
原创粉丝点击