Wyłączam wyciszanie szumów sprzętowych

W Chrome 64 testujemy nowe działanie strumieni audio getUserMedia, które mają włączone ograniczenie echoCancellation. Nowością jest to, że takie strumienie tymczasowo wyłączają sprzętowe tłumienie szumów na czas trwania strumienia. Spodziewamy się, że dzięki temu funkcja redukcji pogłosu będzie działać lepiej. Ta funkcja jest eksperymentalna, dlatego musisz ją włączyć poniżej.

Obecnie to zachowanie jest obsługiwane tylko w przypadku niektórych urządzeń wejściowych i tylko w systemie macOS. Obsługa jest ograniczona do urządzeń, które mają przełącznik „redukcja szumów otoczenia” w panelu DźwiękUstawieniach systemowych.

Tło

Reduktor echa usuwa z sygnału audio odbieranego przez mikrofon dźwięki odtwarzane przez głośniki. Bez tego to, co mówisz jako jedna ze stron rozmowy, będzie przechwytywane przez mikrofony innych stron, a następnie wysyłane do Ciebie. Usłyszysz swoje echo.

Aby skutecznie usuwać echo, reduktor echa WebRTC (który jest używany w Chrome) musi otrzymać z mikrofonu możliwie czysty sygnał audio. Przetwarzanie, które jest stosowane przed tym, jak dźwięk dotrze do eliminatora echa, takie jak sprzętowe tłumienie szumów, zwykle utrudnia jego działanie. Poza tym zastosowano już programowe wyciszanie szumów, ale tylko po przetworzeniu dźwięku przez funkcję wyciszania echa.

Szczegóły nowego zachowania

Programiści stron internetowych mogą włączyć nowe zachowanie w swoich witrynach, decydując się na udział w treningu Origin. Użytkownicy mogą włączyć tę funkcję globalnie, podając flagę wiersza poleceń podczas uruchamiania Chrome. Więcej informacji znajdziesz poniżej.

Gdy ta opcja jest włączona, a strona internetowa wywołuje getUserMedia, aby uzyskać dźwięk z urządzenia wejściowego, dzieje się to:

  • Jeśli ograniczenie echoCancellation jest włączone, sprzętowe wyciszanie szumów będzie wyłączone przez czas trwania nowo utworzonego strumienia audio.

  • To ustawienie jest uogólnione na cały system, więc będzie obowiązywać w przypadku wszystkich strumieni danych wejściowych audio z tego samego urządzenia (czyli z tego samego mikrofonu).

  • Gdy ostatni strumień, który wymaga wyłączenia wyciszenia szumów sprzętowych, zostanie zamknięty, wyciszenie szumów sprzętowych zostanie ponownie włączone.

  • Jeśli wyciszenie szumów na poziomie sprzętowym było już wcześniej wyłączone, Chrome nie zmieni tego stanu.

  • Jeśli wywołanie getUserMedia nie jest połączone z użyciem interfejsu echoCancellation, Chrome nie będzie wpływać na redukowanie szumów sprzętowych.

To ustawienie może być też kontrolowane przez użytkownika, więc występują pewne interakcje z użytkownikiem:

  • Jeśli Chrome wyłączy tłumienie szumów na poziomie sprzętu, a użytkownik ponownie je włączy, Chrome nie spróbuje ponownie go wyłączyć w przypadku tego strumienia.

  • Jeśli Chrome wyłączy tłumienie szumów na poziomie sprzętowym, a użytkownik ponownie je włączy, a następnie wyłączy, Chrome ponownie włączy tę funkcję po zakończeniu transmisji.

Aby wprowadzić tę zmianę, wystarczy włączyć eksperyment. Nie musisz wprowadzać żadnych zmian w interfejsie API.

Jak włączyć eksperyment

Aby włączyć to nowe działanie w swojej witrynie, musisz zasubskrybować Origin Trial, aby wyłączyć wyciszanie szumów na poziomie sprzętu. Jeśli chcesz wypróbować tę funkcję lokalnie, możesz ją włączyć w wierszu poleceń:

chrome --enable-blink-features=DisableHardwareNoiseSuppression

Podanie tego parametru w wierszu poleceń powoduje globalne włączenie tej funkcji w bieżącej sesji.

W ramach tego eksperymentu chcemy ocenić kilka aspektów:

  • Różnice jakościowe w praktyce między włączeniem a wyłączeniem sprzętowego tłumienia szumów.

  • Jak zmiana tego ustawienia w Chrome wpływa na użytkownika i inne działające programy?

Interesują nas opinie na temat obu tych aspektów. Czy rozmowy są lepsze czy gorsze po włączeniu tej funkcji? Czy występują problemy z wdrożeniem, które powodują nieoczekiwane działanie? W każdym razie, jeśli chcesz wypróbować tę funkcję, prześlij opinię na temat tego błędu. Jeśli to możliwe, dołącz informacje o tym, jakiego mikrofonu, zestawu słuchawkowego itp. użyto i czy obsługuje on redukcję szumów otoczenia. Jeśli przeprowadzasz eksperymenty na dużą skalę, prześlij linki do statystyk porównawczych dotyczących jakości połączeń audio.