gpt4 book ai didi

android - 如何识别用户何时开始和停止在 android 中说话? (Android中的语音识别)

转载 作者:太空狗 更新时间:2023-10-29 12:53:12 25 4
gpt4 key购买 nike

我进行了大量的研发工作并使用了大量资源来解决我的问题,但我未能找到任何合适的解决方案。

我开发了一个应用程序,现在我想为其添加基于语音的功能

所需的功能是

1) 当USER开始说话时,它应该录制音频/视频并且

2) 当用户停止说话时,它应该播放录制的音频/视频

注意:这里的视频是指用户在该时间段内在应用内执行的任何操作。例如,点击按钮或某种动画等。

我不想使用 Android 中默认提供的 Google 语音识别器,因为它需要互联网,但我的应用程序可以离线运行。另外,我了解到 CMU-Sphinx .但这对我的要求没有帮助。

已编辑:-另外,我想补充一点,我已经使用“开始”和“停止”按钮实现了这一点,但我不想使用这些按钮。

如果有人有任何想法或建议,请告诉我。

最佳答案

最简单最常用的方法是count the number of zero crossings在音频中(即当符号从正变为负时)。

如果该值太高,则声音不太可能是语音。如果它太低,那么它也不太可能是语音。

将其与简单的能量水平(音频的音量)结合起来,您将得到一个非常强大的解决方案。

如果您需要一个更精确的系统,那么它会变得更加复杂。一种方法是从“训练数据”中提取音频特征(例如 MFCC s),用类似 GMM 的东西对它们进行建模。然后根据 GMM 测试您从实时音频中提取的特征。通过这种方式,您可以对给定音频帧是语音而非非语音的可能性进行建模。然而,这不是一个简单的过程。

我强烈建议沿用过零线,因为它易于实现,并且在 99% 的时间里都能正常工作 :)

关于android - 如何识别用户何时开始和停止在 android 中说话? (Android中的语音识别),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9788674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com