Die Android 10-Version enthält die folgenden Anforderungen für die Aufnahme mit VOICE_COMMUNICATION
.
- Implementierungen sollten bei der Erfassung mit
VOICE_COMMUNICATION
einen akustischen Echounterdrücker (AEC) auf dem Erfassungspfad bereitstellen. - Wenn ein AEC bereitgestellt wird, muss dieser über den
AcousticEchoCanceler
der SDK-API erkennbar und steuerbar sein.
Die Android-Plattform stellt Audioeffekte auf unterstützten Geräten im audiofx
Paket bereit, auf das Entwickler zugreifen können. Das Nexus 10 unterstützt beispielsweise die folgenden Vorverarbeitungseffekte:
Koppeln Sie es mit AudioSource-Instanzen
Vorverarbeitungseffekte werden mit dem Anwendungsfallmodus gepaart, in dem die Vorverarbeitung angefordert wird. Bei der Android-App-Entwicklung wird ein Anwendungsfall als AudioSource
Instanz bezeichnet. und App-Entwickler fordern die Verwendung der AudioSource
Abstraktion anstelle des eigentlichen Audio-Hardwaregeräts. Der Android Audio Policy Manager ordnet eine AudioSource
Instanz gemäß produktspezifischen Regeln einer bestimmten Erfassungspfadkonfiguration (einschließlich Gerät, Verstärkung und Vorverarbeitung) zu. Die folgenden Quellen stehen Entwicklern 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 standardmäßigen Vorverarbeitungseffekte, die für jede AudioSource
Instanz angewendet werden, sind in der Datei /vendor/etc/audio_effects.xml
angegeben. Um Ihre eigenen Standardeffekte für jede AudioSource
Instanz anzugeben, erstellen Sie eine Datei /vendor/etc/audio_effects.xml
und geben Sie die zu aktivierenden Vorverarbeitungseffekte an. Ein Beispiel finden Sie in der Implementierung für das Nexus 10 in device/samsung/manta/audio_effects.xml
. AudioEffect
Instanzen erwerben und geben eine Sitzung frei, wenn sie erstellt und zerstört werden, sodass die Effekte (z. B. der Loudness Enhancer) während der gesamten Sitzung bestehen bleiben.
Das folgende Beispiel aktiviert die Vorverarbeitung für die Instanzen VoIP AudioSource
und Camcorder AudioSource
. Durch die Deklaration der AudioSource
Konfiguration auf diese Weise fordert das Framework automatisch die Verwendung dieser Effekte von der HAL an.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Quellenabstimmung
Für AudioSource
Abstimmung gelten 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
- Close-Talk-Konfiguration: 90 dB SPL liest RMS von 2500 (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 4000 Hz)
- Anforderungen an den Nahultraschall (für Tests siehe Nahultraschalltests ):
- Unterstützung für
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
gemäß Definition in Abschnitt 7.8.3 des CDD. - Unterstützung für eine oder beide Abtastraten von 44.100 oder 48.000 ohne Bandpass- oder Antialiasing-Filter.
- Unterstützung für
- Effekte/Vorverarbeitung standardmäßig deaktiviert
Beispiele für die Abstimmung verschiedener Effekte für verschiedene Quellen sind:
- Geräuschunterdrücker
- Abgestimmt auf Windgeräuschunterdrückung für
CAMCORDER
- Abgestimmt auf stationäre Geräuschunterdrückung für
VOICE_COMMUNICATION
- Abgestimmt auf Windgeräuschunterdrückung für
- Automatische gewinn Kontrolle
- Auf Nahgespräche für
VOICE_COMMUNICATION
und das Haupttelefonmikrofon abgestimmt - Abgestimmt auf Ferngespräche für
CAMCORDER
- Auf Nahgespräche für
Ressourcen
Weitere Informationen finden Sie in den folgenden Ressourcen:
- Android-Dokumentation für das Audiofx-Paket
- Android-Dokumentation für den Audioeffekt „Rauschunterdrückung“.
-
/device/google/crosshatch/audio_effects.xml
für das Pixel 3