我是Android“Speech To Text”字段中的软件工程师和新手。 目前,我正在尝试使用Google SpeechRecognizer构建一个使用“Speech To Text”的Android应用程序,我想添加一项功能,让用户在谈到他们与麦克风的接近程度时提供反馈。 例如如果他们说得足够接近麦克风,它应该在屏幕上显示绿色,这意味着好的。 如果他们说话远离麦克风,它应该在屏幕上显示红色,这意味着不行。
我一直在尝试使用Google SpeechRecognizer中的onRmsChanged方法执行此操作,并且基于rmsdB值,如果dB值非常低,则显示红色;如果dB值足够大,则显示绿色(通过累积和计算平均值语音期间的rmsdB值
我目前的问题是从SpeechRecognizer获取rmsdB值的速度很慢,有时它会停止提供rmsdB值几秒钟然后再次工作。 此外,我发现使用rmsdB值确定用户是否说得足够接近麦克风是有点棘手的。 我也尝试使用MediaRecorder并使用幅度值。它在精度和速度方面更好,但不幸的是它不能与Google SpeechRecognizer结合使用,因此我放弃了它,因为我需要保留SpeechRecognizer。
有没有人有使用语音声级计算Android中麦克风距离的经验? 知道最好的方法是确定用户是否说得足够接近麦克风, 不胜感激。 感谢。