问题标签 [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.
android - 在 Android 上使用带有 Studio 2.3.1 的 Pocketsphinx Demo
我想通过 VCS 测试 Pocketsphinx Demo,在 Studio 2.3.1 中我使用 VCS/github 克隆了项目,项目 URL 为http://github.com/cmusphinx/pocketsphinx-android-demo
但是当我运行它时,最小 SDK 是 24 是否可以使用其他 SDK 运行它?因为我的手机是APi23。
java - CMUSphinx:无法识别关键字
几天前我做了语音识别服务,它工作得很好,但现在当我再次在手机上运行时,当我说一些东西时,它只是“onstart”和“onend”,没有任何识别,但有时它是“onstart”并听取关键字采取行动如何确保每次我说关键字时都能正确识别
关键字.gram
android - 关键字发现:hypotesis 为空,直到它恰好是您正在寻找的关键字之一
我正在使用onPartialResult
方法来查看是否hypotesis
是我感兴趣的关键字之一,并且效果很好。
这是我的代码:
现在我想处理用户说了什么但它没有被识别为关键字的情况;在这种情况下,onPartialResult
方法中的假设总是null
:这是预期的吗?我在这里期待一个不为零的假设......
考虑到该onPartialResult
方法由pocketsphinx自动调用(同样当空气中没有任何声音时)我不能使用这个null
假设作为我的驾驶条件。
此外,每次识别后都有一个文本到语音,因此必须仔细处理识别监听器重新启动:在文本到语音正在进行时识别器不能在监听...
我尝试了一些解决方案,onEndOfSpeech
但直到现在都没有好...任何的想法?
android - Pocketsphinx android中的降噪
我目前正在写我的学士论文,我想使用pocketsphinx进行热门词检测,包括降噪以使其在嘈杂的环境中工作。
为此,我下载了最新的 pocketsphinx-android-demo,修改了一些诸如启动指令之类的东西,并在开车时测试了汽车的准确性。
准确性很低,我想尝试改进它。
在常见问题解答中有一些有用的提示,我想看看已经实现的降噪算法(可能会扩展它)
问题:
- 降噪算法是否已经在 pocketsphinx-android-demo ( pocketsphinx-android-5prealpha-release.aar ) 中默认实现和使用?如果没有,如何激活此功能?
- 为了查看降噪算法,我可能需要查看pocketsphinx |的源文件。sphinxbase,对吗?如果是,哪个文件包含降噪算法?这对了解如何扩展它非常有帮助。
speech-recognition - 让 pocketSphinx android 演示工作的步骤是什么?
按照说明,我只是将 cmuSphinx 站点中的演示项目克隆到 android studio 中,但该项目无法构建和运行。
有人可以列出让演示正常运行的分步指南吗?
android - 语音识别器设置时,Android上的Pocketsphinx“LDA与多流功能不兼容”
我在这里尝试用俄语替换英语声学模型时遇到了一个问题:
错误是:“java.lang.ClassNotFoundException:edu.cmu.pocketsphinx.SphinxBaseJNI”
我从sourceforge下载了所有档案并尝试了每组声学模型:zero_ru.cd_ptm_4000、zero_ru.cd_cont_4000、zero_ru.cd_semi_4000、cmusphinx-ru-5.2,方法是将它们粘贴到文件夹 ...\models\src\main\ pocketsphinx-android-demo-master 应用程序的 assets\sync\en-us-ptm。当然,我也更换了英语词典。在此方法中配置 SpeechRecognizer 的“-hmm”内容时发生错误:
在 pocketsphinx 的 SpeechRecognizerSetup.class 中。缺少哪些课程?英语语音识别在我的 KitKat 4.4.2 上非常完美
IDE:Android Studio 2.33
摇篮版本:3.3
安卓插件版本:2.3.3
gradle.build 应用程序:
编辑 过的Logcat:
任何帮助将不胜感激!
java - 使用解码器的 addWord 方法时出错
尝试运行这些行后:
我收到此错误:由以下原因引起:java.lang.RuntimeException: Decoder_addWord returned -1.
我正在尝试向字典中添加一个单词,我可以将它直接添加到 cmudict-en-us.dict 文件中。问题是当我使用该方法将其用作关键短语时,该应用程序将所有可能的声音识别为单词“volip” addKeyphraseSearch()
。
android - 音频处理从不在 pocketsphinx-android 中开始
我一直在尝试在 android 驱动的智能眼镜 Vuzix M300 上实现语音识别(已经有一个内置的解决方案,但它不支持我需要的语言)。我正在尝试仅运行一个 pocketsphinx-android 演示应用程序(在该配置中,它在我的智能手机上运行良好。顺便说一句,我已经禁用了磨损模块)。问题是永远不会调用 onPartialResult() 方法,也不会处理音频流。我立即得到的错误是:
E/sound_trigger_hw: int sound_trigger_open_for_streaming(): DSP 当前没有流式传输 E/AudioStreamIn: intel_audio::StreamIn::StreamIn(intel_audio::Device*, audio_io_handle_t, uint32_t, audio_source_t, audio_devices_t): 无法打开 DSP 进行流式传输
设置 rcognizer 的异步任务完成后,应用程序崩溃并出现错误:
09-26 15:26:27.779 9059-9059/edu.cmu.sphinx.pocketsphinx A/libc:致命信号 11 (SIGSEGV),代码 1,tid 9059 (nx.pocketsphinx) 中的故障地址 0xc
09-26 15:26:27.881 293-293/? 一个/调试:* *
09-26 15:26:27.882 293-293/? A/DEBUG:构建指纹:'intel/m300/vm300:6.0.1/MMB29M/201709151537:user/1.2.2'
09-26 15:26:27.882 293-293/? A/DEBUG:修订:'0'
09-26 15:26:27.882 293-293/? A/调试:ABI:'x86'
09-26 15:26:27.882 293-293/? A/DEBUG:pid:9059,tid:9059,名称:nx.pocketsphinx >>> edu.cmu.sphinx.pocketsphinx <<<
09-26 15:26:27.882 293-293/? A/DEBUG:信号 11 (SIGSEGV),代码 1 (SEGV_MAPERR),故障地址 0xc
09-26 15:26:27.914 293-293/? A/DEBUG: eax f7ba6650 ebx f3d15964 ecx 00000000 edx ffd1bc78
09-26 15:26:27.914 293-293/? A/调试:esi ffd1bc78 edi f7ba66dc
09-26 15:26:27.914 293-293/? A/调试:xcs 00000023 xds 0000002b xes 0000002b xfs 00000007 xss 0000002b
09-26 15:26:27.915 293-293/? A/DEBUG:eip f3aed3bf ebp ffd1bcb8 esp ffd1bc20 标志 00210292
09-26 15:26:27.920 293-293/? A/DEBUG:回溯:
09-26 15:26:27.921 293-293/? A/DEBUG: #00 pc 005603bf /system/lib/libart.so (_ZN3art6Thread28PopDeoptimizationReturnValueEv+31)
09-26 15:26:27.921 293-293/? A/DEBUG: #01 pc 0014536b /system/lib/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+667)
09-26 15:26:27.921 293-293/? A/DEBUG: #02 pc 0052feb8 /system/lib/libart.so (_ZN3art12InvokeMethodERKNS_33ScopedObjectAccessAlreadyRunnableEP8_jobjectS4_S4_j+1752)
09-26 15:26:27.921 293-293/? A/DEBUG: #03 pc 004a7e41 /system/lib/libart.so (_ZN3artL13Method_invokeEP7_JNIEnvP8_jobjectS3_S3_+81)
09-26 15:26:27.921 293-293/? A/DEBUG: #04 pc 72a83ca4 /data/dalvik-cache/x86/system@framework@boot.oat (offset 0x1f10000)
09-26 15:26:28.052 293-293/? A/DEBUG:Tombstone 写入:/data/tombstones/tombstone_03
09-26 15:26:28.052 293-293/? E/DEBUG:AM 写入失败:管道损坏
09-26 15:26:28.379 205-205/? E/lowmemorykiller:打开 /proc/9059/oom_score_adj 时出错;错误号=2
当我进入public boolean startListening(String searchName){}
SpeechRecognizer.class 类中的方法时,我开始收到这个错误:
E/AudioStreamIn: setDevice: 无效输入设备 4
E/AudioIntelHal: 读取: 找不到输入源 6 的声音触发句柄E/AudioFlinger:读取失败:frameRead=-22
当我点击这段代码时:this.recognizerThread.start();
关键是标准的 android AudioRecord 在眼镜上运行良好,不会出现 micro 问题,但 pocketsphinx 并不简单地查看或处理音频流。授予所有权限,解码器已设置并准备就绪,但没有成功。
最低 SDK 版本:API 23:Android 6.0 (Marshmallow)
编译 SDK 版本:Vuzix M300 SDK (API 23)
构建工具版本:26.0.1
(还尝试过 min API 19,Compile SDK API 25,Build tool 25.0.0 在 smatphone 上成功,在眼镜上没有成功)
非常感谢任何帮助!
UPD:
好吧,如果在我点击时一切都冻结audioRecord.read(buffer, 0, buffer.length);
后调用audioRecord.startRecording();
在 AudioRecord 类中。那里我没有线索..
android - Android PocketSphinx 劫持麦克风
所以我在我的应用程序上安装了 Pocketsphinx,关键字功能运行良好。我按照本教程https://cmusphinx.github.io/wiki/tutorialandroid/
进行设置。我遇到的问题是它劫持了麦克风,因此只要它正在等待关键字,您就不能再将它用于语音到文本或其他任何东西。我知道当你使用它时,Ok Google
你仍然可以使用语音来发短信。有人能指出我如何使用语音命令关键字并且仍然能够将麦克风用于其他事情的方向吗?
pocketsphinx-android - Android-speech-api + pocketsphinx android 导致 ERROR_SPEECH_TIMEOUT
听了一个关键字(使用pocketsphinx)后,我尝试启动谷歌语音识别器,但收到很多onRmsChanged()
带有负数的电话,而不是ERROR_SPEECH_TIMEOUT
.
代码:
我试图运行该行:
OnError()
如果错误是但ERROR_SPEECH_TIMEOUT
没有响应。
编辑: