I'm working on a project in which I have to use an Android Development Board, just like following, to record audio via MIC, specifically speech.
For my audio, from MIC, I want it to be filtered with background noise. I know I can apply some noise suppression algorithms to filter it but I want to use the built-in feature VOICE_RECOGNITION as audio source, this, to filter background noise.
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 says:
Microphone audio source tuned for voice recognition if available, behaves like DEFAULT otherwise.
It says 'if available', it make sense that this feature is not available in all devices neither it is an Android OS part because if it is a part of OS, it should be available in all devices. It means, it is something related to hardware and all the manufacturer probably are not providing this feature.
My questions:
- How I can know whether this feature is available or not before I go for purchase?
- Is this feature is really related to hardware, as I assumed?
- If this feature is not available in my respective device, How I can bring it on ?
NOTE: All the Android Development Boards, defined above, can run Android JellyBean 4.2.2.
NOTE: I have Samsung Galaxy S2 and this feature is available in it. Tested, works fine.
Any extra details would be appreciated. Thanks