Die Android 10-Version enthält die folgenden
Anforderungen für die Aufnahme mit VOICE_COMMUNICATION.
- Implementierungen sollten einen akustischen Echounterdrücker (Acoustic Echo Canceler, AEC) auf dem Aufnahmepfad bereitstellen, wenn sie mit
aufnehmen
VOICE_COMMUNICATION. - Wenn ein AEC bereitgestellt wird, muss er über die SDK-APIs
AcousticEchoCancelererkennbar und steuerbar sein.
Die Android-Plattform bietet Audioeffekte auf unterstützten Geräten im
audiofx Paket, auf das Entwickler zugreifen können.
Das Nexus 10 unterstützt beispielsweise die folgenden Vorverarbeitungseffekte:
Mit AudioSource-Instanzen koppeln
Vorverarbeitungseffekte werden mit dem Anwendungsfallmodus gekoppelt, in dem die Vorverarbeitung angefordert wird. Bei der Android-App-Entwicklung wird ein Anwendungsfall als AudioSource-Instanz bezeichnet. App-Entwickler fordern die Verwendung der AudioSource-Abstraktion anstelle des tatsächlichen Audiohardwaregerä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 werden Entwicklern zur Verfügung gestellt:
android.media.MediaRecorder.AudioSource.CAMCORDERandroid.media.MediaRecorder.AudioSource.VOICE_COMMUNICATIONandroid.media.MediaRecorder.AudioSource.VOICE_CALLandroid.media.MediaRecorder.AudioSource.VOICE_DOWNLINKandroid.media.MediaRecorder.AudioSource.VOICE_UPLINKandroid.media.MediaRecorder.AudioSource.VOICE_RECOGNITIONandroid.media.MediaRecorder.AudioSource.MICandroid.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 angeben 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 beim Erstellen und Löschen eine Sitzung ab und geben sie wieder frei, sodass die Effekte (z. B. der Lautstärkeverstärker) während der gesamten Sitzung bestehen bleiben.
Im folgenden Beispiel wird die Vorverarbeitung für die AudioSource-Instanzen „VoIP“ und „Camcorder“ aktiviert.AudioSource Wenn Sie die AudioSource-Konfiguration auf diese Weise deklarieren, 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>
Quellabstimmung
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 umfassen:
- Linearer Frequenzgang (+/- 3 dB) von 100 Hz bis 4 kHz
- Konfiguration für Nahfeldmikrofon: 90 dB SPL ergibt einen RMS-Wert von 2500 (16-Bit-Samples)
- Lineare Pegeländerung von -18 dB bis +12 dB relativ zu 90 dB SPL
- THD < 1% (90 dB SPL im Bereich von 100 bis 4000 Hz)
- Anforderungen für den Bereich nahe des Ultraschalls (Tests finden Sie unter
Tests im Bereich nahe des Ultraschalls):
- Unterstützung für
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUNDgemäß 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:
- Geräuschunterdrückung
- Abgestimmt auf die Unterdrückung von Windgeräuschen für
CAMCORDER - Abgestimmt auf die Unterdrückung von stationären Geräuschen für
VOICE_COMMUNICATION
- Abgestimmt auf die Unterdrückung von Windgeräuschen für
- Automatische Verstärkungsregelung
- Abgestimmt auf Nahfeldmikrofon für
VOICE_COMMUNICATIONund das Hauptmikrofon des Smartphones - Abgestimmt auf Fernfeldmikrofon für
CAMCORDER
- Abgestimmt auf Nahfeldmikrofon für
Ressourcen
Weitere Informationen finden Sie hier:
- Android-Dokumentation für audiofx Paket
- Android-Dokumentation für den Audioeffekt „Geräuschunterdrückung“
- Datei
/device/google/crosshatch/audio_effects.xmlfür das Pixel 3