Microphone — what it is, types and how it works in mobile devices

Author: IT Sectr Published: 2026-03-24 Reading time: 10 min

A microphone in mobile devices is an acousto-electric transducer that converts sound waves into an electrical signal for subsequent digitization and processing. Modern smartphones use MEMS microphones with a capacitive operating principle and built-in ADC. According to Yole Group, 2025, more than 6 billion MEMS microphones are shipped annually, of which 35% are installed in smartphones — 3–4 microphones per device.

Key Takeaways

  • MEMS microphone — the main type of microphone in smartphones: a silicon membrane changes capacitance under sound pressure, the signal is digitized by a built-in ADC (PDM output)
  • Typical configuration — a modern smartphone contains 3–4 microphones: primary (bottom), front (top) and rear for noise cancellation
  • Noise cancellation (ANC) — a differential method where the primary microphone records voice and the secondary one captures background noise, then the signals are subtracted by a digital processor
  • AudioRecord (Android) and AVAudioEngine (iOS) — the main APIs for capturing audio stream from the microphone in mobile applications
  • Sampling rate 44.1 kHz and 16 bits — the minimum quality standard for voice and music recording in mobile applications

What is a microphone?

Microphone is an electroacoustic device that converts sound pressure oscillations into an electrical signal. By operating principle, they are divided into dynamic (coil in a magnetic field), condenser (capacitance change) and piezoelectric. In mobile devices, the vast majority are condenser MEMS microphones due to their miniature size (2.5 × 1.5 mm) and compatibility with surface-mount technology (SMD).

A microphone consists of a diaphragm that vibrates under sound pressure and a fixed electrode, forming a capacitor. The change in distance between the plates alters the capacitance, which modulates the output voltage. In MEMS microphones, the diaphragm is made of polysilicon using photolithography — this ensures identical characteristics of all microphones in a batch.

The output signal of a MEMS microphone is PDM (Pulse Density Modulation) — a one-bit stream with a sampling rate of 1–4 MHz. Smartphone codecs decode PDM into PCM (Pulse Code Modulation) through a digital decimation filter, obtaining a standard audio format of 16–24 bits at 44.1–96 kHz for application processing.

MEMS vs electret microphones

Before the advent of MEMS, mobile devices used electret condenser microphones (ECM). In these, the diaphragm had a permanent electric charge (electret), and diaphragm vibrations created an alternating voltage. ECM microphones are larger (4–6 mm) and require a separate preamplifier, increasing the PCB footprint.

ParameterMEMS microphoneElectret (ECM)
Package size2.5 × 1.5 × 1.0 mm4 × 2.5 × 1.5 mm
Sensitivity−26 ± 1 dB (FS)−38 ± 3 dB (FS)
SNR (typical)64–69 dBA58–64 dBA
AOP (max SPL)125–135 dB115–125 dB
Current consumption150–300 µA300–500 µA
Temperature range−40…+105 °C−20…+70 °C

MEMS microphones dominate due to smaller size, stable characteristics, and solderability on standard SMD lines. However, ECMs continue to be used in budget devices due to lower component cost ($0.15–0.30 vs $0.25–0.60 for MEMS).

Multi-microphone configuration: primary, front, rear

Modern smartphones contain 3 to 4 microphones, whose placement determines recording quality and noise cancellation. The primary microphone (bottom) is located on the bottom edge next to the USB-C port — it records the user's voice during calls and video recording. The front (top) microphone is on the top edge for voice commands and a second channel in stereo recording.

The rear (back) microphone is typically placed near the camera on the back panel and is used exclusively for noise cancellation. Its signal is not recorded in the audio file — it is only subtracted by the digital processor from the primary microphone signal. In some flagships (iPhone 16 Pro, Samsung Galaxy S25), a fourth microphone is installed — in the front camera notch to improve recording during video calls.

Stereo video recording is implemented through a combination of bottom and top microphones. iOS automatically selects the microphone pair depending on device orientation — in landscape mode, the left channel comes from the left edge, the right from the right edge. On Android, this logic depends on the OEM manufacturer's implementation and may differ between models.

Example of selecting an audio source in Kotlin (Android)

kotlin
val recorder = AudioRecord(
    MediaRecorder.AudioSource.CAMCORDER,
    44100,
    AudioFormat.CHANNEL_IN_MONO,
    AudioFormat.ENCODING_PCM_16BIT,
    bufferSize
)
recorder.startRecording()

val buffer = ShortArray(bufferSize)
while (recorder.recordingState == AudioRecord.RECORDSTATE_RECORDING) {
    recorder.read(buffer, 0, buffer.size)
    // PCM buffer processing
}

AudioSource.CAMCORDER selects the microphone optimal for video recording — typically the bottom primary microphone with automatic gain control. For voice recording, VOICE_RECOGNITION is used — this source disables all filters and noise cancellation for a clean signal for speech recognition.

How noise cancellation works in smartphones

Active Noise Cancellation (ANC) in smartphones is based on the differential method: a second (reference) microphone records primarily background noise, while the primary microphone captures a mix of voice and noise. A digital signal processor (DSP) subtracts the reference signal from the primary, leaving only clean voice.

Noise cancellation quality depends on the distance between microphones and their directivity. Typical suppression of uniform noise (airplane, fan) is 20–35 dB. For impulse noises (door slam, dish clatter), an additional transient suppression block is used, which replaces the distorted segment with an approximated signal from neighboring samples.

Developers can influence noise cancellation algorithms only through audio session parameters: on Android — AudioManager.setParameters("noise_suppression=on/off"), on iOS — AVAudioSession category .playAndRecord with .allowBluetoothA2DP option. When recording for recognition, noise cancellation is usually disabled — STT algorithms work more accurately with the raw signal.

Audio capture: Android AudioRecord and iOS AVAudioEngine

AudioRecord (Android) is a low-level API for direct PCM data recording from the microphone. The application receives buffers with raw audio data that can be processed in real time: volume analysis, frequency analysis (FFT), VAD (Voice Activity Detection). The minimum buffer is calculated via AudioRecord.getMinBufferSize() — using a smaller size causes recording delay or failure.

AVAudioEngine (iOS) is a modular audio processing graph where the input node (AVAudioInputNode) connects to the main mixer or directly to a tap handler. The engine allows real-time analysis of RMS (Root Mean Square) — a signal volume indicator — and frequency spectrum via AVAudioUnitEQ.

Key platform differences: on iOS, recording requires mandatory activation of AVAudioSession with category .playAndRecord or .record; on Android, the RECORD_AUDIO permission (runtime permission) and a microphone AudioSource are required. Flutter uses the record plugin to abstract these differences.

Example of audio capture in Swift (iOS)

swift
import AVFoundation

let engine = AVAudioEngine()
let inputNode = engine.inputNode
let format = inputNode.outputFormat(forBus: 0)

inputNode.installTap(onBus: 0, bufferSize: 1024,
    format: format) { buffer, time in
    guard let channelData = buffer.floatChannelData else { return }
    let frameLength = Int(buffer.frameLength)
    var sumSquares: Float = 0

    for i in 0..<frameLength {
        sumSquares += channelData[0][i] * channelData[0][i]
    }
    let rms = sqrt(sumSquares / Float(frameLength))
    print("RMS volume: \(rms)")
}

try engine.start()

The code sets a tap on the input node of the AVAudioEngine. Each audio buffer contains float data of the monophonic microphone signal. RMS is calculated as the root mean square of the amplitude — a standard indicator of sound volume in the range from 0.0 (silence) to ~0.5–1.0 (loud voice).

Microphone characteristics: SNR, AOP, frequency range

Key parameters are used to evaluate microphone quality. SNR (Signal-to-Noise Ratio) is the ratio of signal level to the microphone's self-noise, measured in dBA. The higher the SNR, the quieter the background noise in the recording. For voice calls, 62–64 dBA is sufficient; for music recording, 68+ dBA is needed.

AOP (Acoustic Overload Point) is the maximum sound pressure level (SPL) that a microphone can convert without clipping. For a typical MEMS microphone, AOP = 125 dB. At concerts (110–120 dB), the recording will be clean, but at 130+ dB (nearby fireworks), nonlinear distortion will appear (THD > 10%).

The frequency range determines which frequencies the microphone records without attenuation. For voice, 300–3400 Hz (telephone standard, POTS) is sufficient. For music and video — 20–20000 Hz. MEMS microphones in the latest generation smartphones (Knowles SPH9855) provide a range of 30–18000 Hz with a flatness of ±3 dB.

Frequently Asked Questions

How many microphones are in a modern smartphone?

Modern smartphones contain 3 to 4 microphones: primary (bottom edge, for calls and video recording), front (top edge, voice commands), rear (back panel, noise cancellation). Flagships (iPhone 16 Pro, Galaxy S25) add a fourth microphone near the front camera to improve recording during video calls.

How to access the microphone in a mobile application?

On Android — request the RECORD_AUDIO runtime permission and use AudioRecord or MediaRecorder. On iOS — activate AVAudioSession with category .playAndRecord and use AVAudioEngine or AVAudioRecorder. Both platforms require explicit user consent via a system dialog.

What is microphone SNR and what value is considered good?

SNR (Signal-to-Noise Ratio) is the ratio of useful signal to the microphone's self-noise. A value of 64 dBA means that when recording voice, the noise level will be 64 dB below the voice level. SNR of 62–64 dBA is considered good for calls and 68+ dBA for music recording.

Why is my app not getting sound from the microphone on Android?

Typical reasons: the RECORD_AUDIO runtime permission was not requested (Android 6+); AudioSource was not specified (e.g., CAMCORDER instead of VOICE_RECOGNITION); the device has no microphone (Android TV); another process has already captured the microphone. Check the initialization status via AudioRecord.getState().

How to measure sound volume from the microphone in real time?

On Android — get a PCM buffer via AudioRecord.read(), calculate RMS as sqrt(sum(samples²) / count). On iOS — set a tap on AVAudioInputNode via installTap(forBus:) and similarly calculate RMS from floatChannelData. RMS is normalized: 0.0 (silence) to approximately 1.0 (ADC maximum).

Summary

  • MEMS microphone — the dominant type in smartphones with a silicon diaphragm, PDM output and dimensions of 2.5 × 1.5 mm
  • Smartphone contains 3–4 microphones for stereo recording, voice commands and active noise cancellation
  • Noise cancellation is implemented using the differential method — the DSP subtracts the reference microphone signal from the primary one, suppressing noise by 20–35 dB
  • Android AudioSource.CAMCORDER selects the optimal microphone for video; VOICE_RECOGNITION disables filters for STT
  • 44.1 kHz / 16 bit — the minimum quality standard sufficient for voice and music
  • SNR 64+ dBA provides clean voice recording without noticeable microphone noise
  • AOP is important for recording loud events — 125 dB of a typical MEMS is sufficient for concerts and street shooting

We will develop a mobile application turnkey

IT Sectr creates iOS and Android applications for startups and businesses since 2017. We will advise you and propose the best solution.

Discuss the project

Read also