音频处理从来没有开始在pocketsphinx功能的Android
我一直在努力实现在Android驱动的智能眼镜的语音识别VUZIX M300(有一个内置的解决方案了,但它不支持我需要的语言)。我试图运行一个pocketsphinx-android demo-app(在这个配置中,我的智能手机能正常工作,顺便说一句,我禁用了磨损模块)。问题是onPartialResult()方法从未被调用过,没有处理audiostream。我瞬间得到的错误是:音频处理从来没有开始在pocketsphinx功能的Android
异步任务,建立rcognizer完成应用程序的迷恋与错误后:
09-26 15:26:27.779 9059-9059/edu.cmu.sphinx.pocketsphinx A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xc in tid 9059 (nx.pocketsphinx)
09-26 15:26:27.881 293-293/? A/DEBUG: * *
09-26 15:26:27.882 293-293/? A/DEBUG: Build fingerprint: 'intel/m300/vm300:6.0.1/MMB29M/201709151537:user/1.2.2'
09-26 15:26:27.882 293-293/? A/DEBUG: Revision: '0'
09-26 15:26:27.882 293-293/? A/DEBUG: ABI: 'x86'
09-26 15:26:27.882 293-293/? A/DEBUG: pid: 9059, tid: 9059, name: nx.pocketsphinx >>> edu.cmu.sphinx.pocketsphinx <<<
09-26 15:26:27.882 293-293/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 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/DEBUG: esi ffd1bc78 edi f7ba66dc
09-26 15:26:27.914 293-293/? A/DEBUG: 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 flags 00210292
09-26 15:26:27.920 293-293/? A/DEBUG: backtrace:
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/[email protected]@boot.oat (offset 0x1f10000)
09-26 15:26:28.052 293-293/? A/DEBUG: Tombstone written to: /data/tombstones/tombstone_03
09-26 15:26:28.052 293-293/? E/DEBUG: AM write failed: Broken pipe
09-26 15:26:28.379 205-205/? E/lowmemorykiller: Error opening /proc/9059/oom_score_adj; errno=2
而当我进入课堂public boolean startListening(String searchName){}
方法SpeechRecognizer.class我开始越来越这个错误ifinitely:
E/AudioStreamIn: setDevice: invalid input device 4
E/AudioIntelHal: read: No sound trigger handle found for input source 6E/AudioFlinger: read failed: framesRead=-22
,因为我打这个代码:this.recognizerThread.start();
关键是标准的android AudioRecord在眼镜上工作正常,没有微发生问题,但pocketsphinx不会简单地看到或处理audiostream。所有权限都被授予,解码器已设置并准备就绪,但没有成功。
敏SDK版本:API 23:Android的6.0(棉花糖)
编译SDK版本:VUZIX M300 SDK(API 23)
生成工具版本:26.0.1
(也试过分钟API 19,编译SDK API 25,构建工具25.0.0成功上smatphone,对眼镜没有成功)
任何帮助,不胜感激!
UPD: 好,如果以后audioRecord.startRecording();
一切冻结,当我在AudioRecord类打
native_read_in_short_array(audioData, offsetInShorts, sizeInShorts, readMode == READ_BLOCKING);
audioRecord.read(buffer, 0, buffer.length);
被调用。在那里,我没有任何线索..
回答:
正如尼古拉说,问题出现了,由于音频源。我们的设计内置的语音识别系统已经阻止了VOICE_RECOGNITION源,甚至被关闭。在AudioRecord初始化内部的Pocketsphinxe的android源代码中,MIC源代替VOICE_RECOGNITION后,所有工作都完成了。
以上是 音频处理从来没有开始在pocketsphinx功能的Android 的全部内容, 来源链接: utcz.com/qa/259301.html