Microfonul în dispozitivele mobile — un traductor acustico-electric care transformă undele sonore în semnal electric pentru digitizare și procesare ulterioară. În smartphone-urile moderne se utilizează microfoane MEMS cu principiu capacitiv de funcționare și ADC încorporat. Conform datelor Yole Group, 2025, anual se livrează peste 6 miliarde de microfoane MEMS, dintre care 35% sunt instalate în smartphone-uri — câte 3–4 microfoane per dispozitiv.
Principalele
Microfonul — un dispozitiv electroacustic care transformă oscilațiile presiunii sonore în semnal electric. După principiul de funcționare se împart în dinamice (bobină în câmp magnetic), capacitive (modificarea capacității) și piezoelectrice. În dispozitivele mobile, majoritatea absolută sunt microfoane capacitive MEMS datorită dimensiunilor miniaturale (2.5 × 1.5 mm) și compatibilității cu montajul de suprafață (SMD).
Microfonul constă dintr-o membrană care oscilează sub acțiunea presiunii sonore și un electrod fix, formând un condensator. Modificarea distanței între plăci schimbă capacitatea, ceea ce modulează tensiunea de ieșire. În microfoanele MEMS, membrana este fabricată din polisiliciu prin fotolitografie — aceasta asigură identitatea caracteristicilor tuturor microfoanelor dintr-un lot.
Semnalul de ieșire al microfonului MEMS — PDM (Pulse Density Modulation) — un flux de un bit cu frecvența de eșantionare de 1–4 MHz. Codecurile smartphone-ului decodează PDM în PCM (Pulse Code Modulation) printr-un filtru digital-decimator, obținând formatul audio standard de 16–24 biți cu frecvența de 44.1–96 kHz pentru procesarea de către aplicație.
Înainte de apariția MEMS în dispozitivele mobile se utilizau microfoane capacitive electret (ECM). În acestea, membrana avea o sarcină electrică permanentă (electret), iar oscilațiile membranei generau o tensiune variabilă. Microfoanele ECM sunt mai mari (4–6 mm) și necesită un preamplificator separat, ceea ce mărește suprafața pe placă.
| Parametru | Microfon MEMS | Electret (ECM) |
|---|---|---|
| Dimensiunea carcasei | 2.5 × 1.5 × 1.0 mm | 4 × 2.5 × 1.5 mm |
| Sensibilitatea | −26 ± 1 dB (FS) | −38 ± 3 dB (FS) |
| SNR (tipic) | 64–69 dBA | 58–64 dBA |
| AOP (max. SPL) | 125–135 dB | 115–125 dB |
| Consumul de curent | 150–300 µA | 300–500 µA |
| Domeniul de temperatură | −40…+105 °C | −20…+70 °C |
Microfoanele MEMS domină datorită dimensiunilor reduse, stabilității caracteristicilor și posibilității de lipire pe liniile standard SMD. Totuși, ECM continuă să fie utilizate în dispozitivele bugetare datorită costului mai scăzut al componentului ($0.15–0.30 față de $0.25–0.60 pentru MEMS).
Smartphone-urile moderne conțin între 3 și 4 microfoane, a căror amplasare determină calitatea înregistrării și a anulării zgomotului. Microfonul principal (inferior) este situat pe marginea de jos lângă portul USB-C — înregistrează vocea utilizatorului în timpul convorbirii și filmării. Cel frontal (superior) — pe marginea de sus pentru comenzi vocale și al doilea canal la înregistrarea stereo.
Microfonul posterior este de obicei amplasat lângă cameră pe panoul din spate și este utilizat exclusiv pentru anularea zgomotului. Semnalul său nu este înregistrat în fișierul audio — este doar scăzut de procesorul digital din semnalul microfonului principal. În unele flagship-uri (iPhone 16 Pro, Samsung Galaxy S25) se instalează un al patrulea microfon — în crestătura camerei frontale pentru îmbunătățirea înregistrării în apelurile video.
Înregistrarea stereo video se realizează prin combinarea microfoanelor inferior și superior. iOS selectează automat perechea de microfoane în funcție de orientarea dispozitivului — la filmarea peisaj, canalul stâng este preluat de pe marginea stângă, cel drept — de pe marginea dreaptă. Pe Android, această logică depinde de implementarea producătorului OEM și poate diferi între modele.
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)
// Procesarea bufferului PCM
}
AudioSource.CAMCORDER selectează microfonul optim pentru filmare — de obicei, acesta este microfonul principal inferior cu reglare automată a câștigului. Pentru înregistrarea vocală se utilizează VOICE_RECOGNITION — această sursă dezactivează toate filtrele și anularea zgomotului pentru un semnal curat destinat recunoașterii vorbirii.
Anularea activă a zgomotului (Active Noise Cancellation, ANC) în smartphone-uri se bazează pe metoda diferențială: al doilea microfon (de referință) înregistrează în principal zgomotul de fundal, iar cel principal (primar) — amestecul de voce și zgomot. Procesorul digital de semnal (DSP) scade semnalul de referință din cel primar, lăsând doar vocea curată.
Calitatea anulării zgomotului depinde de distanța dintre microfoane și de direcționalitatea acestora. Atenuarea tipică a zgomotului uniform (avion, ventilator) — 20–35 dB. Pentru zgomotele impulsive (bătaia ușii, lovitura vaselor) se utilizează un bloc suplimentar de suprimare a tranzientelor, care înlocuiește segmentul distorsionat cu un semnal aproximat al eșantioanelor vecine.
Dezvoltatorul poate influența algoritmii de anulare a zgomotului doar prin parametrii sesiunii audio: pe Android — AudioManager.setParameters("noise_suppression=on/off"), pe iOS — categoria AVAudioSession .playAndRecord cu opțiunea .allowBluetoothA2DP. La înregistrarea pentru recunoaștere, anularea zgomotului este de obicei dezactivată — algoritmii STT funcționează mai precis cu semnalul original.
AudioRecord (Android) — API de nivel scăzut pentru înregistrarea directă a datelor PCM de la microfon. Aplicația primește buffere cu date audio brute care pot fi procesate în timp real: analiza volumului, analiza frecvenței (FFT), VAD (Voice Activity Detection). Bufferul minim se calculează prin AudioRecord.getMinBufferSize() — utilizarea unei dimensiuni mai mici cauzează întârziere sau eroare de înregistrare.
AVAudioEngine (iOS) — un graf modular pentru procesarea audio, unde nodul de intrare (AVAudioInputNode) se conectează la mixerul principal sau direct la handler-ul tap. Engine permite analiza în timp real a RMS (Root Mean Square) — indicatorul volumului semnalului — și a spectrului de frecvență prin AVAudioUnitEQ.
Diferențele cheie între platforme: pe iOS, înregistrarea necesită activarea obligatorie a AVAudioSession cu categoria .playAndRecord sau .record; pe Android — permisiunea RECORD_AUDIO (permisiune runtime) și sursa AudioSource. Flutter utilizează pluginul record pentru abstractizarea acestor diferențe.
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("Volum RMS: \(rms)")
}
try engine.start()
Codul setează un tap pe nodul de intrare al motorului AVAudioEngine. Fiecare buffer audio conține date float ale semnalului monofonic de la microfon. RMS se calculează ca rădăcina pătrată a mediei pătratelor amplitudinii — indicatorul standard al volumului sonor în intervalul 0.0 (tăcere) până la aproximativ 0.5–1.0 (voce tare).
Pentru evaluarea calității microfonului se utilizează parametri cheie. SNR (Signal-to-Noise Ratio) — raportul dintre nivelul semnalului și zgomotul propriu al microfonului, măsurat în dBA. Cu cât SNR este mai mare, cu atât zgomotul de fundal în înregistrare este mai redus. Pentru apelurile vocale sunt suficiente 62–64 dBA, pentru înregistrarea muzicii — 68+ dBA.
AOP (Acoustic Overload Point) — nivelul maxim al presiunii sonore (SPL) pe care microfonul îl poate converti fără clipping. Pentru un microfon MEMS tipic, AOP = 125 dB. La concerte (110–120 dB) înregistrarea va fi curată, dar la peste 130+ dB (focuri de artificii apropiate) apare distorsiunea neliniară (THD > 10%).
Domeniul de frecvență determină ce frecvențe microfonul înregistrează fără atenuare. Pentru voce sunt suficiente 300–3400 Hz (standardul telefonic, POTS). Pentru muzică și video — 20–20000 Hz. Microfoanele MEMS din smartphone-urile de ultimă generație (Knowles SPH9855) asigură un domeniu de 30–18000 Hz cu o neuniformitate de ±3 dB.
Întrebări frecvente
Smartphone-urile moderne conțin între 3 și 4 microfoane: principal (marginea de jos, pentru convorbiri și înregistrare video), frontal (marginea de sus, comenzi vocale), posterior (panoul din spate, anularea zgomotului). Flaghsip-urile (iPhone 16 Pro, Galaxy S25) adaugă un al patrulea microfon lângă camera frontală pentru îmbunătățirea înregistrării în apelurile video.
Pe Android — solicitați permisiunea runtime RECORD_AUDIO și utilizați AudioRecord sau MediaRecorder. Pe iOS — activați AVAudioSession cu categoria .playAndRecord și utilizați AVAudioEngine sau AVAudioRecorder. Ambele platforme necesită acordul explicit al utilizatorului printr-un dialog de sistem.
SNR (Signal-to-Noise Ratio) — raportul dintre semnalul util și zgomotul propriu al microfonului. O valoare de 64 dBA înseamnă că la înregistrarea vocii, nivelul zgomotului va fi cu 64 dB sub nivelul vocii. Un SNR de 62–64 dBA este considerat bun pentru convorbiri, iar 68+ dBA pentru înregistrarea muzicii.
Cauze tipice: nu a fost solicitată permisiunea runtime RECORD_AUDIO (Android 6+); nu a fost specificat AudioSource (de exemplu, CAMCORDER în loc de VOICE_RECOGNITION); dispozitivul nu are microfon (Android TV); un alt proces a capturat deja microfonul. Verificați starea de inițializare prin AudioRecord.getState().
Pe Android — obțineți bufferul PCM prin AudioRecord.read(), calculați RMS ca sqrt(sum(samples²) / count). Pe iOS — setați un tap pe AVAudioInputNode prin installTap(forBus:) și calculați similar RMS din floatChannelData. RMS este normalizat: 0.0 (tăcere) până la aproximativ 1.0 (maximum ADC).
Concluzii
Vom dezvolta o aplicație mobilă la cheie
IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.
Citiți și