Loại bỏ tiếng vọng gốc nhiều hơn

Chúng tôi đang tiếp tục từ thử nghiệm trước đó và trong Chrome M68, chúng tôi đã thêm một quy tắc ràng buộc MediaStreamTrack thử nghiệm để kiểm soát trình huỷ tiếng vọng đang được sử dụng, thêm tính năng hỗ trợ cho trình huỷ tiếng vọng gốc trên Windows cũng như cải thiện chức năng của trình huỷ tiếng vọng gốc trên macOS. Giống như trước đây, tất cả những tính năng này đều nằm trong Bản dùng thử theo nguyên gốc. Vì vậy, bạn sẽ phải đăng ký hoặc khởi động Chrome bằng cờ dòng lệnh nếu muốn dùng thử. Để biết thêm thông tin, hãy xem bên dưới.

Có gì mới?

Trước tiên, giờ đây, bạn có thể kiểm soát trình huỷ tiếng vọng nào đang được sử dụng bằng cách đưa một quy tắc ràng buộc mới vào các lệnh gọi getUserMedia, ví dụ:

echoCancellationType: type

trong đó type có thể là một trong những giá trị sau:

  • browser để sử dụng phương thức triển khai phần mềm do trình duyệt cung cấp; hoặc
  • system để sử dụng phương thức triển khai do hệ thống cơ bản cung cấp. Hiện tại, đây là một trong những cách triển khai trên macOS và Windows.

Nếu bạn bỏ qua quy tắc ràng buộc này, Chrome sẽ chọn trình loại bỏ âm thanh phản hồi như mọi khi: nếu có tính năng loại bỏ âm thanh phản hồi bằng phần cứng, thì tính năng này sẽ được sử dụng, nếu không thì trình loại bỏ âm thanh phản hồi bằng phần mềm của Chrome sẽ được sử dụng. Nếu không chỉ định quy tắc ràng buộc, Chrome sẽ không bao giờ chọn một trong hai trình huỷ tiếng vọng thử nghiệm trong thử nghiệm này.

echoCancellationType hoạt động giống như mọi quy tắc ràng buộc khác, nên bạn có thể chỉ định system làm giá trị lý tưởng và yêu cầu Chrome sử dụng giá trị này nếu có hoặc quay lại giá trị browser nếu không. echoCancellationType browser luôn có sẵn trong Chrome. Để tìm hiểu xem trình loại bỏ âm vang nào đã được chọn, bạn có thể gọi getSettings() trên kênh âm thanh getUserMedia và kiểm tra giá trị của trường echoCancellationType.

Cuối cùng, bạn có thể kiểm tra xem có bộ khử tiếng vọng nào cho MediaStreamTrack bằng cách gọi getCapabilities() trên đó. Tuy nhiên, echoCancellationType chưa được triển khai cho InputDeviceInfo.

Hỗ trợ tính năng loại bỏ tiếng vọng trên Windows

Chúng tôi đã mở rộng tính năng hỗ trợ bộ khử tiếng vọng gốc để bao gồm cả Windows bằng cách sử dụng thành phần Voice Capture DSP. Cũng như trình loại bỏ tiếng vọng trên macOS, chúng tôi muốn đánh giá hiệu suất của trình loại bỏ tiếng vọng này và xem liệu có trường hợp nào trình loại bỏ tiếng vọng này hoạt động hiệu quả hơn giải pháp phần mềm của chúng tôi hay không, chỉ cần đặt gần phần cứng âm thanh hơn. Trái ngược với trường hợp trên macOS, thử nghiệm ban đầu của chúng tôi trên Windows không mang lại kết quả khả quan. Chúng tôi sẽ tiếp tục điều chỉnh cách triển khai để xem liệu có thể cải thiện hiệu suất của ứng dụng hay không. Hiện tại, tốt nhất bạn nên tránh thử nghiệm với trình huỷ tiếng vọng của Windows trên quy mô lớn hơn. Hãy thử trong các chế độ cài đặt được kiểm soát, chẳng hạn như trên máy cục bộ, nhưng đừng mong đợi nó hoạt động hoàn hảo!

Cải thiện tính năng hỗ trợ loại bỏ tiếng vọng trên macOS

Trong thử nghiệm trước, quá trình triển khai macOS không có khả năng theo dõi chính xác thiết bị đầu ra đang được sử dụng. Điều này có nghĩa là không thể huỷ tiếng vọng từ bất kỳ thiết bị nào không phải là thiết bị mặc định của máy tính. Trong nhiều trường hợp, đây có thể không phải là vấn đề vì macOS có thể tự động chuyển đổi các thiết bị mặc định khi tai nghe, v.v. được cắm hoặc rút ra. Tuy nhiên, phương thức này sẽ không hoạt động chính xác trong mọi trường hợp.

Chức năng này đã được thêm vào Chrome M68 và được triển khai cho cả trình huỷ tiếng vọng trên macOS và Windows. Tính năng loại bỏ tiếng vọng bằng phần mềm của Chrome không bị ảnh hưởng bởi việc thiếu chức năng này, vì tính năng này sử dụng một vòng lặp nội bộ để loại bỏ âm thanh phát.

Cách bật thử nghiệm

Để có được hành vi mới này trên trang web, bạn cần đăng ký chương trình Thử nghiệm gốc "Hỗ trợ thử nghiệm cho AEC gốc". Nếu bạn chỉ muốn dùng thử cục bộ, bạn có thể bật thử nghiệm trên dòng lệnh:

chrome --enable-blink-features=ExperimentalHardwareEchoCancellation

Việc truyền cờ này trên dòng lệnh sẽ giúp quy tắc ràng buộc echoCancellationType mới có sẵn trên toàn cầu trong Chrome cho phiên hiện tại. Khi sử dụng quy tắc ràng buộc này, bạn có thể kiểm thử trình huỷ tiếng vọng gốc trong ứng dụng của mình, như mô tả ở trên. Đây là cờ dòng lệnh giống như trong thử nghiệm trước; trên Chrome M68, cờ này sẽ bật chức năng mới. Việc bật thử nghiệm mới về nguồn gốc chỉ kích hoạt chức năng mới – không kích hoạt thử nghiệm trước đó trong các phiên bản Chrome cũ.

Gửi ý kiến phản hồi

Cũng như thử nghiệm trước, chúng tôi quan tâm đến hiệu suất chất lượng của trình loại bỏ tiếng vọng trên macOS và Windows; chủ yếu là trên macOS. Chúng tôi cũng muốn nhận ý kiến phản hồi về mức độ hiệu quả của quy tắc ràng buộc echoCancellationType mới trong thực tế, mức độ dễ sử dụng, v.v. Điều này bao gồm cả việc đưa quy tắc ràng buộc này vào getSettingsgetCapabilities.

Chúng tôi cũng quan tâm đến cách Chrome tương tác với các ứng dụng khác khi sử dụng các trình huỷ tiếng vọng gốc này, cũng như mọi vấn đề về độ ổn định hoặc các vấn đề khác liên quan đến việc triển khai.

Nếu bạn đang dùng thử tính năng này, vui lòng gửi ý kiến phản hồi trong lỗi này. Nếu có thể, hãy thêm phần cứng đã sử dụng (phiên bản hệ điều hành, kiểu phần cứng, micrô / tai nghe / v.v.). Nếu bạn thực hiện nhiều thử nghiệm trên quy mô lớn hơn, hãy cung cấp đường liên kết đến số liệu thống kê so sánh về chất lượng cuộc gọi âm thanh; cho dù là khách quan hay chủ quan.