【转】Android本地语音识别引擎PocketSphinx-语言建模

Java代码   收藏代码
  1. text2wfreq < weather.txt | wfreq2vocab > weather.tmp.vocab  
 

最近研究Android上的语音识别,在此记录下遇到的问题。

先引用一篇博文,http://leiwuluan.iteye.com/blog/1287305。根据这篇博文的内容,要是没遇到问题的话,应该可以生成一个apk,在手机上可以运行,能进行识别,但是效率很低,识别率也不咋地。现在我们需要自己来构建识别的库。

根据代码

Java代码   收藏代码
  1. c.setString("-dict",  
  2.                 "/sdcard/Android/data/edu/edu.cmu.pocketsphinx/lm/zh_CN/mandarin_notone.dic");  
  3.         c.setString("-lm",  
  4.                 "/sdcard/Android/data/edu/edu.cmu.pocketsphinx/lm/zh_CN/gigatdt.5000.DMP");  

 程序会引用到两个文件,第一个是字典文件,第二个是声音模型文件,程序先将输入的声音和声音模型文件对比,生成音节编码,再将音节编码在字典中查找,返回最后的字符结果。Sphinx是个很完善的引擎,除了开源之外,官方还提供了各种工具供开发者构建自己的声音对比模型,字典,记忆语言模型。本文参考http://cmusphinx.sourceforge.net/wiki/tutoriallm,用CMUCLMTK构建自己的语言模型。

1.首先,假设你已经根据本文开头的那篇博文成功编译了PocketSphinx并且成功在手机上运行。

2.下载CMUCLMTK,http://sourceforge.net/projects/cmusphinx/files/cmuclmtk/0.7/cmuclmtk-0.7.tar.gz/download

3.将下载的文件解压到Sphinx根目录,参见开篇引用博文。

4.命令行下进入到CMUCLMTK目录,我的为

Java代码   收藏代码
  1. /workspace/VoiceRecognition/cmuclmtk-0.7#   

我的电脑系统是linux,如果是windows需要用cgwin

5. ./configure

6.make install

7.cd src

8.make install

9.在4的目录下,新建weather.txt,输入

Java代码   收藏代码
  1. <s> generally cloudy today with scattered outbreaks of rain and drizzle persistent and heavy at times </s>  
  2. <s> some dry intervals also with hazy sunshine especially in eastern parts in the morning </s>  
  3. <s> highest temperatures nine to thirteen Celsius in a light or moderate mainly east south east breeze </s>  
  4. <s> cloudy damp and misty today with spells of rain and drizzle in most places much of this rain will be   
  5. light and patchy but heavier rain may develop in the west later </s>  

 10.命令行下输入,

Java代码   收藏代码
  1. text2wfreq < weather.txt | wfreq2vocab > weather.tmp.vocab  

  这时报错,如下

Java代码   收藏代码
  1. text2wfreq: error while loading shared libraries: libcmuclmtk.so.0: cannot open shared object file: No such file or directory  

 参考error while loading shared libraries解决。

11.输入

Java代码   收藏代码
  1. text2idngram -vocab weather.tmp.vocab -idngram weather.idngram < weather.txt  
 

12.输入

Java代码   收藏代码
  1. idngram2lm -vocab_type 0 -idngram weather.idngram -vocab weather.tmp.vocab -arpa weather.arpa  

 如果无误,在目录下会生成weather.tmp.DMP文件。

官网说在http://www.speech.cs.cmu.edu/tools/lmtool.html也可以在线提交txt文件,在服务器生成DMP文件,但是我在试的时候,发现访问不了,可能是太多人用了,CMU把这个服务给关了?

 

哈哈,在查资料的时候,又发现有这方面的博文,再引用一下,http://www.cnblogs.com/huanghuang/archive/2011/07/14/2106579.html,http://archive.cnblogs.com/a/2111834/,http://www.cnblogs.com/huanghuang/archive/2011/07/18/2109101.html,这三篇应该讲的很全面了。

Android PocketSphinx离线语音识别集成总结 关于Android的离线语音识别的技术,遍观若干厂家唯有科大讯飞和百度有离线的语音识别功能,但是科大讯飞是收费的,百度的离线语音识别就是关键词唤醒,但是只接受3个自定义的唤醒词,而且必须经过评定3分以上唤醒词才可以成功提交,内容限制和数量限制都是很大的局限,可用性很低,大公司的开源技术全部Pass掉了。这个pocketSphinx经过实践准确率还是很不错的,根本上讲实际操作还是关键词... 阅读详情

相关推荐

使用离线语音识别引擎PocketSphinx实现Android应用

在移动设备上,离线语音识别引擎能够提供快速、准确的语音识别功能,而PocketSphinx是一个开源的、基于隐马尔可夫模型(Hidden Markov Model)的离线语音识别引擎。PocketSphinx需要使用语音识别模型来进行识别。你可以从PocketSphinx的官方网站下载预训练的语音识别模型,或者使用自定义的模型。需要注意的是,由于PocketSphinx是一个离线语音识别引擎,它的识别准确度可能会受到语音模型的限制。一旦语音识别引擎创建成功,我们可以开始实现语音识别功能。

BinzTcl的博客 1496

Android离线语音识别-中英文,小范围,高准确率

在跑通Android离线语音识别demo PocketSpinxAndroiDemo后,发现其使用pocketsphinx进行语音识别的准确率并不是很低。这和pocketsphinx语音识别所用的语言模型和声学模型相关。pocketsphinx-0.8源码自带几个语言模型和声学模型,pocketsphinx-0.7/model/hmm下的是声学模型(hmm应该指的是隐马尔科夫模型),pockets

懒惰的帮主 7726

Android平台离线语音识别实战:基于PocketSphinx

随着移动互联网的深入发展,语音识别技术正逐步成为Android设备交互体验的重要组成部分。尤其在智能家居、车载系统及无障碍功能等领域,语音识别不仅提升了操作便捷性,更在保障隐私和降低响应延迟方面展现出巨大优势。Android平台早期主要依赖Google Speech API等在线识别服务,但受限于网络环境和数据安全问题,离线语音识别逐渐成为研究和应用的热点。

weixin_42515842的博客 1355

Android本地语音识别引擎PocketSphinx-语言建模

text2wfreq &lt; weather.txt | wfreq2vocab &gt; weather.tmp.vocab   最近研究Android上的语音识别,在此记录下遇到的问题。 先引用一篇博文,http://leiwuluan.iteye.com/blog/1287305。根据这篇博文的内容,要是没遇到问题的话,应该可以生成一个apk,在手机上可以运行,能进行识别,但是效率很...

huazaihepa的专栏 345

Android离线命令词识别实践:PocketSphinx DEMO

PocketSphinx是一种轻量级的语音识别库,它源于CMU Sphinx,一个广泛使用的开源语音识别工具包。PocketSphinx特别适合在资源受限的环境下运行,比如嵌入式系统和移动设备。

weixin_35995661的博客 1195

国密(3)- 预主密钥/主密钥计算和Finished消息的加解密

国密的ECC-SM3-SM4-CBC模式下的预主密钥和主密钥的生成过程介绍,以及Finished消息的加解密介绍

weixin_43408952的博客 6509

安卓手机 SVOX中文语音引擎及中文语音包3.0版一键安装(已付费)

 虽然2.0版一直用得也不错,但是毕竟3.0出来了还是要升的,貌似3.0合成的声音比2.0有所改进,而且还能自定义音调。    不过在网上找的3.0付费版即使能看懂说明安装起来也很麻烦很容易失败,所以自己写了个批处理可以一键安装、验证、复制数据包,前提是手机要支持adb,打开调试模式,不过一般root过的rom基本都支持adb。             SVOX Mandarin是一款中文语音...

心语家园 - www.xinyucn.cc 2271

Matlab图像处理频域滤波实现——高斯低通、高通、带通带阻滤波器

如果你想要进一步了解更多的相关知识,

小嘤熊的博客 1万+

用Pocketsphinx-Android-Demo打造你的语音识别应用

本文将向您介绍一个开源的Android语音识别项目——。这是一个基于CMU Sphinx库的轻量级解决方案,专为在移动设备上实现离线、实时的语音识别而设计。让我们一起深入了解它的技术特性和潜在的应用场景。 ## 项目简介 **Pocketsphinx-Android-Demo** 是一个直观的示例应用,它演示了如何在Android平台上集成并使用CMU Sphinx库。这个库允许开发者在没有网

gitblog_00098的博客 1092

从原理到实践:详解RGBD相机深度与彩色图像对齐(D2C)算法

本文深入解析了RGBD相机深度与彩色图像对齐(D2C)算法的原理与实现。针对自组装相机中深度图与彩色图不匹配的核心痛点,文章从相机模型、坐标系变换等数学基础讲起,剖析了传统点映射算法的缺陷,并重点介绍了高效的矩形区域映射算法。该算法通过将深度像素视为矩形区域进行映射,有效解决了空洞和遮挡问题,并附有可直接复用的C++代码与优化技巧,为三维重建、机器人视觉等应用奠定坚实基础。

weixin_28363123的博客 241

今天出一个candence 17.4 allego的安装教程

7、安装完成,接下来进行补丁更新,找到Hotfix_SPB17.40.035_wint.iso软件 ,右击鼠标选择装载。6、因为之前选择的定制安装,这一步不知道具体要安装啥,因此都勾选,点击NECK,接下来等待安装完成。后面经过仔细对比,发现是前面更新补丁时选择了F盘,F盘是candence安装包,不是补丁。8、在破戒大师里选择安装更新补丁,并找到刚才装载的安装包里的程序,点击下一步。3、打开破戒大师,找到安装candence进行如下图选择,点击下一步。有耐心的人可以重新卸了再装一边,我就不卸了,直接装。

hcvinh的博客 2725

pocketsphinx android,PocketSphinx On Android 语音识别

一、简介1.1、PocketSphinx是啥?PocketSphinx 是一个计算量和 体积都很小的语音识别引擎。是第一个开源的面向嵌入式的中等词汇量连续语音识别项目。1.2、Pocketsphinx on AndroidAndroidStudio 版Demo:点我。官方介绍:点这里。ps:网上大多的资料都还是停留在02-14年,如果应用到Android上面还需要自己去使用NDK去编译。但是,使用...

weixin_42502503的博客 836

POVME3口袋体积计算:从.ini配置到实战解析

本文详细解析了POVME3口袋体积计算工具,从核心原理、环境准备到实战应用。重点剖析了控制计算行为的.ini配置文件,包括如何定义口袋区域、精修范围及锁定目标,并提供了固定坐标与配体引导两种实战策略,帮助研究人员从分子动力学轨迹中量化分析蛋白质结合口袋的动态变化。

weixin_29043895的博客 536

探索Android离线语音识别的无限可能:PocketSphinx示例项目推荐

探索Android离线语音识别的无限可能:PocketSphinx示例项目推荐 【下载地址】Android离线语音识别PocketSphinx示例项目 本仓库提供了一个名为 `pocketsphinx-android-demo-master.7z` 的资源文件,该文件是一个基于PocketSphinx的Android离线...

gitblog_09797的博客 1294

『杭电1199』Color the Ball

Problem Description There are infinite balls in a line (numbered 1 2 3 ....), and initially all of them are paint black. Now Jim use a brush paint the balls, every time give two integers a b and follow by a char 'w' or 'b', 'w' denotes the ball from a to

漠宸离若的博客 496

Android Audio基础——系统服务(二)

AudioService 继承自 IAudioService.Stub。IAudioService.Stub 类很明显是通过 IAudioService.aidl 自动生成的。AudioService 位于 Binder Native 端。AudioManager 拥有 AudioService 的 Binder Proxy 端,是 AudioService 在客户端的一个代理。几乎所有客户端对 AudioManager 进行的请求,最终都会交由 AudioService 实现。

小旭的专栏 2071

安卓离线语音识别PocketSphinx Demo:开启智能语音新篇章

安卓离线语音识别PocketSphinx Demo:开启智能语音新篇章 【下载地址】安卓离线语音识别PocketSphinxDemo 安卓离线语音识别 PocketSphinx Demo 是一个专为 Android 平台设计的开源示例项目,支持中英双语的离线语音识别功能。无需网络连接,即下即用,且无需复杂配置,用户可轻松...

gitblog_06734的博客 1087

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Android集成PocketSphinx离线语音识别实战:从模型部署到性能优化

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94960082的博客 1027

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

【亲测免费】 Pocketsphinx-Android 项目推荐

Pocketsphinx-Android 项目推荐 Pocketsphinx-Android 是一个开源项目,旨在为 Android 平台提供 Pocketsphinx 语音识别库的支持。该项目主要由 Java 和 CMake 编程语言实现。 项目基础介绍 Pocketsphinx-Android 是一个为 Android 设备上的语音识别提供接口的库。它是基于 Pocketsphinx 语音识别...

gitblog_00541的博客 655

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Pocketsphinx Android Demo 安装与配置指南

Pocketsphinx Android Demo 是一个开源项目,旨在展示如何在 Android 设备上使用 Pocketsphinx 进行语音识别。Pocketsphinx 是一个开源的语音识别库,它基于 Sphinx-4 语音识别引擎,适用于移动设备。本项目主要使用 Java 语言进行开发。 ## 2. 项目使用的关键技术和框架 本项目使用以下关键技术和框架: - **Pocketsp

gitblog_00834的博客 837

离线语音识别是如何工作的:pocketsphinx-android-demo 从音频流到假设文本的底层原理深潜

离线语音识别让 Android 应用在**没有网络**的情况下,也能把麦克风采集的音频流转换成文字。开源项目 pocketsphinx-android-demo 就是 PocketSphinx 引擎在 Android 上的官方演示,它完整展示了从音频采集、特征提取、声学打分,到解码输出假设文本(Hypothesis)的全过程。本文带你像拆解流水线一样,看清每一环如何工作。 ## 离线识别全景图:

gitblog_00532的博客 364

Android项目集成PocketSphinx离线语音识别实战指南:从接入到性能优化

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94959862的博客 341

Android集成Pocketsphinx离线语音识别实战指南:从环境搭建到生产环境优化

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94959791的博客 369
上一篇: KeilC 里面慎重对全局变量初始化
下一篇: Debian普通用户添加sudo权限
whatsyourname
博客等级 码龄23年 13粉丝 326原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值