配置預處理效果

Android 10 版本包含下列使用VOICE_COMMUNICATION擷取的要求。

  • 使用VOICE_COMMUNICATION擷取時,實作應在擷取路徑上提供聲學迴聲消除器 (AEC)。
  • 如果提供 AEC,則必須可以透過 SDK API 的AcousticEchoCanceler來發現和控制它。

Android平台在audiofx套件中提供了支援裝置上的音訊效果,可供開發者存取。例如,Nexus 10支援以下預處理效果:

與 AudioSource 實例配對

預處理效果與請求預處理的用例模式配對。在 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和 Camcorder 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 讀數 RMS 為 2500(16 位元樣本)
  • 相對於 90 dB SPL,電平線性追蹤從 -18 dB 到 +12 dB
  • THD < 1%(100 至 4000 Hz 範圍內 90 dB SPL)
  • 近超音波需求(有關測試,請參閱近超音波測試):
    • 支援 CDD 第 7.8.3 節中定義的SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
    • 支援 44100 或 48000 取樣率之一或兩者,無需帶通或抗混疊濾波器。
  • 預設情況下禁用效果/預處理

針對不同來源調整不同效果的範例包括:

  • 噪音抑制器
    • 專為CAMCORDER調整風噪聲抑制器
    • 針對VOICE_COMMUNICATION的固定噪音抑制器進行了調整
  • 自動增益控制
    • 針對VOICE_COMMUNICATION和主手機麥克風進行近距離通話調整
    • 針對CAMCORDER的遠距離通話進行了調整

資源

有關更多信息,請參閱以下資源: