MediaRecorder.AudioSource.VOICE_RECOGNITION可用或不可用

时间:2014-03-31 11:53:22

标签: android api voice-recognition android-hardware noise-reduction

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

对于我的音频,来自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操作系统部分,因为如果它是操作系统的一部分,它应该适用于所有设备。这意味着,它与硬件相关,并且所有制造商可能都没有提供此功能。

我的问题:

  1. 在我购买之前,如何知道此功能是否可用?
  2. 这个功能是否真的与硬件有关,正如我所假设的那样?
  3. 如果我的相应设备中没有此功能,我可以如何启用它?
  4. 注意:上面定义的所有Android开发板都可以运行Android JellyBean 4.2.2。

    注意:我有三星Galaxy S2并且可以使用此功能。经过测试,效果很好。

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

2 个答案:

答案 0 :(得分:2)

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

查看Galaxy S2的技术规格,您可以看到该功能标注为:

  

使用专用麦克风进行主动降噪

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

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

  

双麦克风

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

由于

答案 1 :(得分:1)

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