Android离线语音识别(PocketSphinx)

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

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

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

首先,demo运行需要以下文件:pocketsphinx/model/en_US
下lm文件夹(
.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

时间: 2024-08-06 15:50:36

Android离线语音识别(PocketSphinx)的相关文章

搜狗语音云开发入门(二)——使用离线语音识别服务

1 简介 之前在<搜狗语音云开发入门--移动端轻松添加高大上的语音识别>中介绍了使用搜狗语音云为客户端程序添加在线语音识别服务.在线语音服务需要联网使用,但是你不能指望用户拥有完美的环境,事实上大多数情况下用户的外围环境都会有所限制.有的时候没有Wi-Fi.没有流量,还想使用语音识别,如果你给用户一个提示"您没开流量..."只能说你的程序弱爆了.有条件情况下给用户提供完美的服务,没有条件创造条件服务质量依然完美,并且清风徐来了无痕迹,这才是完美应用的体现.你不是用户的亲戚朋

用Kotlin开发android平台语音识别,语义理解应用(olamisdk)

用Kotlin开发android平台语音识别,语义理解应用(olamisdk) http://blog.csdn.net/ls0609/article/details/75084994

加快Android离线文档的访问速度

OptAndroidDocs 背景: 自从Google被墙了之后,访问Android的API文档一直是个问题.虽然Android SDK可以将开发文档下载下来离线查看,但是由于文档中仍然链接Google的在线资源导(js,fonts等)致访问速度仍然很慢. 网上大概有2种方法: 采用脚本删掉html文件中对在线资源的引用(网上也有别人处理过的可以下载) 是脱机查看,有人还在chrome下写了个插件. 但是我对以上两种方法还不够满意: Android文档更新之后,需要重新处理.脚本很慢,等待网友提

基于android的语音识别

1.注册账户,添加应用 2.针对android平台的选择应用,下载SDK 3.将SDK的libs下文件拷贝到工程的libs目录下 4.添加用户权限 <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission a

解决Android 离线Doc文档访问速度慢的有效方法

(1)我们在访问Android的离线文档,是非常慢的,由于需要加载一些图片或者是动态的脚本语言js代码, 网上的解决方法是删除所有的js含有链接的代码,这种方法不但笨拙,还不可以有效解决: (2)我的方法是,是有一个单独的游览器(作为开发者,至少有那么两三个吧!),来作为访问该离线文档的游览器,比如我的是用google,当我们需要访问的时候,我们可以使用  腾讯管家  360等 把游览器设置为 ---禁止访问网络,然后就可以访问了! 具体我的过程是:我使用的是腾讯管家,右键点解小火箭 进入 流量

android离线下载的相关知识

离线下载的功能点如下:      1.下载管理(开始.取消下载).      2.网络判断(Wi-Fi,3G).      3.独立进程.      4.定时和手机催醒.      5.自启动. 选择离线下载的核心方法 后台独立运行,我们很容易想到服务(Service),但是有以下几种问题 (1)如果服务的进程和应用一致,那么在应用退出后,服务会重启一次 (2)如果服务的进程和应用不一致,进程间的通信就会麻烦一点 (3)如果服务的进程和应用一致,选择IntentService,可以避免重启问题

ArcGIS for Android离线数据编辑实现原理

来自:http://blog.csdn.net/arcgis_mobile/article/details/7565877 ArcGIS for Android中现已经提供了离线缓存图片的加载功能,极大的提高了我们访问地图的效率,对于离线的数据编辑暂时还不支持,而现在对于离线数据编辑操作的需求越来越多,那我们如何才能实现离线数据编辑功能呢?下面我们介绍一下,通过sqlite来实现离线数据编辑的解决方案.     一.离线数据编辑解决方案 离线编辑无非就是将所需的数据下载到我们的手持端进行存储,当

科大讯飞离线语音识别安装与运行

先从官网下载sdk,有点不懂下载的逻辑.. 文件解析: bin/inc下有四个头文件:msp_errors.h  msp_types.h  qisr.h  qtts.h msp_errors.h  msp_types.h为通用数据结构的头文件,qisr.h是语音识别用的头文件,qtts.h是语音合成用的头文件. 这是sdk中原代的解释: 1.doc目录下存放开发文档等: 2.lib目录下存放SDK需要调用的动态库以及需要引用的头文件. 3.example目录下存放提供的示例demo,每个例子下都

Android离线缓存

android做到一定程度,需要考虑缓存的问题,不信可以掏出手机看看淘宝等一些app是否无网的情况下还可以浏览,不过大部分app并没有考虑到这些问题,解决Android的缓存有哪些方法呢 1.IO流读写文件 2.数据库 3.LruCache和DiskLruCache 个人比较喜欢sd卡文件读写的方式,原因自己可以去分析. (1)权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"