Tắt tính năng khử tiếng ồn phần cứng

Trong Chrome 64, chúng tôi đang thử một hành vi mới cho các luồng âm thanh getUserMedia đã bật quy tắc ràng buộc echoCancellation. Điểm mới là các luồng đó sẽ tạm thời tắt tính năng khử tiếng ồn phần cứng trong suốt thời gian diễn ra luồng. Chúng tôi dự đoán điều này sẽ giúp trình huỷ tiếng vọng hoạt động hiệu quả hơn. Vì chức năng này đang trong quá trình thử nghiệm nên bạn cần bật một cách rõ ràng. Hãy xem bên dưới.

Hiện tại, hành vi này chỉ được hỗ trợ cho một số thiết bị đầu vào và chỉ trên macOS. Chỉ hỗ trợ các thiết bị có tính năng "giảm tiếng ồn xung quanh" có thể bật/tắt trong bảng Sound (Âm thanh) của phần System Preferences (Tuỳ chọn hệ thống).

Thông tin khái quát

Trình huỷ tiếng vọng sẽ cố gắng loại bỏ mọi âm thanh phát ra trên loa khỏi tín hiệu âm thanh mà micrô tiếp nhận. Nếu không có đường liên kết này, nội dung bạn đang nói với tư cách một bên trong cuộc gọi sẽ được micrô của các bên khác thu thập và sau đó được gửi lại cho bạn. Bạn sẽ nghe thấy âm thanh của chính mình!

Để loại bỏ tiếng vọng thành công, trình huỷ tiếng vọng của WebRTC (được sử dụng trong Chrome) cần thu được tín hiệu âm thanh rõ ràng nhất có thể từ micrô. Quy trình xử lý được áp dụng trước khi âm thanh đến trình huỷ tiếng vọng, chẳng hạn như tính năng khử tiếng ồn phần cứng, thường sẽ cản trở hiệu suất của âm thanh. Hơn nữa, tính năng khử tiếng ồn của phần mềm đã được áp dụng, nhưng chỉ sau khi trình huỷ tiếng vọng đã xử lý xong.

Thông tin chi tiết về hành vi mới

Nhà phát triển web có thể kích hoạt hành vi mới trên trang web của họ bằng cách chọn sử dụng Bản dùng thử theo nguyên gốc. Người dùng cuối có thể bật trên toàn cầu bằng cách chuyển một cờ dòng lệnh khi khởi động Chrome. Để biết thêm thông tin, hãy xem bên dưới.

Khi bạn bật tính năng này và một trang web gọi getUserMedia để lấy âm thanh từ thiết bị đầu vào, thì trường hợp sau sẽ xảy ra:

  • Nếu bạn bật quy tắc ràng buộc echoCancellation, thì tính năng khử tiếng ồn phần cứng sẽ bị tắt trong thời gian của luồng âm thanh mới tạo.

  • Vì chế độ cài đặt này áp dụng trên toàn hệ thống, nên chế độ cài đặt này sẽ áp dụng cho tất cả các luồng đầu vào âm thanh từ cùng một thiết bị (tức là cùng một micrô).

  • Sau khi luồng gần đây nhất muốn tắt tính năng khử tiếng ồn phần cứng đóng, tính năng khử tiếng ồn phần cứng sẽ được bật lại.

  • Nếu tính năng khử tiếng ồn phần cứng đã được tắt trước đó, thì Chrome sẽ không thay đổi trạng thái.

  • Nếu bạn gọi getUserMedia mà không bật echoCancellation, thì Chrome sẽ không chạm vào tính năng khử tiếng ồn phần cứng.

Vì chế độ cài đặt này cũng có thể do người dùng kiểm soát, nên có một số tương tác cụ thể với người dùng:

  • Nếu Chrome đã tắt tính năng khử tiếng ồn phần cứng và người dùng bật lại tính năng này, thì Chrome sẽ không tìm cách tắt lại tính năng này cho luồng đó.

  • Nếu Chrome đã tắt tính năng khử tiếng ồn phần cứng và người dùng bật lại tính năng này, sau đó tắt lại, thì Chrome vẫn sẽ bật lại tính năng này sau khi sự kiện phát trực tiếp kết thúc.

Hành vi này sẽ có hiệu lực khi bạn chỉ cần bật thử nghiệm. Không cần thay đổi API.

Cách bật thử nghiệm

Để áp dụng hành vi mới này trên trang web của mình, bạn cần đăng ký Bản dùng thử theo nguyên gốc "Tắt tính năng khử tiếng ồn cho phần cứng". Nếu chỉ muốn dùng thử cục bộ, bạn cũng có thể bật tính năng này trên dòng lệnh:

chrome --enable-blink-features=DisableHardwareNoiseSuppression

Việc chuyển cờ này vào dòng lệnh sẽ bật tính năng này trên toàn cục cho phiên hiện tại.

Có một vài khía cạnh mà chúng tôi muốn đánh giá trong thử nghiệm này:

  • Sự khác biệt về định tính trong thực tế giữa việc bật và tắt tính năng chống nhiễu phần cứng.

  • Việc thay đổi chế độ cài đặt này trong Chrome ảnh hưởng như thế nào đến người dùng cuối và phần mềm khác mà họ có thể đang chạy?

Chúng tôi quan tâm đến ý kiến phản hồi về cả hai khía cạnh này. Khi bật tính năng này, các cuộc gọi sẽ hiệu quả hơn hay không tốt hơn? Có vấn đề nào trong quá trình triển khai gây ra các hành vi không mong muốn không? Trong mọi trường hợp, nếu bạn đang thử cách này, vui lòng gửi ý kiến phản hồi về lỗi này. Nếu có thể, hãy cung cấp thông tin về loại micrô / tai nghe / v.v. mà bạn sử dụng và liệu công cụ đó có hỗ trợ tính năng giảm tiếng ồn xung quanh hay không. Nếu bạn thực hiện nhiều thử nghiệm quy mô lớn hơn, các đường liên kết đến số liệu thống kê so sánh về chất lượng cuộc gọi thoại sẽ được đánh giá cao.