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

Chúng tôi 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 nào đ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. Như trước đây, tất cả những hoạt động này đều diễn ra sau 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.

Tính năng mới

Trước tiên, bạn hiện có thể kiểm soát xem 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:

  • browser để sử dụng hoạt động 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 loại bỏ quy tắc ràng buộc này, Chrome sẽ chọn trình huỷ tiếng vọng như thường lệ: nếu có tính năng loại bỏ tiếng vọng phần cứng, tính năng này sẽ được sử dụng, nếu không, trình huỷ tiếng vọng phần mềm của Chrome sẽ 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 thuộc bản dùng thử 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à để Chrome sử dụng giá trị này nếu có sẵn. Nếu không, hãy quay lại dùng giá trị browser. browser EchoCancellationType luôn có sẵn trong Chrome. Để tìm hiểu trình huỷ tiếng vọng nào được chọn, bạn có thể gọi getSettings() trên bản â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ó những trình huỷ 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ợ loại bỏ tiếng vọng của Windows

Chúng tôi đã mở rộng tính năng hỗ trợ trình huỷ tiếng vọng gốc để đưa Windows vào sử dụng thành phần Voice Capture DSP. Tương tự như trình huỷ tiếng vang của macOS, chúng ta muốn đánh giá hiệu suất của nó và xem có trường hợp nào mà công cụ này hoạt động tốt hơn giải pháp phần mềm của chúng tôi hay không, nếu chỉ được đặt gần phần cứng âm thanh hơn. Khác với trường hợp của macOS, quá trình thử nghiệm ban đầu trên Windows không hứa hẹn nhiều. Chúng tôi sẽ tiếp tục điều chỉnh phương thức triển khai để xem liệu có thể cải thiện hiệu suất hay không. Hiện tại, có lẽ tốt nhất là bạn nên tránh thử nghiệm với trình huỷ tiếng vọng của Windows trên bất kỳ quy mô lớn hơn nào. Hãy dùng 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ộ của bạn, nhưng đừng mong đợi rằng tính năng này sẽ hoạt động hoàn hảo!

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

Trong thử nghiệm trước, việc triển khai macOS thiếu khả năng theo dõi chính xác thiết bị đầu ra nào đang được sử dụng. Điều này có nghĩa là bạn 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, việc này có thể không phải là vấn đề vì macOS có thể tự động chuyển đổi thiết bị mặc định khi cắm hoặc rút phích cắm tai nghe, v. v. Tuy nhiên, mã 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 Windows và macOS. Trình huỷ tiếng vọng phần mềm của Chrome không bị ảnh hưởng do thiếu chức năng này vì trình này sử dụng vòng lặp nội bộ để huỷ âm thanh phát.

Cách bật thử nghiệm

Để sử 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 "Hỗ trợ thử nghiệm cho AEC gốc". Nếu 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

Khi chuyển cờ này vào dòng lệnh, giới hạn echoCancellationType mới có sẵn trên toàn cầu trong Chrome cho phiên hiện tại. Bằng cách sử dụng quy tắc hạn chế này, bạn có thể kiểm thử các trình huỷ tiếng vọng gốc trong ứng dụng của mình, như mô tả ở trên. Cờ này giống với cờ dòng lệnh trong bản dùng thử trước; trên Chrome M68, cờ này sẽ bật chức năng mới. Việc bật bản dùng thử theo nguyên gốc mới sẽ chỉ kích hoạt chức năng mới – chứ không kích hoạt bản dùng thử trước trong các phiên bản Chrome cũ.

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

Giống như thử nghiệm trước, chúng tôi quan tâm đến hiệu suất định tính của các trình huỷ tiếng vọng trên macOS và Windows; chủ yếu là trình huỷ tiếng vọng của Windows. Chúng tôi cũng muốn có ý kiến phản hồi về hiệu quả hoạt động của quy tắc ràng buộc echoCancellationType mới trên thực tế, khả năng sử dụng dễ dàng, v.v. Điều này bao gồm cả việc đưa quy tắ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 khi triển khai.

Nếu bạn đang thử cách này, vui lòng gửi phản hồi trong lỗi này. Nếu có thể, hãy cung cấp thông tin về loại phần cứng bạn đã 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 các 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 âm thanh sẽ được đánh giá cao; cho dù khách quan hay chủ quan.