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

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

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

แพลตฟอร์ม Android มีเอฟเฟ็กต์เสียงในอุปกรณ์ที่รองรับในแพ็กเกจ audiofx ซึ่งนักพัฒนาแอปสามารถเข้าถึงได้ ตัวอย่างเช่น Nexus 10 รองรับเอฟเฟกต์การประมวลผลล่วงหน้าต่อไปนี้

จับคู่กับอินสแตนซ์ AudioSource

เอฟเฟกต์การประมวลผลล่วงหน้าจะจับคู่กับโหมด Use Case ที่มีการขอ การประมวลผลล่วงหน้า ในการพัฒนาแอป 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

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

  • การตอบสนองต่อความถี่คงที่ (+/- 3 dB) ตั้งแต่ 100 Hz ถึง 4 kHz
  • การกำหนดค่าการพูดในระยะใกล้: 90 dB SPL อ่านค่า 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 อย่างใดอย่างหนึ่งหรือทั้ง 2 อย่างโดยไม่มีตัวกรองแบบแถบผ่านหรือ ตัวกรองป้องกันการเกิดรอยหยัก
  • ปิดใช้เอฟเฟกต์/การประมวลผลล่วงหน้าโดยค่าเริ่มต้น

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

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

แหล่งข้อมูล

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