Die Android 10-Version umfasst die folgenden Anforderungen für die Erfassung mit VOICE_COMMUNICATION
.
- Bei der Aufnahme mit
VOICE_COMMUNICATION
sollte eine akustische Echounterdrückung (AEC) auf dem Aufnahmepfad vorhanden sein. - 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.
Nexus 10 unterstützt beispielsweise die folgenden Vorverarbeitungseffekte:
Mit AudioSource-Instanzen koppeln
Vorverarbeitungseffekte werden mit dem Anwendungsfallmodus verknüpft, in dem die Vorverarbeitung angefordert wird. Bei der Entwicklung von Android-Apps 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 einer AudioSource
-Instanz gemäß produktspezifischen Regeln eine bestimmte Aufnahmepfadkonfiguration zu (einschließlich Gerät, Verstärkung und Vorverarbeitung). Entwicklern stehen die folgenden Quellen zur Verfügung:
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 Standardvorverarbeitungseffekte, die auf jede AudioSource
-Instanz angewendet werden, sind in der /vendor/etc/audio_effects.xml
-Datei angegeben. Wenn du eigene Standardeffekte für jede AudioSource
-Instanz festlegen möchtest, erstelle eine /vendor/etc/audio_effects.xml
-Datei und gib die zu aktivierenden Effekte für die Vorverarbeitung an. Ein Beispiel ist die Implementierung für Nexus 10 in device/samsung/manta/audio_effects.xml
.
AudioEffect
-Instanzen binden und trennen eine Sitzung beim Erstellen und Löschen, sodass die Effekte (z. B. der Lautstärkeverstärker) während der gesamten Sitzung erhalten bleiben.
Im folgenden Beispiel wird die Vorverarbeitung für die VoIP-AudioSource
- und Camcorder-AudioSource
-Instanzen aktiviert. Wenn die AudioSource
-Konfiguration auf diese Weise deklariert wird, fordert das Framework die Verwendung dieser Effekte automatisch vom HAL an.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Quellenoptimierung
Die AudioSource
-Optimierung hat keine expliziten Anforderungen an die Audioverstärkung oder Audioverarbeitung, mit Ausnahme der Spracherkennung (VOICE_RECOGNITION
). Zu den Anforderungen für die Spracherkennung gehören:
- Flacher Frequenzgang (+/- 3 dB) von 100 Hz bis 4 kHz
- Nahsprechkonfiguration: 90 dB SPL, RMS von 2.500 (16‑Bit-Samples)
- Pegelverlauf ist linear von −18 dB bis +12 dB relativ zu 90 dB SPL
- THD < 1% (90 dB SPL im Bereich von 100 bis 4.000 Hz)
- Anforderungen an die Nahfeld-Ultraschalltechnologie (zum Testen siehe Near Ultrasound Tests):
- Unterstützung für
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
wie in Abschnitt 7.8.3 der Vertriebsvereinbarung für Entwickler definiert. - Unterstützung für eine oder beide Abtastraten von 44.100 oder 48.000 Hz ohne Bandpass- oder Anti-Aliasing-Filter.
- Unterstützung für
- Effekte/Vorverarbeitung standardmäßig deaktiviert
Beispiele für die Anpassung verschiedener Effekte für verschiedene Quellen:
- Geräuschunterdrückung
- Für
CAMCORDER
optimierte Windgeräuschunterdrückung - Für
VOICE_COMMUNICATION
optimierter Geräuschunterdrücker für stationäre Umgebungen
- Für
- Automatische Verstärkungsregelung
- Für die Nahfeldkommunikation für
VOICE_COMMUNICATION
und die Hauptmikrofone des Smartphones optimiert - Für
CAMCORDER
auf die Funktion „Gespräch über große Entfernungen“ eingestellt
- Für die Nahfeldkommunikation für
Ressourcen
Weitere Informationen finden Sie in den folgenden Ressourcen:
- Android-Dokumentation für das audiofx-Paket
- Android-Dokumentation zum Audioeffekt „Rauschunterdrückung“
/device/google/crosshatch/audio_effects.xml
-Datei für Google Pixel 3