最新软件| 手机版| 软件专题 pocketsphinx for windows 32位下载v0.8官方版
您的位置:♚亚洲城ca88_ca88亚洲城_ca88_亚洲城下载官网>软件频道 > 编程开发 > 编程工具 > pocketsphinx for windows 32位下载 v0.8官方版
pocketsphinx for windows 32位下载 v0.8官方版

pocketsphinx for windows 32位下载v0.8官方版

  • 软件大小:16.6MB
  • 软件语言:简体中文
  • 软件类型:国产软件
  • 软件类别:编程工具
  • 更新时间:2017-12-07 21:30
  • 软件授权:免费版
  • 运行环境:xp/win7/win8/win10
  • 软件位数:32位
  • 官方网站:
  • 软件等级:3星

16.6MB

同类推荐软件

软件介绍

为您推荐:pocketsphinx语音识别

PocketSphinx是一款专业的语音识别系统,在人工智能领域上起到了重大的作用,下面我们一起来了解他的编译、安装和使用,Sphinx-2采用半连续隐含马尔可夫模型(SCHMM)建模,采用的技术相对落后,使得识别精度要低于其它的译码器。

pocketsphinx for windows 32位下载

官方介绍

Sphinx是由美国卡内基梅隆大学开发的大词汇量、非特定人、连续英语语音识别系统。Sphinx从开发之初就得到了CMU、DARPA等多个部门的资助和支持,后来逐步发展为开源项目。目前CMU Sphinx小组开发的下列译码器:

PocketSphinx是一个计算量和体积都很小的嵌入式语音识别引擎。在Sphinx-2的基础上针对嵌入式系统的需求修改、优化而来,是第一个开源面向嵌入式的中等词汇量连续语音识别项目。识别精度和Sphinx-2差不多。

Sphinx-3是CMU高水平的大词汇量语音识别系统,采用连续隐含马尔可夫模型CHMM建模。支持多种模式操作,高精度模式扁平译码器,由Sphinx3的最初版本优化而来;快速搜索模式树译码器。目前将这两种译码器融合在一起使用。

Sphinx-4是由Java语言编写的大词汇量语音识别系统,采用连续的隐含马尔可夫模型建模,和以前的版本相比,它在模块化、灵活性和算法方面做了改进,采用新的搜索策略,支持各种不同的语法和语言模型、听觉模型和特征流,创新的算法允许多种信息源合并成一种更符合实际语义的优雅的知识规则。由于完全采用JAVA语言开发,具有高度的可移植性,允许多线程技术和高度灵活的多线程接口。

开源的语音交互平台

CMU-Sphinx

CMU-Sphinx也简称为Sphinx(狮身人面像),是卡内基 - 梅隆大学( Carnegie Mellon University,CMU)开发的一款开源的语音识别系统, 它包括一系列的语音识别器和声学模型训练工具。

Sphinx有多个版本,其中Sphinx1~3是C语言版本的,而Sphinx4是Java版的,另外还有针对嵌入式设备的精简优化版PocketSphinx。Sphinx-I 由李开复(Kai-Fu Lee)于1987年左右开发,使用了固定的HMM模型(含3个大小为256的codebook),它被号称为第一个高性能的连续语音识别 系统(在Resource Management数据库上准确率达到了90%+)。Sphinx-II由Xuedong Huang于1992年左右开发,使用了半连续的HMM模型, 其HMM模型是一个包含了5个状态的拓扑结构,并使用了N-gram的语言模型,使用了Fast lextree作为实时的解码器,在WSJ数据集上的识别率 也达到了90%+。

Sphinx-III主要由Eric Thayer 和Mosur Ravishankar于1996年左右开发,使用了完全连续的(也支持半连续的)HMM模型,具有灵活 的feature vector和灵活的HMM拓扑结构,包含可选的两种解码器:较慢的Flat search和较快的Lextree search。该版本在BN(98的测评数据 集)上的WER(word error ratio)为19%。Sphinx-III的最初版还有很多limitations,诸如只支持三音素文本、只支持Ngram模型(不 支持CFG/FSA/SCFG)、对所有的sound unit其HMM拓扑结构都是相同的、声学模型也是uniform的。Sphinx-III的最新版是09年初发布的0.8版, 在这些方面有很多的改进。

Sphinx语音识别系统软件

 Pocketsphinx — recognizer library written in C.

 Sphinxbase — support library required by Pocketsphinx

 Sphinx4 — adjustable, modifiable recognizer written in Java

 CMUclmtk — language model tools

 Sphinxtrain — acoustic model training tools

这些软件包的可执行文件和源代码在sourceforge上都可以免费下载得到。

使用平台

Ubuntu12.04

还需要安装的包:

# sudo apt-get install libasound2-dev bison

(我是用公司的服务器上的ubuntu,在测试安装pocketsphinx时总是出现以下错误,我还没找到解决办法,换成自己 电脑上虚拟机上的ubuntu就OK了。

Error opening audio device default for capture: No such file or directory

FATAL_ERROR: "continuous.c", line 246: Failed to open audio device)

 CMUSphinx语音识别工具包下载

Pocketsphinx —用C语言编写的轻量级识别库,主要是进行识别的。

Sphinxbase — Pocketsphinx所需要的支持库,主要完成的是语音信号的特征提取;

Sphinx3 —为语音识别研究用C语言编写的解码器

Sphinx4 —为语音识别研究用JAVA语言编写的解码器

CMUclmtk —语言模型训练工具

Sphinxtrain —声学模型训练工具

下载网址:http://sourceforge.net/projects/cmusphinx/files/

我们只需要下载以下四个最新版本的工具包即可:

sphinxbase-0.8、pocketsphinx-0.8、sphinxtrain-1.0.8、cmuclmtk-0.7;

安装工具包

由于pocketsphinx依赖于另外一个库Sphinxbase。所以先需要安装Sphinxbase。

(1)安装Sphinxbase

进入压缩文件所在的文件夹

#tar -xzf sphinxbase-0.8.tar.gz

#cd sphinxbase-0.8

#./configure

#make

# sudo make install

注意:./configure将会检查你的系统是否具有其编译所需要的所有包,如果没有的话,它会提示缺少什么包,例如缺少“bison”,那么我们需要对它进行安装:

//搜索包含“bison”关键字的包,因为有些包可能不是这样命名的,后面可能会加个-dev表示开发板,前面也可能加个lib表示库等等。但这里搜索了,包的名字就是bison

#apt-cache search bison

//apt为ubuntu的安装包,然后就下载相应的包安装即可

#apt-get install bison

安装完缺少的包后,继续执行./configure,以后遇到类似情况同样处理。

包默认安装在/usr/local/bin下面,ls可查看。可以在配置时用–prefix指定自定义的安装路径,但最好使用默认的安装路径,否则的话得自己添加这些库的路径进环境变量中。

(2)安装pocketsphinx

得先把Sphinxbase的库的路径进环境变量中。通过:

export LD_LIBRARY_PATH=/usr/local/lib //这个一般系统都已经加进去了

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig //这个PKG_CONFIG_PATH主要指明Sphinxbase的.pc文件的所在路径,这样 pkg-config工具就可以根据.pc文件的内容动态生成编译和连接选项,比如 cflags(编译用的头文件)和 libs (连接用的库),至于说pkg-config的具体细节?百度下就知道了,了解这个工具非常有用。

另外,环境变量的设置只对当前的终端窗口有效,新建一个新的终端或者重启系统之后,需要重新设置 PKG_CONFIG_PATH。所以我们可以通过编辑系统的链接文件/etc/ld.so.conf去使其长期有效,如下:

#sudo vi /etc/ld.so.conf

打开后,可查一下ubuntu vim的使用命令,在新的一行添加(每一个路径一行):

/usr/local/lib

/usr/local/lib/pkgconfig

然后,执行:

#ldconfig

使其生效(ldconfig将 /etc/ld.so.conf列出的路径下的库文件缓存到/etc/ld.so.cache以供使用,系统是通过读取这个库列表文件来加快搜索链接路径的速度的)。

然后开始编译安装:

进入pocketsphinx-0.8.tar.gz压缩文件所在的文件夹

#tar -xzf pocketsphinx-0.8.tar.gz

#cd pocketsphinx-0.8

#./configure

#make

#sudo make install

默认安装在/usr/local/bin下。

测试下安装结果:

#pocketsphinx_continuous

若出现如下信息,说明安装成功。

INFO: cmd_ln.c(512): Parsing command line:

pocketsphinx_continuous

Current configuration:

[NAME] [DEFLT] [VALUE]

-adcdev

Warning: Could not find Mic element

INFO: continuous.c(261): pocketsphinx_continuous COMPILED ON: Feb 21 2011, AT: 22:31:47

READY....

(3)安装语言模型训练工具CMUCLMTK

顺便把语言模型训练工具也安装上,因为后面需要用到(当然,如果你采用的是现成的模型的话,那就不需要安装这个工具),安装过程其实都是一样的。

#tar -xzf cmuclmtk-0.7.tar.gz

#cd cmuclmtk-0.7

#./configure

#make

#sudo make install

默认安装在/usr/local/bin下面,可以看到下面这些生成文件

idngram2lm idngram2stats mergeidngram text2idngram

text2wfreq text2wngram wfreq2vocab

(4)安装声学模型训练工具sphinxtrain

顺便把声学模型训练工具也安装上,因为后面需要用到(当然,如果你采用的是现成的模型的话,那就不需要安装这个工具),安装过程其实都是一样的。

#tar -xzf sphinxtrain-1.0.7.tar.gz

#cd sphinxtrain-1.0.7

#./configure

#make

这里没有make install的安装过程,因为sphinxtrain只是包含了用来训练声学模型的Perl和Python脚本,还有一些工具命令。

所以我们还需要下载Perl和Python工具来使用这些脚本:

他们的网址:http://www.perl.org和http://www.python.org/download/

ubuntu就是好啊,apt-get就行:

# apt-get install perl

# apt-get install python

获得语言模型和声学模型

语言模型和声学模型的来源有以下三个方面:我们这里主要讲中文的。

(1)源代码自带的:

pocketsphinx-0.8/model/hmm/zh/tdt_sc_8k目录下是中文的声学模型

pocketsphinx-0.8/model/lm/zh_CN 目录下是中文的语言模型

这些模型已经被安装(拷贝)到了 /usr/local/share/pocketsphinx/model目录下:

(hmm表示隐马尔可夫声学模型,lm表示language model语言模型)

├── hmm

│ ├── en

│ │ └── tidigits

│ │ ├── feat.params

│ │ ├── mdef

│ │ ├── means

│ │ ├── sendump

│ │ ├── transition_matrices

│ │ └── variances

│ ├── en_US

│ │ └── hub4wsj_sc_8k

│ │ ├── feat.params

│ │ ├── mdef

│ │ ├── means

│ │ ├── noisedict

│ │ ├── sendump

│ │ ├── transition_matrices

│ │ └── variances

│ └── zh

│ └── tdt_sc_8k

│ ├── feat.params

│ ├── mdef

│ ├── means

│ ├── noisedict

│ ├── sendump

│ ├── transition_matrices

│ └── variances

└── lm

├── en

│ ├── tidigits.dic

│ ├── tidigits.DMP

│ ├── tidigits.fsg

│ ├── turtle.dic

│ └── turtle.DMP

├── en_US

│ ├── cmu07a.dic

│ ├── hub4.5000.DMP

│ └── wsj0vp.5000.DMP

├── zh_CN

│ ├── gigatdt.5000.DMP

│ └── mandarin_notone.dic

└── zh_TW

├── gigatdt.5000.DMP

└── mandarin_notone.dic

我们可以通过#pkg-config --variable=modeldir pocketsphinx这个命令来获得模型的安装目录。也就是/usr/local/share/pocketsphinx/model

(2)网上下载:

CMU sphinx的官网提供了各种语言的声学模型和语言模型的下载,具体见:

http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/

其中也有中文的:

声学模型:zh_broadcastnews_16k_ptm256_8000.tar.bz2

语言模型:zh_broadcastnews_64000_utf8.DMP

字典文件:zh_broadcastnews_utf8.dic

(3)自行训练得到:

因为每个人的声音不一样,另外应用也不一样(所需词汇类别和不同),所以别人的模型可能在自己的语音下识别准确率不高,这样就需要训练自己的声学模型和语言模型(CMU也提供一个改进现有声学模型的方法)。因为训练需要的准备和步骤挺多的,所以这里就不写了,具体的训练方法会在下一个博文中说明。

使用语言模型和声学模型

运行 pocketsphinx进行语音识别需要指定三个文件:声学模型、语言模型和字典文件。我们以第二个网上下载回来的这三个文件为例子说明如何使用他们进行语音识别。

声学模型:zh_broadcastnews_16k_ptm256_8000.tar.bz2

语言模型:zh_broadcastnews_64000_utf8.DMP

字典文件:zh_broadcastnews_utf8.dic

先把以上三个文件放在同一个目录下,再把声学模型解压:

#tar -xjf zh_broadcastnews_16k_ptm256_8000.tar.bz2

解压后会在当前文件夹生成一个包含以下八个文件的文件夹。

zh_broadcastnews_ptm256_8000/

├── feat.params //HMM模型的特征参数

├── mdef //模型定义文件(为每个即将进行训练的HMM的每一状态定义一个独特的数字标识)

├── means //混合高斯模型的均值

├── mixture_weights //混合权重

├── noisedict //噪声也就是非语音字典

├── sendump //用来从声学模型中获取mixture_weights文件的??

├── transition_matrices //HMM模型的状态转移矩阵

└── variances //混合高斯模型的方差

然后我们执行:

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

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

pocketsphinx会分析你传入的文件取得模型和识别的参数,然后显示出来,再有很多信息,等到显示:

Warning: Could not find Mic element

READY....

到这里你就可以对她喊话让它识别了。对着麦克风讲话结束后在屏幕上以文字形式显示识别结果。在麦克风输入时,两者的最长语音时间为5秒,前者是通过说话人的正常语句停顿作为断句的分割点,并将停顿之前的语音信号作为一个处理段。

其它说明

将CMU—pocketsphinx之pocketsphinx_continuous移植到嵌入式平台

1:要将其移植到OMAP3530上,就不能想在PC上编译Pocketsphinx一样,直接使用默认配置参了。我们需要根据自己的板子,重新配置相关参数。

2:这里我附上自己的配置,并作简要说明。

和在PC上编译一样,首先编译sphinxbase-0.7,进入该文件夹,输入以下配置:

./configure \

--prefix=/home/adai/talon/work/pcapp/pocketsphinx/omap \

--exec-prefix=/home/adai/talon/work/pcapp/pocketsphinx/omap \

--host=i686-pc-linux-gnu \

--target=arm \

CC=arm-none-linux-gnueabi-gcc \

LDFLAGS="-L/home/adai/talon/work/alsafortarget/alsalib/lib" \

CPPFLAGS="-I/home/adai/talon/work/alsafortarget/alsalib/include"

第一行:相关库文件安装目录,这里一般不使用默认目录,以免和PC的安装文件冲突。

第二行:相关可执行程序的安装目录,同上。

第三行:宿主机类型,这个需要根据自己的机器设定,我是在为PC配置时,其输出信息里找到的。

第四行:目标机类型,我的是arm。

第五行:需要使用的交叉编译工具链,需要确保你的工具链已经安装,并且环境参数已经设置好。

第六行:非标准库文件位置,这里是我编译的ALSA库地址(注意,该库也是使用上述CC编译),其次确保已经将该库移植到板子上。

第七行:非标准头文件位置,同上。

3:根据以上配置首先编译sphinxbase-0.7,再编译pocketsphinx-0.7。

4:将生成的pocketsphinx_continuous连通其他必要文件发布到开发板上,测试:./pocketsphinx_continuous -hmm my_db.cd_cont_100 -lm my_

db.lm.DMP -dict my_db.dic

出现了期盼的:READY...

5:完成。

下载地址

用户评论

(您的评论需要经过审核才能显示)