เวอร์ชัน 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
- ปรับจูนเพื่อพูดคุยแบบใกล้ชิดสำหรับ
แหล่งข้อมูล
ดูข้อมูลเพิ่มเติมได้ที่แหล่งข้อมูลต่อไปนี้
- เอกสารประกอบของ Android สำหรับแพ็กเกจ audiofx
- เอกสารประกอบของ Android สำหรับเอฟเฟกต์เสียงที่ช่วยลดเสียงรบกวน
/device/google/crosshatch/audio_effects.xml
ไฟล์สำหรับ Pixel 3