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

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

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

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

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

เอฟเฟ็กต์การประมวลผลล่วงหน้าจะจับคู่กับโหมดกรณีการใช้งานที่มีการร้องขอการประมวลผลล่วงหน้า ในการพัฒนาแอป Android กรณีการใช้งานจะเรียกว่า AudioSource และนักพัฒนาแอปขอใช้ AudioSource abstraction แทนอุปกรณ์ฮาร์ดแวร์เสียงจริง 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 หนึ่งหรือทั้งสอง โดยไม่มีตัวกรอง band-pass หรือการลดรอยหยัก
  • เอฟเฟ็กต์/การประมวลผลล่วงหน้าถูกปิดใช้งานตามค่าเริ่มต้น

ตัวอย่างการปรับแต่งเอฟเฟ็กต์ต่างๆ สำหรับแหล่งต่างๆ ได้แก่:

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

ทรัพยากร

สำหรับข้อมูลเพิ่มเติม โปรดดูแหล่งข้อมูลต่อไปนี้: