Ein Mikrofon in mobilen Geräten ist ein akustisch-elektrischer Wandler, der Schallwellen zur späteren Digitalisierung und Verarbeitung in ein elektrisches Signal umwandelt. Moderne Smartphones verwenden MEMS-Mikrofone mit kapazitivem Funktionsprinzip und integriertem ADC. Laut Yole Group, 2025 werden jährlich mehr als 6 Milliarden MEMS-Mikrofone ausgeliefert, von denen 35% in Smartphones verbaut werden — 3–4 Mikrofone pro Gerät.
Wichtige Erkenntnisse
Mikrofon ist ein elektroakustisches Gerät, das Schalldruckschwingungen in ein elektrisches Signal umwandelt. Nach dem Funktionsprinzip unterscheidet man dynamische (Spule im Magnetfeld), Kondensator- (Kapazitätsänderung) und piezoelektrische Mikrofone. In mobilen Geräten sind die allermeisten Kondensator-MEMS-Mikrofone aufgrund ihrer winzigen Größe (2,5 × 1,5 mm) und Kompatibilität mit der Oberflächenmontagetechnik (SMD).
Ein Mikrofon besteht aus einer Membran, die unter Schalldruck schwingt, und einer festen Elektrode, die einen Kondensator bilden. Die Änderung des Abstands zwischen den Platten verändert die Kapazität, was die Ausgangsspannung moduliert. Bei MEMS-Mikrofonen wird die Membran durch Fotolithografie aus Polysilizium hergestellt — dies gewährleistet identische Eigenschaften aller Mikrofone in einer Charge.
Das Ausgangssignal eines MEMS-Mikrofons ist PDM (Pulsdichtemodulation) — ein Ein-Bit-Strom mit einer Abtastrate von 1–4 MHz. Smartphone-Codecs decodieren PDM durch ein digitales Dezimationsfilter in PCM (Pulscodemodulation) und erhalten so ein Standardaudioformat von 16–24 Bit bei 44,1–96 kHz für die Anwendungsverarbeitung.
Vor dem Aufkommen von MEMS verwendeten mobile Geräte Elektret-Kondensatormikrofone (ECM). Bei diesen hatte die Membran eine permanente elektrische Ladung (Elektret), und Membranschwingungen erzeugten eine Wechselspannung. ECM-Mikrofone sind größer (4–6 mm) und benötigen einen separaten Vorverstärker, was die Fläche auf der Platine vergrößert.
| Parameter | MEMS-Mikrofon | Elektret (ECM) |
|---|---|---|
| Gehäusegröße | 2,5 × 1,5 × 1,0 mm | 4 × 2,5 × 1,5 mm |
| Empfindlichkeit | −26 ± 1 dB (FS) | −38 ± 3 dB (FS) |
| SNR (typisch) | 64–69 dBA | 58–64 dBA |
| AOP (max. SPL) | 125–135 dB | 115–125 dB |
| Stromaufnahme | 150–300 µA | 300–500 µA |
| Temperaturbereich | −40…+105 °C | −20…+70 °C |
MEMS-Mikrofone dominieren aufgrund ihrer geringeren Größe, stabilen Eigenschaften und Lötbarkeit auf Standard-SMD-Linien. ECMs werden jedoch aufgrund der niedrigeren Bauteilkosten ($0,15–0,30 gegenüber $0,25–0,60 für MEMS) weiterhin in Budget-Geräten eingesetzt.
Moderne Smartphones enthalten 3 bis 4 Mikrofone, deren Platzierung die Aufnahmequalität und Rauschunterdrückung bestimmt. Das primäre Mikrofon (unten) befindet sich an der Unterkante neben dem USB-C-Anschluss — es nimmt die Stimme des Benutzers bei Anrufen und Videoaufnahmen auf. Das vordere (obere) Mikrofon befindet sich an der Oberkante für Sprachbefehle und einen zweiten Kanal bei Stereoaufnahmen.
Das hintere (rückwärtige) Mikrofon wird normalerweise in der Nähe der Kamera auf der Rückseite platziert und ausschließlich für die Rauschunterdrückung verwendet. Sein Signal wird nicht in der Audiodatei aufgezeichnet — es wird nur vom digitalen Prozessor vom Signal des primären Mikrofons subtrahiert. Bei einigen Flaggschiffen (iPhone 16 Pro, Samsung Galaxy S25) wird ein viertes Mikrofon installiert — in der Frontkamera-Aussparung zur Verbesserung der Aufnahme bei Videoanrufen.
Die Stereo-Videoaufnahme wird durch eine Kombination aus unterem und oberem Mikrofon realisiert. iOS wählt automatisch das Mikrofonpaar in Abhängigkeit von der Geräteausrichtung — im Querformat kommt der linke Kanal von der linken Seite, der rechte von der rechten Seite. Bei Android hängt diese Logik von der Implementierung des OEM-Herstellers ab und kann zwischen den Modellen variieren.
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-Pufferverarbeitung
}
AudioSource.CAMCORDER wählt das für die Videoaufnahme optimale Mikrofon — normalerweise das untere primäre Mikrofon mit automatischer Verstärkungsregelung. Für Sprachaufnahmen wird VOICE_RECOGNITION verwendet — diese Quelle deaktiviert alle Filter und die Rauschunterdrückung für ein sauberes Signal zur Spracherkennung.
Aktive Rauschunterdrückung (ANC) in Smartphones basiert auf der Differenzialmethode: Ein zweites (Referenz-)Mikrofon nimmt hauptsächlich Hintergrundgeräusche auf, während das primäre Mikrofon eine Mischung aus Stimme und Rauschen erfasst. Ein digitaler Signalprozessor (DSP) subtrahiert das Referenzsignal vom primären und lässt nur die saubere Stimme übrig.
Die Qualität der Rauschunterdrückung hängt vom Abstand zwischen den Mikrofonen und deren Richtcharakteristik ab. Die typische Unterdrückung von gleichmäßigem Rauschen (Flugzeug, Ventilator) beträgt 20–35 dB. Für impulsartige Geräusche (Türknallen, Geschirrgeklapper) wird ein zusätzlicher Transienten-Unterdrückungsblock verwendet, der das verzerrte Segment durch ein aus benachbarten Samples approximiertes Signal ersetzt.
Entwickler können die Algorithmen zur Rauschunterdrückung nur über die Parameter der Audiositzung beeinflussen: unter Android — AudioManager.setParameters("noise_suppression=on/off"), unter iOS — AVAudioSession-Kategorie .playAndRecord mit Option .allowBluetoothA2DP. Bei Aufnahmen zur Spracherkennung wird die Rauschunterdrückung normalerweise deaktiviert — STT-Algorithmen arbeiten mit dem ursprünglichen Signal genauer.
AudioRecord (Android) ist eine Low-Level-API zur direkten PCM-Datenaufnahme vom Mikrofon. Die Anwendung erhält Puffer mit rohen Audiodaten, die in Echtzeit verarbeitet werden können: Lautstärkeanalyse, Frequenzanalyse (FFT), VAD (Sprachaktivitätserkennung). Die minimale Puffergröße wird über AudioRecord.getMinBufferSize() berechnet — die Verwendung einer kleineren Größe führt zu Verzögerungen oder Fehlern bei der Aufnahme.
AVAudioEngine (iOS) ist ein modularer Audioverarbeitungsgraph, bei dem der Eingangsknoten (AVAudioInputNode) mit dem Hauptmixer oder direkt mit einem Tap-Handler verbunden wird. Die Engine ermöglicht die Echtzeitanalyse von RMS (Root Mean Square) — einem Indikator für die Signallautstärke — und des Frequenzspektrums über AVAudioUnitEQ.
Wichtige Plattformunterschiede: Unter iOS erfordert die Aufnahme die obligatorische Aktivierung von AVAudioSession mit der Kategorie .playAndRecord oder .record; unter Android sind die RECORD_AUDIO-Berechtigung (Laufzeitberechtigung) und eine Mikrofon-AudioSource erforderlich. Flutter verwendet das Record-Plugin, um diese Unterschiede zu abstrahieren.
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-Lautstärke: \(rms)")
}
try engine.start()
Der Code setzt einen Tap auf den Eingangsknoten der AVAudioEngine. Jeder Audiopuffer enthält Float-Daten des monophonen Mikrofonsignals. Der RMS wird als quadratischer Mittelwert der Amplitude berechnet — ein Standardindikator für die Lautstärke im Bereich von 0,0 (Stille) bis ~0,5–1,0 (laute Stimme).
Zur Bewertung der Mikrofonqualität werden Schlüsselparameter verwendet. SNR (Signal-Rausch-Verhältnis) ist das Verhältnis des Signalpegels zum Eigenrauschen des Mikrofons, gemessen in dBA. Je höher das SNR, desto leiser ist das Hintergrundrauschen in der Aufnahme. Für Sprachanrufe sind 62–64 dBA ausreichend, für Musikaufnahmen sind 68+ dBA erforderlich.
AOP (Acoustic Overload Point) ist der maximale Schalldruckpegel (SPL), den ein Mikrofon ohne Clipping verarbeiten kann. Bei einem typischen MEMS-Mikrofon beträgt der AOP 125 dB. Bei Konzerten (110–120 dB) ist die Aufnahme sauber, aber bei 130+ dB (nahes Feuerwerk) treten nichtlineare Verzerrungen auf (THD > 10%).
Der Frequenzbereich bestimmt, welche Frequenzen das Mikrofon ohne Dämpfung aufnimmt. Für Sprache reichen 300–3400 Hz (Telefonstandard, POTS). Für Musik und Video werden 20–20000 Hz benötigt. MEMS-Mikrofone in aktuellen Smartphone-Generationen (Knowles SPH9855) bieten einen Bereich von 30–18000 Hz mit einer Gleichmäßigkeit von ±3 dB.
Häufig gestellte Fragen
Moderne Smartphones enthalten 3 bis 4 Mikrofone: primär (untere Kante, für Anrufe und Videoaufnahmen), vorne (obere Kante, Sprachbefehle), hinten (Rückseite, Rauschunterdrückung). Flaggschiffe (iPhone 16 Pro, Galaxy S25) fügen ein viertes Mikrofon in der Nähe der Frontkamera hinzu, um die Aufnahme bei Videoanrufen zu verbessern.
Auf Android — die Laufzeitberechtigung RECORD_AUDIO anfordern und AudioRecord oder MediaRecorder verwenden. Auf iOS — AVAudioSession mit der Kategorie .playAndRecord aktivieren und AVAudioEngine oder AVAudioRecorder verwenden. Beide Plattformen erfordern die ausdrückliche Zustimmung des Benutzers über einen Systemdialog.
SNR (Signal-Rausch-Verhältnis) ist das Verhältnis des Nutzsignals zum Eigenrauschen des Mikrofons. Ein Wert von 64 dBA bedeutet, dass bei der Sprachaufnahme der Geräuschpegel 64 dB unter dem Sprachpegel liegt. Ein SNR von 62–64 dBA gilt als gut für Anrufe und 68+ dBA für Musikaufnahmen.
Typische Ursachen: Die Laufzeitberechtigung RECORD_AUDIO wurde nicht angefordert (Android 6+); es wurde keine AudioSource angegeben (z.B. CAMCORDER statt VOICE_RECOGNITION); das Gerät hat kein Mikrofon (Android TV); ein anderer Prozess hat das Mikrofon bereits erfasst. Überprüfen Sie den Initialisierungsstatus mit AudioRecord.getState().
Auf Android — einen PCM-Puffer über AudioRecord.read() abrufen, RMS als sqrt(sum(Samples²) / count) berechnen. Auf iOS — einen Tap auf AVAudioInputNode über installTap(forBus:) setzen und RMS ähnlich aus floatChannelData berechnen. RMS ist normalisiert: 0,0 (Stille) bis etwa 1,0 (ADC-Maximum).
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch