首页 > 代码库 > Android离线语音识别(PocketSphinx)

Android离线语音识别(PocketSphinx)

最近做项目,用到离线语音识别,整了好久,查了好多方法,终于完成,网上资料有点乱,而且大部分就是那几个人写的,一群人转!下面我总结一下,也为后来人行个方便。


关于环境配置我就不多说了,我就是按照这个教程一步步来的,绝对是可行的。http://gaebolg.blog.163.com/blog/static/19826906820136232810723/



下面重点讲解一下demo的运行和语音库的配置(注意:上面那个教程的运行demo最后写的一塌糊涂,可以从拷贝声学模型和语音库那里开始看我的!)


首先,demo运行需要以下文件:pocketsphinx/model/en_USlm文件夹( .dic文件, .lm文件),以及hmm文件夹。如果觉得麻烦可以下载我提供的文件。http://download.csdn.net/detail/u011747781/8034061


下面进入重头戏,就是如何设置属于自己的中文语音库:

1、编写自己的命令集:

新建一个txt文件,输入命令,如:


百度
谷歌

点击文件,另存为,注意将编码改为UTF-8格式!(正下方编码选项)保存为txt文件。

2、利用在线工具http://www.speech.cs.cmu.edu/tools/lmtool.html将写好的txt文件生成文件。下载tgz文件即可(里面有所有文件),复制tgz压缩包中的lm文件,因为只有这个有用(如果是英语的话,dic文件可以直接用,就不用我下面介绍的方法生成dic文件了!!)


3、新建一个txt文件。在我给的data文件夹里,有个叫做standard.dic的文件,那个是标准语音库,ctrl+F 查找你需要的发音,复制到你新建的txt文件中。

格式如下:

百度 b ai d u

完事后存为UTF-8格式,改名为 .dic文件。


4、这样属于你的语音库就建好了,只需覆盖我的data文件夹中相应的dic , lm文件 即可!


最后,奉上亲测可用的完整demo http://download.csdn.net/detail/u011747781/8034195


Android离线语音识别(PocketSphinx)