我正在开展一个项目,我必须使用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操作系统部分,因为如果它是操作系统的一部分,它应该适用于所有设备。这意味着,它与硬件相关,并且所有制造商可能都没有提供此功能。
我的问题:
注意:上面定义的所有Android开发板都可以运行Android JellyBean 4.2.2。
注意:我有三星Galaxy S2并且可以使用此功能。经过测试,效果很好。
任何额外的细节将不胜感激。 感谢
答案 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输入具有内置处理。