How can I do audio recordings using android.media.AudioRecord without any smartphone-manufacturer-dependent fancy signal processing like automatic gain control (AGC) and/or equalization, noise suppression, echo cancellation, ... just the pure microphone signal?
Background
MediaRecorder.AudioSource provides nine constants,
DEFAULTandMICinitially being there,VOICE_UPLINK,VOICE_DOWNLINK, andVOICE_CALLadded in API level 4,CAMCORDERandVOICE_RECOGNITIONadded in API 7,VOICE_COMMUNICATIONadded in API 11,REMOTE_SUBMIXadded in API 19 but not available to third-party applications.
But none of them does a clean job across all smartphones. Rather, I have to find out myself it seems, which device uses which combinations of signal processing blocks for which MediaRecorder.AudioSource constant.
Would be nice to have a tenth constant like PURE_MIC added in API level 20.
But as long as this is not available, what can I do instead?