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

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

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

ที่มา

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

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

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

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

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

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

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

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

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

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

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

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

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

ลักษณะการทำงานจะเกิดขึ้นได้ง่ายๆ ด้วยการเปิดใช้การทดสอบ โดยไม่ต้องเปลี่ยนแปลง API อะไร

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

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

chrome --enable-blink-features=DisableHardwareNoiseSuppression

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

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

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

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

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