Android应用离线中文语音识别PocketSphinx

您所在的位置:网站首页 oppo怎么翻译语音中文 Android应用离线中文语音识别PocketSphinx

Android应用离线中文语音识别PocketSphinx

2024-04-22 04:00| 来源: 网络整理| 查看: 265

# Android应用离线中文语音识别PocketSphinx (免费哦~)

该文章重点在中文语音识别的应用上

前言

鉴于抠门老板的突发奇想,想试试能不能加语音控制功能但不花钱,想着买电子硬件、做模具花了钱,软件能不花钱就不花钱。于是我一直百度搜索语音识别功能,语音龙头的科大讯飞需要收费,苦苦寻找怎么找个demo应付老板,一个上午之际最后找到神奇的PocketSphinx 。

一、不太推荐的知名demo 1.官方demo PocketSphinx (github.com/cmusphinx/p…

不推荐理由:我们的目的是普通话的识别,可惜官方Android的demo有个弊端,用中文做关键字会报错闪退,大概理由是中文比英文多字节。 有能力可以自己下载源码,然后修改字节数,重新编译。

2.crystalyf大神的demo blog.csdn.net/Crystal_xin…

不推荐理由:该demo下载下来,可以在手机运行,普通话可以识别。但由于Android版本的问题,so文件导入到自己的项目会报错,targetSdk必须是23以下,解决办法降低版本或重新编译源码

(十分感谢这位大神的博客文章,资料详尽,让我知道有这个库可以用)。

二、推荐的demo 1. eson-yunfei的demo github.com/eson-yunfei…

感谢这位大神,让我看到曙光,经过试验可以在Android高版本运行,只需把对应文件和代码,放在自己的项目里,如下图我的项目

语音.png

其中build.gradle记得加上jni的导入:

defaultConfig { ..... ndk { abiFilters "armeabi", "armeabi-v7a" } } dependencies { ....... implementation(fileTree(dir: 'libs', include: ['*.jar'])) implementation files('libs/pocketsphinx-android-5prealpha-nolib.jar') } ant.importBuild 'assets.xml' preBuild.dependsOn(list, checksum) clean.dependsOn(clean_assets) 2.编辑词条 编辑词条的方法具体可以参考https://www.jianshu.com/p/4310ae932fdd 1.下载普通话的发音表(注意该demo使用是不带音标的版本,即旧版本)

下载 CMU Sphinx - Browse /Acoustic and Language Models/Archive/Mandarin at SourceForge.net

的zh_broadcastnews_utf8.dic文件

2.更改已移植的自己项目中的词条文件

改动voice.dic和zh_test.gram

按照本来格式,再对照上一步下载的zh_broadcastnews_utf8.dic文件里的拼音对比,如我的项目里

语音2.png

语音3.png

3.代码使用: 调用 PocketSphinxUtil类的startRecord()开始语音,stopRecord结束,在结束后接口返回字符串数组 4. 效果示范:

当我说出“你好,张三” 结束后有返回值

语音.gif

总结 该离线语音识别,经测试,不太准,人多时候,识别其他词。 但免费,而且集成度高,使用难度低,又能中英识别,还要啥自行车呢。 想普通话中文识别,可用该文的方法,只需要英文,还是官方最新版本最好。 肯花钱建议用主流的讯飞或百度的服务之类,才是王道


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3