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

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

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

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

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

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

ตัวอย่างต่อไปนี้เปิดใช้การประมวลผลก่อนการแปลงสําหรับอินสแตนซ์ 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 อย่างใดอย่างหนึ่งหรือทั้ง 2 อย่างโดยไม่มีตัวกรองย่านความถี่หรือตัวกรองการลบรอยหยัก
  • ปิดใช้เอฟเฟกต์/การประมวลผลล่วงหน้าโดยค่าเริ่มต้น

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

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

แหล่งข้อมูล

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