กำหนดค่าเอฟเฟกต์การประมวลผลล่วงหน้า

เวอร์ชัน Android 10 มีข้อกำหนดต่อไปนี้สำหรับการจับภาพด้วย VOICE_COMMUNICATION

  • การติดตั้งใช้งานควรมีการตัดเสียงก้อง (AEC) ทางเสียงในเส้นทางการบันทึกเมื่อบันทึกด้วย VOICE_COMMUNICATION
  • หากระบุ AEC ไว้ AEC นั้นจะต้องค้นพบได้และควบคุมได้ผ่าน AcousticEchoCanceler ของ SDK API

แพลตฟอร์ม 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 แล้วระบุเอฟเฟกต์การประมวลผลข้อมูลล่วงหน้าที่จะเปิด โปรดดูตัวอย่างการใช้งานสำหรับ Nexus 10 ใน device/samsung/manta/audio_effects.xml อินสแตนซ์ AudioEffect จะได้รับและปล่อยเซสชันเมื่อสร้างและทำลาย ทำให้เอฟเฟกต์ (เช่น Loudness Boostr) คงอยู่ตลอดเซสชัน

ตัวอย่างต่อไปนี้เปิดใช้การประมวลผลก่อนการแปลงสําหรับอินสแตนซ์ VoIPAudioSource และกล้องวิดีโอ 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) ข้อกำหนดสำหรับการจดจำเสียงมีดังนี้

  • การตอบสนองความถี่คงที่ (+/- 3 dB) ตั้งแต่ 100 Hz ถึง 4 kHz
  • การกำหนดค่าการพูดในระยะใกล้: SPL 90 dB อ่าน RMS ที่ 2500 (ตัวอย่าง 16 บิต)
  • วัดระดับเป็นเส้นตรงตั้งแต่ -18 dB ถึง +12 dB สัมพัทธ์กับ 90 dB SPL
  • THD < 1% (90 dB SPL ในย่านความถี่ 100 ถึง 4000 Hz)
  • ข้อกำหนดเกี่ยวกับอัลตราซาวด์ระยะใกล้ (สำหรับการทดสอบ โปรดดูการทดสอบอัลตราซาวด์ระยะใกล้)
    • การรองรับ SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND ตามที่ระบุไว้ในส่วนที่ 7.8.3 ของ CDD
    • รองรับอัตราการสุ่มตัวอย่าง 44100 หรือ 48000 รายการใดรายการหนึ่งหรือทั้งคู่ ที่ไม่มีตัวกรองย่านความถี่หรือตัวกรองการลบรอยหยัก
  • ปิดใช้เอฟเฟกต์/การประมวลผลล่วงหน้าโดยค่าเริ่มต้น

ตัวอย่างของการปรับแต่งเอฟเฟกต์ต่างๆ ตามแหล่งที่มาต่างๆ ได้แก่

  • ตัวลดเสียงรบกวน
    • ปรับแต่งเพื่อตัดเสียงรบกวนจากลมสำหรับ CAMCORDER
    • ปรับแต่งเพื่อตัดเสียงรบกวนเมื่ออยู่กับที่สำหรับ VOICE_COMMUNICATION
  • การควบคุมระดับสัญญาณอัตโนมัติ
    • ปรับจูนเพื่อพูดคุยแบบใกล้ชิดสำหรับ VOICE_COMMUNICATION และ ไมค์ของโทรศัพท์หลัก
    • ได้รับการแจ้งเตือนแบบระยะไกลสำหรับ CAMCORDER

แหล่งข้อมูล

ดูข้อมูลเพิ่มเติมได้ที่แหล่งข้อมูลต่อไปนี้