问题标签 [pocketsphinx-android]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pocketsphinx-android - 即使我在说话,也会调用 Pocketsphinx android onEndOfSpeech()
我正在尝试识别应用程序中的数字。当我说数字时,它会调用onEndOfSpeech()
方法,但我仍然必须说数字。有时它工作正常,有时即使有 0.5 秒的延迟也会导致语音结束。
pocketsphinx-android - PocketSphinx on Android setKeywordThreshold() 问题
我想通过 setKeywordThreshold() 方法降低阈值。官方演示应用程序中 this 的默认值为 1e-45。有人告诉我,最小值可能是 1e-200。见这篇文章:https ://sourceforge.net/p/cmusphinx/discussion/help/thread/05d09693/?limit=25
因此,我尝试将其设置为 1e-150,但 Android Studio 抱怨阈值应为“float”类型,而不是“double”类型。
谁能告诉我如何将其设置为低于 1e-45?谢谢!
android - Pocketsphinx - 完善热词检测
我最近重新访问了CMU Sphinx并尝试为 Android 设置一个基本的热词检测器,从教程开始并调整示例应用程序。
我遇到了各种问题,尽管深入研究了他们的文档,但我无法解决这些问题,直到我无法再阅读......
为了复制它们,我制作了一个基本项目,旨在检测关键字唤醒你和唤醒我。
我的字典:
我的语言模型:
以上两个都是使用建议的工具创建的。
我的关键短语文件:
调整上面链接的示例应用程序,这是我的代码:
注意:- 我是否应该将我选择的关键短语(和其他相关文件)更改为更加不同,并且我在安静的环境中测试实现,应用的设置和阈值工作非常成功。
问题
- 当我说唤醒你或唤醒我时,两者都会被检测到。
我无法确定如何对结尾音节应用增加的权重。
- 当我说只是wakeup时,通常(但不总是)两者都会被检测到。
我无法确定如何避免这种情况发生。
- 在针对背景噪声进行测试时,误报太频繁了。
我无法降低我正在使用的基本阈值,否则在正常条件下无法始终如一地检测到关键短语。
- 当长时间针对背景噪音进行测试时(5 分钟应该足以复制),立即返回安静的环境并说出关键短语,导致检测不到。
在成功且重复地检测到关键短语之前需要一段不确定的时间 - 就好像测试是在安静的环境中开始的一样。
我发现了一个可能相关的问题,但链接不再有效。我想知道我是否应该更频繁地重置识别器,以便以某种方式将背景噪声从平均到检测阈值中重置?
- 最后,我想知道我对有限关键词的要求是否可以让我减小声学模型的大小?
在我的应用程序中打包时的任何开销当然都是有益的。
最后(老实说!),特别希望@NikolayShmyrev会发现这个问题,有没有计划完全通过gradle 包装一个基本的Android 实现/ sdk?
我感谢那些让我走到这一步的人...
android - 声学模型中缺少电话“MA”;单词'masoud' - 口袋狮身人面像
我的名字是masoud
。现在我想当我说masoud
,我的应用程序打印一个控制台日志。
为此,我制作了一个mdic.txt
文件,并将我的名字放入其中:
马苏德 MA SOD
我改为mdic.txt
并将mdic.dict
其放在assets/sync
direcotry 中。
我制作了一个cm.txt
文件,并在其中放入了一个字符串:
我cm.txt
改为cm.gram
.
在我的 MainActivity
现在我收到了这条消息:
“dict.c”,第 195 行:第 1 行:声学模型中缺少电话“MA”;单词“masoud”忽略了“kws_search.c”,第 171 行:字典中缺少单词“masoud”
我在recognizer.addKeywordSearch(KWS_SEARCH, new File(assetsDir, "mdic.dict"));
line 收到此错误。
android - Pocketsphinx Android 演示错误:“无法初始化识别器 java.io.IOException:无法初始化录音机。麦克风可能已在使用中。”
我一直在使用 Pocketsphinx Android 演示并收到错误:“无法初始化识别器 java.io.IOException:无法初始化记录器。麦克风可能已经在使用中。”
错误是什么意思,我能做些什么来解决它?
android - 如何告诉 Android Studio 不要在 jniLibs 文件夹中查找特定库?
我是 android studio 的新手,正在开发一个使用 OpenCV 的现有项目。我需要为 Android 实现 CMU 的 Pocketsphinx,并且按照他们提供的安装步骤,我在项目的 /src 目录中创建了一个 jniLibs 文件夹,并将用于 pocketsphinx 的适当文件放在那里。
这就是问题发生的地方 - 当我这样做时,我突然收到以下错误消息:
如果我在 /src 目录中没有 jniLibs 文件夹,我不会收到此错误,但当然我会从 pocketSphinx 收到一个错误,说它找不到所需的 .so 文件。
更重要的是,在查看了 OpenCV 的 SDK 之后,我注意到没有“libjniopencv_core.so”这样的文件。它在任何地方都不存在,还有其他 .so 文件,但没有一个具有该名称。即使我将所有 armeabi 和其他目录从 openCV 安装到我的新 jniLibs 文件夹,我仍然会收到此错误消息。
如何告诉 android studio 仅加载 pocketsphinx jniLibs 文件,而忽略在该目录中搜索 openCV .so 文件?
android - 拥有并作为 android pocketsphinx 的输出
我们正在使用 pocketsphinx 来帮助我们将 .wav 文件转换为文本文件。我们不知道为什么它给我们一个奇怪的输出,因为它只给我们<s>
并且</s>
在转换之后。我们使用 cmusphinx 社区提供的默认字典、语言模型和声学模型。
这是我们用于转换的代码:
speech-recognition - 同时使用语音识别和可视化工具
目前我正在使用pocketsphinx进行语音识别和可视化器来显示我对麦克风所说的音频波形但是,我一次只能运行一件事。因为麦克风将被可视化器使用,并且在语音识别中没有任何反应。请查看我的代码并帮助我同时运行它们
主要活动
这是可视化视图
这是布局
android - 个别关键短语的分裂假设
我在我的 Android 应用程序中使用 Pocketsphinx。我有一组相对较少的命令需要独立识别,所以我最终使用了来自如下文件的关键字搜索:
实际列表不是英文的,因此为了示例,这些关键字是任意选择的。我意识到这些阈值可能不太理想,而且短词容易出现不匹配。
这种方法会出现问题:
请注意,有些词听起来非常相似。事情是,
- “一”导致
"done one" recognized
- “完成”导致
"one done" recognized
不幸的是,我找不到任何文档hypstr_get
(如果您能指导我,我将不胜感激)但实际上它似乎以概率递增的顺序返回了可能匹配的连接字符串。
如何从中检索实际命令hypothesis
?我不能只hypothesis.getHypstr()
用空格分割,因为有些命令是关键短语而不是关键字。我只想要一个最可能的结果。
谢谢。
android - Pocketsphinx 解码器无法初始化
我正在尝试在我的应用程序中实现一个启动指令,它将使用 CMUSphinx 启动语音输入。我从教程中复制了代码,做了一些更改以启动语音输入,但它不起作用。我用于识别的 mainActivity 代码如下所示:
我的关键词是“HI”。问题是,每当我运行此代码时,我都会收到一条“失败”的 toast 消息,原因是:
这可能有什么问题?
我对这些东西很陌生,所以这方面的任何帮助都会非常有帮助。
谢谢你。