Wyłączam wyciszanie szumów sprzętowych

W Chrome 64 testujemy nowy sposób działania strumieni audio getUserMedia z włączonym ograniczeniem echoCancellation. Nowość polega na tym, że na czas trwania strumienia takie strumienie będą tymczasowo wyłączały wyciszanie szumów sprzętowych. Przewidujemy, że to poprawi skuteczność redukcji echa. Ta funkcja jest eksperymentalna, więc trzeba 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ą włączany „redukcję szumów otoczenia” w panelu Dźwięk w Preferencjach systemowych.

Wprowadzenie

Reduktor echa próbuje usunąć wszelkie dźwięki odtwarzane przez głośniki z sygnału audio odbieranego przez mikrofon. Bez tego to, co mówisz jako jedna ze stron rozmowy, zostanie przechwycone przez mikrofon pozostałych uczestników, a następnie przesłane do Ciebie. Usłyszysz echo swojego głosu!

Aby skutecznie usuwać echo, reduktor echa WebRTC (używany w Chrome) musi uzyskać jak najczystszy sygnał audio z mikrofonu. Przetwarzanie, które jest wykonywane przed dotarciem dźwięku do reduktora echa, na przykład przez sprzętowe wyciszanie szumów, zwykle spowalnia jego działanie. Stosujemy już wyciszanie szumów programowych, ale dopiero po zakończeniu przetwarzania przez reduktor echa.

Szczegóły nowego zachowania

Deweloperzy witryn mogą wprowadzić nowy sposób działania w swoich witrynach, włączając test Origin. Użytkownicy mogą włączyć ją globalnie, przekazując flagę wiersza poleceń podczas uruchamiania Chrome. Więcej informacji znajdziesz poniżej.

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

  • Jeśli ograniczenie echoCancellation jest włączone, eliminowanie szumu sprzętowego będzie wyłączone na czas trwania nowo utworzonego strumienia audio.

  • To ustawienie obowiązuje w odniesieniu do całego systemu, dotyczy więc wszystkich strumieni wejściowych audio z tego samego urządzenia (tj. tego samego mikrofonu).

  • Gdy ostatni strumień, w którym trzeba wyłączyć redukcję szumów sprzętowych, zostanie zamknięty, a wyciszanie szumów sprzętowych zostanie włączone z powrotem.

  • Jeśli eliminowanie szumów sprzętowych było już wcześniej wyłączone, Chrome nie zmieni swojego stanu.

  • Jeśli funkcja getUserMedia zostanie wywołana bez włączonego ustawienia echoCancellation, Chrome nie będzie dotknąć funkcji ograniczania szumów sprzętowych.

To ustawienie jest kontrolowane przez użytkownika, dlatego możliwe jest wykonywanie określonych interakcji z użytkownikiem:

  • Jeśli Chrome wyłączy redukcję szumów sprzętowych, a użytkownik włączy ją z powrotem, Chrome nie spróbuje ponownie jej wyłączyć w przypadku tego strumienia.

  • Jeśli Chrome wyłączy redukcję szumów sprzętowych, a użytkownik włączy ją z powrotem i wyłączy, Chrome włączy ją ponownie po zakończeniu strumieniowego przesyłania danych.

Aby to zmienić, wystarczy włączyć eksperyment. Nie trzeba wprowadzać żadnych zmian w interfejsach API.

Jak włączyć eksperyment

Aby wprowadzić to nowe działanie w swojej witrynie, musisz zarejestrować się w testowej wersji origin „Wyłącz wyciszanie szumów sprzętowych”. Jeśli chcesz tylko przetestować tę funkcję lokalnie, możesz ją również włączyć w wierszu poleceń:

chrome --enable-blink-features=DisableHardwareNoiseSuppression

Przekazywanie tej flagi w wierszu poleceń włącza tę funkcję globalnie w bieżącej sesji.

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

  • Różnice jakościowe między włączeniem i wyłączeniem redukcji szumów sprzętowych.

  • Jak zmiana tego ustawienia z poziomu Chrome wpływa na użytkownika i inne używane przez niego oprogramowanie?

Interesuje nas opinia na temat obu tych aspektów. Czy po włączeniu tej funkcji połączenia mogą być lepsze czy gorsze? Czy są jakieś problemy z implementacją, które powodują nieoczekiwane zachowania? W każdym razie, jeśli chcesz spróbować, prześlij opinię o tym błędzie. Jeśli to możliwe, podaj informacje o użyciu mikrofonu, zestawu słuchawkowego itp. oraz o tym, czy obsługuje ona redukcję szumów otoczenia. W przypadku eksperymentów na większą skalę przydatne są linki do statystyk porównawczych dotyczących jakości rozmowy głosowej.