การปิดใช้การระงับเสียงรบกวนของฮาร์ดแวร์

ใน Chrome 64 เรากำลังทดสอบลักษณะการทำงานใหม่สำหรับสตรีมเสียง getUserMedia ที่เปิดใช้ข้อจำกัด echoCancellation สิ่งที่เปลี่ยนแปลงไปคือสตรีมดังกล่าวจะปิดใช้การลดเสียงรบกวนด้วยฮาร์ดแวร์ชั่วคราวตลอดระยะเวลาของสตรีม เราคาดว่าการดำเนินการนี้จะทำให้ระบบตัดเสียงสะท้อนทำงานได้ดีขึ้น เนื่องจากฟังก์ชันการทำงานนี้อยู่ระหว่างการทดสอบ จึงต้องเปิดอย่างชัดเจน ดูด้านล่าง

ในตอนนี้ ลักษณะการทำงานนี้รองรับเฉพาะอุปกรณ์อินพุตบางรุ่นและใน macOS เท่านั้น การรองรับจะจำกัดไว้สำหรับอุปกรณ์ที่มี "การลดเสียงรบกวนรอบข้าง" ที่เปิด/ปิดได้ในแผงเสียงของค่ากำหนดของระบบ

ข้อมูลเบื้องต้น

การตัดเสียงก้องจะพยายามนำเสียงที่เล่นจากลำโพงออกจากสัญญาณเสียงที่ไมโครโฟนรับ หากไม่มีฟีเจอร์นี้ ไมโครโฟนของอีกฝั่งหนึ่งจะรับเสียงที่คุณพูดในฐานะผู้เข้าร่วมการโทรฝั่งหนึ่ง แล้วส่งกลับมาให้คุณ คุณจะได้ยินเสียงสะท้อนของตัวเอง

ซอฟต์แวร์ตัดเสียงก้องของ WebRTC (ซึ่งใช้ใน Chrome) จำเป็นต้องรับสัญญาณเสียงที่ชัดเจนที่สุดจากไมโครโฟนเพื่อให้ตัดเสียงก้องได้ โดยทั่วไปแล้ว กระบวนการประมวลผลที่ใช้ก่อนเสียงจะไปถึงตัวตัดเสียงสะท้อน เช่น การลดเสียงรบกวนด้วยฮาร์ดแวร์ จะส่งผลต่อประสิทธิภาพของตัวตัดเสียงสะท้อน นอกจากนี้ ยังมีซอฟต์แวร์ลดเสียงรบกวนอยู่แล้ว แต่จะใช้ได้หลังจากระบบตัดเสียงสะท้อนประมวลผลเสร็จแล้วเท่านั้น

รายละเอียดของลักษณะการทำงานแบบใหม่

นักพัฒนาเว็บสามารถเปิดใช้ลักษณะการทำงานใหม่ในเว็บไซต์ของตนได้โดยเลือกใช้การทดลองใช้ต้นทาง ผู้ใช้ปลายทางสามารถเปิดใช้ฟีเจอร์นี้ทั่วโลกได้โดยส่ง Flag บรรทัดคำสั่งเมื่อเริ่ม Chrome ดูข้อมูลเพิ่มเติมได้ด้านล่าง

เมื่อเปิดใช้ตัวเลือกนี้และหน้าเว็บเรียกใช้ getUserMedia เพื่อรับเสียงจากอุปกรณ์อินพุต ระบบจะดำเนินการต่อไปนี้

  • หากเปิดใช้ข้อจำกัด echoCancellation ระบบจะปิดการลดเสียงรบกวนด้วยฮาร์ดแวร์ตลอดระยะเวลาของสตรีมเสียงที่สร้างขึ้นใหม่

  • เนื่องจากการตั้งค่านี้เป็นการตั้งค่าระดับระบบ จึงจะมีผลกับสตรีมอินพุตเสียงทั้งหมดจากอุปกรณ์เครื่องเดียวกัน (เช่น ไมโครโฟนเดียวกัน)

  • เมื่อสตรีมสุดท้ายที่ต้องการปิดการลดเสียงรบกวนด้วยฮาร์ดแวร์ปิดลง ระบบจะเปิดการลดเสียงรบกวนด้วยฮาร์ดแวร์อีกครั้ง

  • หากปิดใช้การตัดเสียงรบกวนด้วยฮาร์ดแวร์ไว้ก่อนหน้านี้ Chrome จะไม่เปลี่ยนแปลงสถานะ

  • หากเรียกใช้ getUserMedia โดยไม่เปิดใช้ echoCancellation ไว้ Chrome จะไม่แตะต้องการตัดเสียงรบกวนฮาร์ดแวร์

เนื่องจากผู้ใช้สามารถควบคุมการตั้งค่านี้ได้เช่นกัน จึงมีการโต้ตอบบางอย่างกับผู้ใช้ ดังนี้

  • หาก Chrome ปิดการลดเสียงรบกวนจากฮาร์ดแวร์ไว้และผู้ใช้เปิดกลับขึ้นมา Chrome จะไม่พยายามปิดใช้ฟีเจอร์นี้อีกครั้งสำหรับสตรีมนั้น

  • หาก Chrome ปิดการลดเสียงรบกวนจากฮาร์ดแวร์ไว้ และผู้ใช้เปิดการลดเสียงรบกวนจากฮาร์ดแวร์อีกครั้งแล้วปิดอีกครั้ง Chrome จะยังคงเปิดใช้การลดเสียงรบกวนจากฮาร์ดแวร์อีกครั้งเมื่อสตรีมสิ้นสุดลง

ลักษณะการทํางานจะมีผลทันทีที่คุณเปิดใช้การทดสอบ คุณไม่จำเป็นต้องเปลี่ยนแปลง API

วิธีเปิดใช้การทดสอบ

หากต้องการใช้ลักษณะการทำงานใหม่นี้ในเว็บไซต์ คุณต้องลงชื่อสมัครใช้ช่วงทดลองใช้ Origin "ปิดใช้การลดเสียงรบกวนด้วยฮาร์ดแวร์" หากต้องการลองใช้ฟีเจอร์นี้ในเครื่อง คุณก็เปิดใช้ในบรรทัดคำสั่งได้เช่นกัน โดยทำดังนี้

chrome --enable-blink-features=DisableHardwareNoiseSuppression

การส่ง Flag นี้ในบรรทัดคำสั่งจะเปิดใช้ฟีเจอร์นี้ทั่วโลกสำหรับเซสชันปัจจุบัน

เรามี 2 ด้านที่ต้องการประเมินด้วยการทดสอบนี้

  • ความแตกต่างเชิงคุณภาพในการใช้งานจริงระหว่างการเปิดและปิดการลดเสียงรบกวนฮาร์ดแวร์

  • การเปลี่ยนการตั้งค่านี้จากใน Chrome จะส่งผลต่อผู้ใช้ปลายทางและซอฟต์แวร์อื่นๆ ที่ผู้ใช้อาจใช้งานอยู่อย่างไร

เราอยากทราบความคิดเห็นเกี่ยวกับทั้ง 2 ด้านนี้ การโทรดีขึ้นหรือแย่ลงเมื่อเปิดใช้ฟีเจอร์นี้ การติดตั้งใช้งานมีปัญหาที่ทําให้ลักษณะการทํางานไม่เป็นไปตามที่คาดไว้หรือไม่ ไม่ว่าในกรณีใด หากคุณกำลังลองใช้ฟีเจอร์นี้ โปรดส่งความคิดเห็นเกี่ยวกับข้อบกพร่องนี้ หากเป็นไปได้ ให้ระบุไมโครโฟน / ชุดหูฟัง / ฯลฯ ที่ใช้และระบุว่าอุปกรณ์รองรับการตัดเสียงรบกวนหรือไม่ หากทำการทดสอบขนาดใหญ่มากขึ้น โปรดส่งลิงก์ไปยังสถิติเปรียบเทียบเกี่ยวกับคุณภาพการโทรด้วยเสียง