บทความนี้อธิบายการเปลี่ยนอัตราตัวอย่างหรือที่เรียกว่าการปรับขนาดตัวอย่างภายใน Android ดูคำศัพท์ที่เกี่ยวข้องกับการเปลี่ยนอัตราตัวอย่างได้ที่คำศัพท์
การแปลงอัตราตัวอย่างคือกระบวนการเปลี่ยนสตรีมตัวอย่างแบบไม่ต่อเนื่องจากอัตราตัวอย่างหนึ่งเป็นสตรีมอื่นที่มีอัตราตัวอย่างอื่น ตัวแปลงอัตราตัวอย่างหรือตัวแปลงเป็นรูปแบบใหม่คือโมดูลที่ใช้อัตราตัวอย่างแปลง สตรีมต้นฉบับเรียกว่า "สัญญาณต้นทาง" ส่วนสตรีมที่แปลงเป็นรูปแบบใหม่เรียกว่า "สัญญาณปลายทาง"
ระบบใช้โปรแกรมเปลี่ยนรูปแบบหลายแห่งใน Android ตัวอย่างเช่น ไฟล์ MP3 อาจได้รับการเข้ารหัสที่อัตราการสุ่มตัวอย่าง 44.1 kHz แต่ต้องเล่นในอุปกรณ์ Android ที่รองรับเสียง 48 kHz ภายใน ในกรณีนี้ ระบบจะใช้โปรแกรมเปลี่ยนอัตราการสุ่มตัวอย่างเพื่อเพิ่มอัตราการสุ่มตัวอย่างเสียงเอาต์พุต MP3 จากอัตราการสุ่มตัวอย่างแหล่งที่มา 44.1 kHz เป็นอัตราการสุ่มตัวอย่างที่ส่ง 48 kHz ซึ่งใช้ในอุปกรณ์ Android
คุณแสดงลักษณะของโปรแกรมเปลี่ยนอัตราตัวอย่างได้โดยใช้เมตริกต่างๆ ซึ่งรวมถึง
- ระดับการคงไว้ของระดับความกว้างโดยรวมของสัญญาณ
- ระดับการคงแบนด์วิดท์ความถี่ของสัญญาณไว้ ซึ่งขึ้นอยู่กับข้อจำกัดของอัตราตัวอย่างของที่เก็บ
- เวลาในการตอบสนองโดยรวมผ่านตัวแปลง
- เฟสและการหน่วงเวลาของกลุ่มที่สอดคล้องกับความถี่
- ความซับซ้อนในการประมวลผลที่แสดงเป็นรอบของ CPU หรือปริมาณการใช้พลังงาน
- อัตราส่วนอัตราตัวอย่างของแหล่งที่มาและปลายทางที่อนุญาต
- ความสามารถในการเปลี่ยนอัตราส่วนอัตราการสุ่มตัวอย่างแบบไดนามิก
- รูปแบบไฟล์ตัวอย่างเสียงแบบดิจิทัลที่รองรับ
ตัวแปลงสัญญาณที่เหมาะควรจะรักษาแอมพลิจูดและความถี่ของแบนด์วิดท์ของสัญญาณต้นทางไว้อย่างถูกต้อง (ขึ้นอยู่กับข้อจำกัดของอัตราการสุ่มตัวอย่างของปลายทาง) มีความล่าช้าน้อยที่สุดและสอดคล้องกัน มีความซับซ้อนในการคำนวณน้อยที่สุด อนุญาตให้ใช้อัตราส่วนการเปลี่ยนรูปแบบแบบกำหนดเองและแบบไดนามิก และรองรับรูปแบบตัวอย่างเสียงดิจิทัลทั่วไปทั้งหมด ในทางปฏิบัติแล้ว โปรแกรมเปลี่ยนอัตราตัวอย่างที่เหมาะที่สุดนั้นไม่มีอยู่จริง เนื่องจากโปรแกรมเปลี่ยนอัตราตัวอย่างจริงเป็นการประนีประนอมระหว่างลักษณะเหล่านี้ เช่น เป้าหมายด้านคุณภาพที่ยอดเยี่ยมขัดแย้งกับเวลาในการตอบสนองที่สั้นและความซับซ้อนต่ำ
Android มีโปรแกรมเปลี่ยนรูปแบบข้อมูลเสียงที่หลากหลายเพื่อให้สามารถประนีประนอมได้อย่างเหมาะสมตาม Use Case และภาระงานของแอปพลิเคชัน คุณสามารถดูคำอธิบายเกี่ยวกับโปรแกรมเปลี่ยนรูปแบบข้อมูลที่มีได้ในการใช้งานโปรแกรมเปลี่ยนรูปแบบข้อมูล
การใช้งานโปรแกรมเปลี่ยนรูปแบบ
การติดตั้งใช้งานตัวแปลงตัวอย่างที่ใช้ได้มีการเปลี่ยนแปลงอยู่บ่อยครั้ง และ OEM อาจปรับแต่งได้ ตัวแปลงอัตราตัวอย่างเริ่มต้นตามลําดับจากมากไปน้อยของการบิดเบือนสัญญาณและลําดับจากน้อยไปมากของความซับซ้อนในการคํานวณ ได้แก่
- เชิงเส้น
- ลูกบาศก์
- sinc ที่มีค่าสัมประสิทธิ์เดิม
- sinc ที่มีค่าสัมประสิทธิ์ที่แก้ไขแล้ว
โดยทั่วไปแล้ว ตัวแปลงตัวอย่างแบบ sinc เหมาะสําหรับการเล่นเพลงที่มีคุณภาพสูงขึ้น ส่วนตัวแปลงตัวอย่างอื่นๆ ควรสงวนไว้สําหรับกรณีที่คุณภาพมีความสำคัญน้อยกว่า (เช่น "การคลิกแป้นพิมพ์" หรือคล้ายกัน)
การใช้งานตัวแปลงตัวอย่างที่เฉพาะเจาะจงที่เลือกจะขึ้นอยู่กับกรณีการใช้งาน ภาระ และค่าของพร็อพเพอร์ตี้ของระบบ
af.resampler.quality
ดูรายละเอียดได้ที่ซอร์สโค้ดตัวแปลงตัวอย่างเสียงใน AudioFlinger