配置预处理效果

对于使用 VOICE_COMMUNICATION 进行捕获,Android 10 版本存在下列要求。

  • 当使用 VOICE_COMMUNICATION 进行捕获时,实现应在捕获路径上提供回声消除器 (AEC)。
  • 如果提供 AEC,它必须可以通过 SDK API 的 AcousticEchoCanceler 进行检测和控制。

Android 平台向 audiofx 软件包(可供开发者访问)中支持的设备提供音频效果。例如,Nexus 10 支持以下预处理效果:

与 AudioSources 配对

预处理效果与在其下请求预处理的用例模式配对。在 Android 应用开发中,用例被称为 AudioSource 实例;应用开发者请求使用 AudioSource 抽象,而不是实际的音频硬件设备。Android 音频政策管理中心根据特定于产品的规则将 AudioSource 实例映射到指定的捕获路径配置(包括设备、增益和预处理)。我们向开发者提供了以下来源:

  • 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

针对各个 AudioSource 实例请求的默认预处理效果在 /vendor/etc/audio_effects.xml 文件中指定。如需为各个 AudioSource 实例指定您自己的默认效果,请创建一个 /vendor/etc/audio_effects.xml 文件,并指定要开启的预处理效果。有关示例,请参阅 device/samsung/manta/audio_effects.xml 中 Nexus 10 的实现。AudioEffect 实例在创建和销毁时获取和释放会话,因此效果(如音量增强器)能够在整个会话期间持续存在。

以下示例为 VoIP AudioSource 和摄像机 AudioSource 实例启用了预处理。通过以这种方式声明 AudioSource 配置,框架会自动向 HAL 请求使用这些效果。

<preprocess>
        <stream type="voice_communication">
            <apply effect="aec"/>
            <apply effect="ns"/>
        </stream>
        <stream type="camcorder">
            <apply effect="agc"/>
        </stream>
    </preprocess>

来源调谐

AudioSource 调谐对音频增益或音频处理没有明确的要求,但语音识别 (VOICE_RECOGNITION) 除外。语音识别的要求包括:

  • 100 Hz 至 4 kHz 范围内的平坦频率响应 (+/- 3 dB)
  • 近距离通话配置:90 dB SPL 读取值为 2500 的 RMS(16 位样本)
  • 在 -18 dB 至 +12 dB 范围内相对于 90 dB SPL 的呈线性的电平轨道
  • THD < 1%(100 Hz 至 4000 Hz 范围内的 90 dB SPL)
  • 近超声要求(有关测试,请参阅近超声测试):
    • 支持 CDD 中第 7.8.3 节中定义的 SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
    • 支持 44100 或 48000 采样率中的一个,或者两者都支持(无带通或抗混叠滤波器的情况下)。
  • 效果/预处理默认处于停用状态

关于调谐不同来源的不同效果,示例如下:

  • 噪音抑制器
    • 调谐 CAMCORDER 的风噪抑制器
    • 调谐 VOICE_COMMUNICATION 的静态噪音抑制器
  • 自动增益控制
    • 调谐 VOICE_COMMUNICATION 和手机主麦克风的近距离通话
    • 调谐 CAMCORDER 的远距离通话

资源

有关详情,请参阅以下资源: