Die Android 10-Version enthält die folgenden Anforderungen für die Erfassung mit VOICE_COMMUNICATION
.
- Implementierungen sollten einen AEC (Acoustic Echo Canceler) auf dem Erfassungspfad bereitstellen, wenn mit
VOICE_COMMUNICATION
erfasst wird. - Wenn Sie eine AEC bereitstellen, muss sie über die
AcousticEchoCanceler
der SDK-API auffindbar und steuerbar sein.
Die Android-Plattform bietet Audioeffekte auf unterstützten Geräten im Paket
audiofx
, auf das Entwickler zugreifen können.
Das Nexus 10 unterstützt beispielsweise die folgenden Vorverarbeitungseffekte:
Mit AudioSource-Instanzen koppeln
Vorverarbeitungseffekte sind mit dem Anwendungsfallmodus verknüpft, in dem die Vorverarbeitung angefordert wird. In der Android-App-Entwicklung wird ein Anwendungsfall als AudioSource
-Instanz bezeichnet. App-Entwickler fordern die Verwendung der AudioSource
-Abstraktion anstelle des tatsächlichen Audio-Hardwaregeräts an. Der Android Audio Policy Manager ordnet eine AudioSource
-Instanz gemäß produktspezifischen Regeln einer bestimmten Konfiguration des Aufnahmepfads zu (einschließlich Gerät, Verstärkung und Vorverarbeitung). Die folgenden Quellen sind für Entwickler verfügbar:
android.media.MediaRecorder.AudioSource.CAMCORDER
android.media.MediaRecorder.AudioSource.VOICE_COMMUNICATION
android.media.MediaRecorder.AudioSource.VOICE_CALL
android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK
android.media.MediaRecorder.AudioSource.VOICE_UPLINK
android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION
android.media.MediaRecorder.AudioSource.MIC
android.media.MediaRecorder.AudioSource.DEFAULT
Die standardmäßigen Vorverarbeitungseffekte, die für jede AudioSource
-Instanz angewendet werden, sind in der Datei /vendor/etc/audio_effects.xml
angegeben. Wenn Sie eigene Standardeffekte für jede AudioSource
-Instanz festlegen möchten, erstellen Sie eine /vendor/etc/audio_effects.xml
-Datei und geben Sie die Vorverarbeitungseffekte an, die aktiviert werden sollen. Ein Beispiel finden Sie in der Implementierung für das Nexus 10 in device/samsung/manta/audio_effects.xml
.
AudioEffect
-Instanzen rufen eine Sitzung ab und geben sie frei, wenn sie erstellt und zerstört werden. So können Effekte wie der Loudness Enhancer während der gesamten Sitzung beibehalten werden.
Im folgenden Beispiel wird die Vorverarbeitung für die VoIP-Instanz AudioSource
und die Camcorder-Instanz AudioSource
aktiviert. Wenn Sie die AudioSource
-Konfiguration auf diese Weise deklarieren, fordert das Framework automatisch die Verwendung dieser Effekte vom HAL an.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Quellenoptimierung
Für die AudioSource
-Abstimmung gibt es keine expliziten Anforderungen an die Audioverstärkung oder die Audioverarbeitung, mit Ausnahme der Spracherkennung (VOICE_RECOGNITION
). Die Anforderungen für die Spracherkennung sind:
- Linearer Frequenzgang (+/- 3 dB) von 100 Hz bis 4 kHz
- Konfiguration für Nahfeldmikrofon: 90 dB SPL entspricht einem RMS-Wert von 2.500 (16‑Bit-Samples)
- Der Pegel wird linear von -18 dB bis +12 dB relativ zu 90 dB SPL verfolgt.
- THD < 1% (90 dB SPL im Bereich von 100 bis 4.000 Hz)
- Anforderungen an den Bereich um den Ultraschall (für Tests siehe Tests für den Bereich um den Ultraschall):
- Unterstützung für
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
gemäß Abschnitt 7.8.3 des CDD. - Unterstützung für eine oder beide Abtastraten von 44.100 oder 48.000 Hz ohne Bandpass- oder Antialiasing-Filter.
- Unterstützung für
- Effekte/Vorverarbeitung standardmäßig deaktiviert
Beispiele für das Anpassen verschiedener Effekte für unterschiedliche Quellen:
- Geräuschunterdrückung
- Optimiert für Windgeräuschunterdrückung für
CAMCORDER
- Optimiert für die Unterdrückung von stationärem Rauschen für
VOICE_COMMUNICATION
- Optimiert für Windgeräuschunterdrückung für
- Automatische Verstärkungsregelung
- Optimiert für Nahgespräche über das
VOICE_COMMUNICATION
- und das Hauptmikrofon des Smartphones - Optimiert für die Fernfeldmikrofonie für
CAMCORDER
- Optimiert für Nahgespräche über das
Ressourcen
Weitere Informationen finden Sie in den folgenden Ressourcen:
- Android-Dokumentation für das audiofx-Paket
- Android-Dokumentation zum Audioeffekt zur Rauschunterdrückung
/device/google/crosshatch/audio_effects.xml
-Datei für das Pixel 3