• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

音频处理从来没有开始在pocketsphinx功能的Android

Android 来源:Sophour 6次浏览

我一直在努力实现在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 6

E/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后,所有工作都完成了。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)