MediaRecorder.AudioSource.VOICE_RECOGNITION 是不是可用

Posted

技术标签:

【中文标题】MediaRecorder.AudioSource.VOICE_RECOGNITION 是不是可用【英文标题】:MediaRecorder.AudioSource.VOICE_RECOGNITION is available or notMediaRecorder.AudioSource.VOICE_RECOGNITION 是否可用 【发布时间】:2014-05-10 18:01:05 【问题描述】:

我正在做一个项目,我必须使用 android 开发板,就像下面一样,通过 MIC 录制音频,特别是语音。

PandaBoard BeagleBone Black AM335x Evaluation Module

对于来自 MIC 的音频,我希望它被背景噪音过滤掉。我知道我可以应用一些噪声抑制算法来过滤它,但我想使用内置功能 VOICE_RECOGNITION 作为音频源this 来过滤背景噪声。

AudioRecord audioRecord = new AudioRecord(Audiosource.MIC, SAMPLE_RATE, CHANNEL_CONFIG, AUDIO_FORMAT, minBufSize);
AudioRecord audioRecord = new AudioRecord(AudioSource.VOICE_RECOGNITION, SAMPLE_RATE, CHANNEL_CONFIG, AUDIO_FORMAT, minBufSize);

This, VOICE_RECOGNITION 说:

为语音识别调整的麦克风音频源(如果可用),否则行为类似于 DEFAULT。

上面写着'如果可用',这是有道理的,此功能并非在所有设备上都可用,也不是 Android 操作系统的一部分,因为如果它是操作系统的一部分,它应该在所有设备。这意味着,它与硬件有关,所有制造商可能都没有提供此功能。

我的问题:

    我在购买之前如何知道此功能是否可用? 这个功能真的像我想象的那样与硬件有关吗? 如果此功能在我的相应设备中不可用,我该如何启用它?

注意:上面定义的所有 Android 开发板都可以运行 Android JellyBean 4.2.2。

注意:我有三星 Galaxy S2,并且可以使用此功能。经测试,工作正常。

任何额外的细节将不胜感激。 谢谢

【问题讨论】:

你觉得用google api来语音识别吗? 是的,这是我的计划,但在此之前我更专注于噪音抑制。 【参考方案1】:

我的理解是通过使用单独捕获环境噪音的第二个专用麦克风来实现噪音消除。我相信与硬件相关的要求是这个专用麦克风的存在。

查看 Galaxy S2 的技术规格,您可以看到以下功能:

使用专用麦克风主动降噪

来源:http://www.gsmarena.com/samsung_i9100_galaxy_s_ii-3621.php

作为另一个例子,Nexus 5 在技术规范中提到:

双麦克风

来源:https://www.google.com.au/nexus/5/

谢谢

【讨论】:

【参考方案2】:

VOICE_RECOGNITION 具有最少(通常没有)预处理。默认 MIC 输入具有内置处理。

【讨论】:

任何人都可以通过参考备份它吗?

以上是关于MediaRecorder.AudioSource.VOICE_RECOGNITION 是不是可用的主要内容,如果未能解决你的问题,请参考以下文章

MediaRecorder.AudioSource参数

使用 MediaRecorder.AudioSource.VOICE_COMMUNICATION 录制的音频在某些搭载 Android 10 的设备上为空

关于Android的MediaRecorder.AudioSource设置成VOICE_CALL为啥录不到声音?

MediaRecorder.AudioSource中VOICE_CALL和VOICE_COMMUNICATION之间的区别

Android 音频相关

android MediaRecorder录制音频