Mobil cihazlarda mikrofon — səs dalğalarını sonradan rəqəmləşdirmə və emal üçün elektrik siqnalına çevirən akustik-elektrik çeviricidir. Müasir smartfonlarda tutum prinsipi ilə işləyən və daxili ADC-yə malik MEMS-mikrofonlar istifadə olunur. Yole Group, 2025 məlumatlarına görə, hər il 6 milyarddan çox MEMS-mikrofon göndərilir, bunun 35%-i smartfonlara quraşdırılır — hər cihaza 3–4 mikrofon.
Əsas məqamlar
Mikrofon — səs təzyiqi rəqslərini elektrik siqnalına çevirən elektroakustik cihazdır. İş prinsipinə görə dinamik (maqnit sahəsində sarğı), kondensator (tutumun dəyişməsi) və piezoelektrik növlərə bölünür. Mobil cihazlarda mütləq əksəriyyət miniatür ölçüləri (2.5 × 1.5 mm) və səthi montaj (SMD) uyğunluğu sayəsində kondensator MEMS-mikrofonlardır.
Mikrofon səs təzyiqi altında rəqs edən membrandan və kondensator təşkil edən hərəkətsiz elektroddan ibarətdir. Lövhələr arasındakı məsafənin dəyişməsi tutumu dəyişir, bu da çıxış gərginliyini modulyasiya edir. MEMS-mikrofonlarda membran fotolitoqrafiya üsulu ilə polikremiumdan hazırlanır — bu, partiyadakı bütün mikrofonların xarakteristikalarının eyniliyini təmin edir.
MEMS-mikrofonun çıxış siqnalı — PDM (Pulse Density Modulation) — 1–4 MHz seçmə tezliyi ilə birbitlik axındır. Smartfon kodekləri PDM-i rəqəmsal decymator filtr vasitəsilə PCM-ə (Pulse Code Modulation) dekodlaşdıraraq tətbiqin emalı üçün standart 16–24 bitlik 44.1–96 kHz audio formatı əldə edir.
MEMS-in mobil cihazlara gəlməsindən əvvəl elektret kondensator mikrofonları (ECM) istifadə olunurdu. Onlarda membran daimi elektrik yükünə (elektret) malik idi və membran rəqsləri dəyişən gərginlik yaradırdı. ECM-mikrofonlar daha böyükdür (4–6 mm) və ayrıca ön gücləndirici tələb edir, bu da lövhədə sahəni artırır.
| Parametr | MEMS-mikrofon | Elektret (ECM) |
|---|---|---|
| Korpus ölçüsü | 2.5 × 1.5 × 1.0 mm | 4 × 2.5 × 1.5 mm |
| Həssaslıq | −26 ± 1 dB (FS) | −38 ± 3 dB (FS) |
| SNR (tipik) | 64–69 dBA | 58–64 dBA |
| AOP (maks. SPL) | 125–135 dB | 115–125 dB |
| Cərəyan sərfiyyatı | 150–300 µA | 300–500 µA |
| Temperatur diapazonu | −40…+105 °C | −20…+70 °C |
MEMS-mikrofonlar kiçik ölçüləri, xarakteristikaların sabitliyi və standart SMD xətlərində lehimlənmə qabiliyyəti sayəsində üstünlük təşkil edir. Lakin ECM daha aşağı komponent qiymətinə görə ($0.15–0.30 MEMS üçün $0.25–0.60 qarşı) büdcə cihazlarında istifadə olunmağa davam edir.
Müasir smartfonlarda 3-dən 4-ə qədər mikrofon var, onların yerləşməsi yazı və səs-küyün azaldılması keyfiyyətini müəyyən edir. Əsas mikrofon (bottom) USB-C portunun yanında aşağı kənarda yerləşir — danışıq və videoçəkiliş zamanı istifadəçinin səsini yazır. Ön (top) — yuxarı kənarda səs əmrləri və stereo yazıda ikinci kanal üçün.
Arxa (back) mikrofon adətən arxa paneldə kamera yanında yerləşir və yalnız səs-küyün azaldılması üçün istifadə olunur. Onun siqnalı audio fayla yazılmır — yalnız rəqəmsal prosessor tərəfindən əsas mikrofonun siqnalından çıxılır. Bəzi flaqmanlarda (iPhone 16 Pro, Samsung Galaxy S25) videozənglər zamanı yazını yaxşılaşdırmaq üçün dördüncü mikrofon — ön kamera çentiğində quraşdırılır.
Stereo video yazısı aşağı və yuxarı mikrofonların kombinasiyası ilə həyata keçirilir. iOS cihazın oriyentasiyasından asılı olaraq avtomatik olaraq mikrofon cütünü seçir — landşaft çəkilişdə sol kanal sol kənardan, sağ — sağ kənardan götürülür. Androiddə bu məntiq OEM istehsalçısının tətbiqindən asılıdır və modellər arasında fərqlənə bilər.
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 buferinin emalı
}
AudioSource.CAMCORDER videoçəkiliş üçün optimal mikrofonu seçir — adətən bu, avtomatik gücləndirmə tənzimləməsi olan aşağı əsas mikrofondur. Səs yazısı üçün VOICE_RECOGNITION istifadə olunur — bu mənbə nitqin tanınması üçün təmiz siqnal əldə etmək məqsədilə bütün filtrləri və səs-küyün azaldılmasını söndürür.
Aktiv səs-küyün azaldılması (Active Noise Cancellation, ANC) smartfonlarda diferensial metoda əsaslanır: ikinci mikrofon (reference) əsasən fon səs-küyünü, əsas mikrofon (primary) isə səs və səs-küy qarışığını yazır. Rəqəmsal siqnal prosessoru (DSP) reference siqnalını primary-dən çıxararaq yalnız təmiz səsi saxlayır.
Səs-küyün azaldılması keyfiyyəti mikrofonlar arasındakı məsafədən və onların istiqamətliliyindən asılıdır. Vahid səs-küyün (təyyarə, ventilyator) tipik basdırılması — 20–35 dB. İmpuls səs-küylər (qapı çırpılması, qab səsi) üçün əlavə transient suppression bloku istifadə olunur, o təhrif olunmuş hissəni qonşu seçmələrin aproksimasiya olunmuş siqnalı ilə əvəz edir.
Tərtibatçı səs-küyün azaldılması alqoritmlərinə yalnız audio sessiyasının parametrləri vasitəsilə təsir edə bilər: Androiddə — AudioManager.setParameters("noise_suppression=on/off"), iOS-də — AVAudioSession kateqoriyası .playAndRecord .allowBluetoothA2DP seçimi ilə. Tanıma üçün yazı zamanı səs-küyün azaldılması adətən söndürülür — STT alqoritmləri orijinal siqnalla daha dəqiq işləyir.
AudioRecord (Android) — mikrofondan PCM məlumatlarını birbaşa yazmaq üçün aşağısəviyyəli API. Tətbiq real vaxt rejimində emal edilə bilən xam audio məlumatları olan buferlər alır: səs ucalığı analizi, tezlik analizi (FFT), VAD (Voice Activity Detection). Minimal bufer AudioRecord.getMinBufferSize() vasitəsilə hesablanır — kiçik ölçüdən istifadə gecikməyə və ya yazı xətasına səbəb olur.
AVAudioEngine (iOS) — audio emalı üçün modul qraf, burada giriş qovşağı (AVAudioInputNode) əsas mikserə və ya birbaşa tap-handlerə qoşulur. Engine real vaxtda RMS (Root Mean Square) — siqnalın ucalıq göstəricisi — və AVAudioUnitEQ vasitəsilə tezlik spektrini analiz etməyə imkan verir.
Platformaların əsas fərqləri: iOS-da yazı .playAndRecord və ya .record kateqoriyası ilə AVAudioSession-un məcburi aktivləşdirilməsini tələb edir; Androiddə — RECORD_AUDIO icazəsi (runtime permission) və AudioSource mənbəyi. Flutter bu fərqləri abstraksiya etmək üçün record plagini istifadə edir.
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 səs səviyyəsi: \(rms)")
}
try engine.start()
Kod AVAudioEngine mühərrikinin giriş qovşağında tap qurur. Hər bir audio bufer mikrofondan monofonik siqnalın float məlumatlarını ehtiva edir. RMS amplitudanın orta kvadratik dəyəri kimi hesablanır — 0.0 (səssizlik) ilə ~0.5–1.0 (ucadan səs) aralığında standart səs ucalıq göstəricisi.
Mikrofon keyfiyyətini qiymətləndirmək üçün əsas parametrlərdən istifadə olunur. SNR (Signal-to-Noise Ratio) — siqnal səviyyəsinin mikrofonun öz səs-küyünə nisbəti, dBA ilə ölçülür. SNR nə qədər yüksək olsa, yazıda fon səs-küyü bir o qədər azdır. Səsli zənglər üçün 62–64 dBA kifayətdir, musiqi yazısı üçün — 68+ dBA.
AOP (Acoustic Overload Point) — mikrofonun klipləşmədən çevirə biləcəyi maksimum səs təzyiqi səviyyəsi (SPL). Tipik MEMS-mikrofon üçün AOP = 125 dB. Konsertlərdə (110–120 dB) yazı təmiz olacaq, lakin 130+ dB-də (yaxınlıqda atəşfəşanlıq) qeyri-xətti təhrif (THD > 10%) yaranacaq.
Tezlik diapazonu mikrofonun hansı tezlikləri zəifləmədən yazdığını müəyyən edir. Səs üçün 300–3400 Hz (telefon standartı, POTS) kifayətdir. Musiqi və video üçün — 20–20000 Hz. Müasir smartfonlardakı MEMS-mikrofonlar (Knowles SPH9855) ±3 dB qeyri-bərabərliklə 30–18000 Hz diapazonunu təmin edir.
Tez-tez verilən suallar
Müasir smartfonlarda 3-dən 4-ə qədər mikrofon var: əsas (aşağı kənar, zənglər və videoçəkiliş üçün), ön (yuxarı kənar, səs əmrləri), arxa (arxa panel, səs-küyün azaldılması). Flaqmanlar (iPhone 16 Pro, Galaxy S25) videozənglər zamanı yazını yaxşılaşdırmaq üçün ön kamera yanında dördüncü mikrofon əlavə edir.
Android — RECORD_AUDIO runtime icazəsi istəmək və AudioRecord və ya MediaRecorder istifadə etmək. iOS — .playAndRecord kateqoriyası ilə AVAudioSession aktivləşdirmək və AVAudioEngine və ya AVAudioRecorder istifadə etmək. Hər iki platforma sistem dialoqu vasitəsilə istifadəçinin açıq razılığını tələb edir.
SNR (Signal-to-Noise Ratio) — faydalı siqnalın mikrofonun öz səs-küyünə nisbəti. 64 dBA dəyəri o deməkdir ki, səs yazısı zamanı səs-küy səviyyəsi səs səviyyəsindən 64 dB aşağı olacaq. Zənglər üçün SNR 62–64 dBA, musiqi yazısı üçün 68+ dBA yaxşı sayılır.
Tipik səbəblər: RECORD_AUDIO runtime icazəsi istənilməyib (Android 6+); AudioSource göstərilməyib (məsələn, VOICE_RECOGNITION əvəzinə CAMCORDER); cihazda mikrofon yoxdur (Android TV); başqa proses mikrofonu artıq tutub. AudioRecord.getState() vasitəsilə inisializasiya statusunu yoxlayın.
Android — AudioRecord.read() vasitəsilə PCM buferini almaq, RMS-i sqrt(sum(samples²) / count) kimi hesablamaq. iOS — installTap(forBus:) ilə AVAudioInputNode-da tap qurmaq və floatChannelData-dan RMS-i oxşar şəkildə hesablamaq. RMS normallaşdırılıb: 0.0 (səssizlik) təqribən 1.0 (ADC maksimumu) qədər.
Nəticə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun