android 语音识别

来源:互联网 发布:还原精灵密码读取软件 编辑:程序博客网 时间:2024/06/11 20:08


转载自http://zuoshu.iteye.com/blog/1463867

   在其基础上,总结其他人的经验,这里不一一列举(但还是感谢他们)。现将自己的经验与大家分享,希望大家一起进步。

1利用在线工具LMTool建立语言模型

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

1)用记事本编写语音命令时,第一行回车,即命令从第二行开始编写(这样生成出来的语言模型文件中语音命令排序不会乱,这里我也不知道为什么要第一行回车),然后另存时,选择UTF-8的编码方式。编写格式如下:

                                   

2)输入以上网址:http://www.speech.cs.cmu.edu/tools/lmtool.html,点击Usethe lmtool提交你的txt文件,点击编译。在跳转后的页面,下载后缀名为tgz的文件,注意下载下来的可能是后缀名为gz的文件,这时只要将后缀名改为tgz,然后解压即可。然后取其中后缀名为lm的文件。可以重命名为my.lm

2字典文件的生成

   可以从http://sourceforge.net/projects/cmusphinx/files/,下载pocketsphinx文件

  

   版本我选的07的,解压后在/model/lm/zh_cn中有个mandarin_notone.dic

   接下来编写程序从mandarin_notone.dic文件中查找你写入txt文件中的命令,并将查找到的内容以UTF-8编码方式写入新的文件,作为你自己语音命令的字典(命名为my.dic)。注意这里不能直接复制其中相应的命令内容,这样可能导致你复制出来的字典文件无法使用(网上说是编码方式问题)。

 3声学模型文件

     第二步解压出来的文件,pocketsphinx-0.7\model\hmm\zh目录下有名为tdt_sc_8k的文件夹,这个文件夹里的内容即为我们需要的声学模型文件。

 

4文件存放

  my.lmmy.dic文件放入名为lm的文件夹,tdt_sc_8k放入名为hmm的文件夹,lmhmm文件夹放入data文件夹中。

   如果要修改目录的话,对应修改RecognizerTask.RecognizerTask()中的:

  

   经过以上四个步骤,文件准备完毕,重跑demo。输入自己的语音命令,基本都能识别,

   

   最后还是谢谢网上各位程序猿给出的参考,正是你们的努力,让我们这些菜鸟有了坚持下去的勇气。

  Demo下载地址:http://download.csdn.net/download/u010347927/8641385


0 0
原创粉丝点击