Mikrofon di perangkat seluler — transduser akustik-elektrik yang mengubah gelombang suara menjadi sinyal listrik untuk digitalisasi dan pemrosesan selanjutnya. Di ponsel pintar modern, digunakan mikrofon MEMS dengan prinsip kerja kapasitif dan ADC terintegrasi. Menurut data Yole Group, 2025, setiap tahun dikirim lebih dari 6 miliar mikrofon MEMS, di mana 35% dipasang di ponsel pintar — 3–4 mikrofon per perangkat.
Poin Utama
Mikrofon — perangkat elektroakustik yang mengubah osilasi tekanan suara menjadi sinyal listrik. Berdasarkan prinsip kerja, dibagi menjadi dinamis (kumparan dalam medan magnet), kapasitif (perubahan kapasitansi) dan piezoelektrik. Di perangkat seluler, mayoritas absolut adalah mikrofon kapasitif MEMS berkat ukurannya yang miniatur (2,5 × 1,5 mm) dan kompatibilitas dengan pemasangan permukaan (SMD).
Mikrofon terdiri dari membran yang berosilasi di bawah tekanan suara dan elektroda tetap, membentuk kapasitor. Perubahan jarak antara pelat mengubah kapasitansi, yang memodulasi tegangan keluaran. Di mikrofon MEMS, membran dibuat dari polisilikon menggunakan fotolitografi — ini memastikan kesamaan karakteristik semua mikrofon dalam satu batch.
Sinyal keluaran mikrofon MEMS — PDM (Pulse Density Modulation) — aliran satu-bit dengan frekuensi sampling 1–4 MHz. Codec ponsel pintar mendekode PDM menjadi PCM (Pulse Code Modulation) melalui filter desimasi digital, menghasilkan format audio standar 16–24 bit dengan frekuensi 44,1–96 kHz untuk diproses oleh aplikasi.
Sebelum kedatangan MEMS di perangkat seluler, digunakan mikrofon kapasitor electret (ECM). Di dalamnya, membran memiliki muatan listrik permanen (electret), dan osilasi membran menciptakan tegangan variabel. Mikrofon ECM lebih besar (4–6 mm) dan memerlukan preamplifier terpisah, yang meningkatkan area pada papan.
| Parameter | Mikrofon MEMS | Electret (ECM) |
|---|---|---|
| Ukuran rumah | 2,5 × 1,5 × 1,0 mm | 4 × 2,5 × 1,5 mm |
| Sensitivitas | −26 ± 1 dB (FS) | −38 ± 3 dB (FS) |
| SNR (tipikal) | 64–69 dBA | 58–64 dBA |
| AOP (maks. SPL) | 125–135 dB | 115–125 dB |
| Konsumsi arus | 150–300 µA | 300–500 µA |
| Rentang suhu | −40…+105 °C | −20…+70 °C |
Mikrofon MEMS mendominasi berkat dimensi yang lebih kecil, stabilitas karakteristik, dan kemampuan solder pada jalur SMD standar. Namun, ECM masih digunakan di perangkat anggaran karena biaya komponen yang lebih rendah ($0,15–0,30 dibandingkan $0,25–0,60 untuk MEMS).
Ponsel pintar modern berisi 3 hingga 4 mikrofon, yang penempatannya menentukan kualitas perekaman dan peredam bising. Mikrofon utama (bawah) terletak di tepi bawah dekat port USB-C — merekam suara pengguna selama panggilan dan perekaman video. Depan (atas) — di tepi atas untuk perintah suara dan saluran kedua saat perekaman stereo.
Mikrofon belakang biasanya ditempatkan di dekat kamera di panel belakang dan digunakan secara eksklusif untuk peredam bising. Sinyalnya tidak direkam dalam file audio — hanya dikurangkan oleh prosesor digital dari sinyal mikrofon utama. Di beberapa flagship (iPhone 16 Pro, Samsung Galaxy S25), mikrofon keempat dipasang di notch kamera depan untuk meningkatkan perekaman selama panggilan video.
Perekaman stereo video dilakukan melalui kombinasi mikrofon bawah dan atas. iOS secara otomatis memilih pasangan mikrofon tergantung pada orientasi perangkat — saat perekaman lanskap, saluran kiri diambil dari tepi kiri, kanan dari tepi kanan. Di Android, logika ini tergantung pada implementasi produsen OEM dan dapat berbeda antar model.
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)
// Pemrosesan buffer PCM
}
AudioSource.CAMCORDER memilih mikrofon optimal untuk perekaman video — biasanya ini adalah mikrofon utama bawah dengan penyesuaian gain otomatis. Untuk perekaman suara, digunakan VOICE_RECOGNITION — sumber ini menonaktifkan semua filter dan peredam bising untuk sinyal bersih yang ditujukan untuk pengenalan ucapan.
Peredam bising aktif (Active Noise Cancellation, ANC) di ponsel pintar didasarkan pada metode diferensial: mikrofon kedua (referensi) merekam terutama kebisingan latar, dan mikrofon utama (primer) — campuran suara dan kebisingan. Prosesor sinyal digital (DSP) mengurangkan sinyal referensi dari sinyal primer, hanya menyisakan suara bersih.
Kualitas peredam bising tergantung pada jarak antara mikrofon dan arahnya. Redaman tipikal kebisingan seragam (pesawat, kipas angin) — 20–35 dB. Untuk kebisingan impulsif (bantingan pintu, benturan piring) digunakan blok transient suppression tambahan yang menggantikan segmen terdistorsi dengan sinyal perkiraan dari sampel tetangga.
Pengembang dapat mempengaruhi algoritma peredam bising hanya melalui parameter sesi audio: di Android — AudioManager.setParameters("noise_suppression=on/off"), di iOS — kategori AVAudioSession .playAndRecord dengan opsi .allowBluetoothA2DP. Saat merekam untuk pengenalan, peredam bising biasanya dimatikan — algoritma STT bekerja lebih akurat dengan sinyal asli.
AudioRecord (Android) — API tingkat rendah untuk perekaman langsung data PCM dari mikrofon. Aplikasi menerima buffer dengan data audio mentah yang dapat diproses secara real-time: analisis volume, analisis frekuensi (FFT), VAD (Voice Activity Detection). Buffer minimum dihitung melalui AudioRecord.getMinBufferSize() — penggunaan ukuran yang lebih kecil menyebabkan penundaan atau kesalahan perekaman.
AVAudioEngine (iOS) — graf modular untuk pemrosesan audio, di mana simpul input (AVAudioInputNode) terhubung ke mixer utama atau langsung ke handler tap. Engine memungkinkan analisis real-time RMS (Root Mean Square) — indikator volume sinyal — dan spektrum frekuensi melalui AVAudioUnitEQ.
Perbedaan utama platform: di iOS, perekaman memerlukan aktivasi wajib AVAudioSession dengan kategori .playAndRecord atau .record; di Android — izin RECORD_AUDIO (izin runtime) dan sumber AudioSource. Flutter menggunakan plugin record untuk abstraksi perbedaan ini.
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("Volume RMS: \(rms)")
}
try engine.start()
Kode mengatur tap pada simpul input mesin AVAudioEngine. Setiap buffer audio berisi data float dari sinyal monofonik dari mikrofon. RMS dihitung sebagai akar kuadrat rata-rata amplitudo — indikator volume suara standar dalam rentang 0,0 (diam) hingga sekitar 0,5–1,0 (suara keras).
Untuk mengevaluasi kualitas mikrofon, digunakan parameter kunci. SNR (Signal-to-Noise Ratio) — rasio tingkat sinyal terhadap kebisingan sendiri mikrofon, diukur dalam dBA. Semakin tinggi SNR, semakin rendah kebisingan latar dalam rekaman. Untuk panggilan suara, 62–64 dBA sudah cukup, untuk perekaman musik — 68+ dBA.
AOP (Acoustic Overload Point) — tingkat tekanan suara maksimum (SPL) yang dapat diubah mikrofon tanpa clipping. Untuk mikrofon MEMS tipikal, AOP = 125 dB. Di konser (110–120 dB) rekaman akan bersih, tetapi pada 130+ dB (kembang api di dekatnya) akan muncul distorsi non-linear (THD > 10%).
Rentang frekuensi menentukan frekuensi apa yang direkam mikrofon tanpa redaman. Untuk suara, 300–3400 Hz (standar telepon, POTS) sudah cukup. Untuk musik dan video — 20–20000 Hz. Mikrofon MEMS di ponsel pintar generasi terbaru (Knowles SPH9855) menyediakan rentang 30–18000 Hz dengan ketidakrataan ±3 dB.
Pertanyaan yang Sering Diajukan
Ponsel pintar modern berisi 3 hingga 4 mikrofon: utama (tepi bawah, untuk panggilan dan perekaman video), depan (tepi atas, perintah suara), belakang (panel belakang, peredam bising). Flagship (iPhone 16 Pro, Galaxy S25) menambahkan mikrofon keempat di dekat kamera depan untuk meningkatkan perekaman selama panggilan video.
Di Android — minta izin runtime RECORD_AUDIO dan gunakan AudioRecord atau MediaRecorder. Di iOS — aktifkan AVAudioSession dengan kategori .playAndRecord dan gunakan AVAudioEngine atau AVAudioRecorder. Kedua platform memerlukan persetujuan eksplisit pengguna melalui dialog sistem.
SNR (Signal-to-Noise Ratio) — rasio sinyal berguna terhadap kebisingan sendiri mikrofon. Nilai 64 dBA berarti saat merekam suara, tingkat kebisingan akan 64 dB lebih rendah dari tingkat suara. SNR 62–64 dBA dianggap baik untuk panggilan dan 68+ dBA untuk perekaman musik.
Penyebab tipikal: izin runtime RECORD_AUDIO tidak diminta (Android 6+); AudioSource tidak ditentukan (misalnya, CAMCORDER bukan VOICE_RECOGNITION); perangkat tidak memiliki mikrofon (Android TV); proses lain sudah mengambil mikrofon. Periksa status inisialisasi melalui AudioRecord.getState().
Di Android — dapatkan buffer PCM melalui AudioRecord.read(), hitung RMS sebagai sqrt(sum(samples²) / count). Di iOS — atur tap pada AVAudioInputNode melalui installTap(forBus:) dan hitung RMS serupa dari floatChannelData. RMS dinormalisasi: 0,0 (diam) hingga sekitar 1,0 (maksimum ADC).
Kesimpulan
Kami akan mengembangkan aplikasi seluler turnkey
IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.
Baca juga