設定預先處理效果

Android 10 版本包含下列使用 VOICE_COMMUNICATION 擷取的規定。

  • 使用 VOICE_COMMUNICATION 擷取音訊時,實作項目應在擷取路徑上提供聲學回音消除器 (AEC)。
  • 如果提供 AEC,則必須透過 SDK API 的 AcousticEchoCanceler 進行探索和控制。

Android 平台會在支援的裝置上提供 audiofx 套件中的音效,供開發人員存取。舉例來說,Nexus 10 支援下列前置處理效果:

與 AudioSource 執行個體配對

前置處理效果會與要求前置處理的用途模式配對。在 Android 應用程式開發中,應用情境稱為 AudioSource 執行個體;應用程式開發人員會要求使用 AudioSource 抽象化,而非實際的音訊硬體裝置。Android Audio Policy Manager 會根據產品專屬規則,將 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

/vendor/etc/audio_effects.xml 檔案會指定套用至每個 AudioSource 執行個體的預設前處理效果。如要為每個 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 的讀取 RMS 為 2500 (16 位元樣本)
  • 音量會以線性方式從 -18 dB 調整至 +12 dB (相對於 90 dB SPL)
  • 總諧波失真 < 1% (100 至 4000 Hz 範圍內為 90 dB SPL)
  • 近超音波需求 (如要進行測試,請參閱「近超音波測試」):
    • 支援 CDD 7.8.3 節定義的 SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
    • 支援 44100 或 48000 取樣率 (可同時支援兩者),且不含帶通或反鋸齒濾波器。
  • 預設停用特效/前置處理

以下是針對不同來源調整不同效果的範例:

  • 雜訊抑制器
    • 已針對「CAMCORDER」的風噪抑制器進行調整
    • 已針對VOICE_COMMUNICATION的固定式噪音抑制器進行調整
  • 自動增益控制
    • 針對 VOICE_COMMUNICATION 和主要手機麥克風的近距離通話進行調整
    • 已針對 CAMCORDER 的遠距通話進行調整

資源

詳情請參閱下列資源: