Vorverarbeitungseffekte konfigurieren

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 AcousticEchoCanceler erkennbar 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.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 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_ULTRASOUND gemäß 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.
  • 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
  • Automatische Verstärkungsregelung
    • Abgestimmt auf Nahfeldmikrofon für VOICE_COMMUNICATION und das Hauptmikrofon des Smartphones
    • Abgestimmt auf Fernfeldmikrofon für CAMCORDER

Ressourcen

Weitere Informationen finden Sie hier: