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,
DEFAULT
andMIC
initially being there,VOICE_UPLINK
,VOICE_DOWNLINK
, andVOICE_CALL
added in API level 4,CAMCORDER
andVOICE_RECOGNITION
added in API 7,VOICE_COMMUNICATION
added in API 11,REMOTE_SUBMIX
added 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?