Więcej natywnego usuwania echa

Koncentrujemy się dalej z poprzedniego eksperymentu i w Chrome M68 dodaliśmy eksperymentalne ograniczenie MediaStreamTrack, które umożliwia kontrolowanie używanego reduktora echa, dodaliśmy obsługę natywnego takiego reduku w systemie Windows oraz ulepszyliśmy działanie natywnego reduktora echa w macOS. Tak jak wcześniej, wszystkie te funkcje są dostępne w wersji próbnej origin, więc aby ją wypróbować, musisz się zarejestrować lub uruchomić Chrome z flagą wiersza poleceń. Więcej informacji znajdziesz poniżej.

Nowości

Przede wszystkim można teraz kontrolować, który reduktor echa ma być używany, uwzględniając nowe ograniczenie w wywołaniach getUserMedia, np.:

echoCancellationType: type

gdzie type może być jedną z tych wartości:

  • browser, aby korzystał z implementacji oprogramowania dostarczonej przez przeglądarkę,
  • system, aby użyć implementacji udostępnionej przez system. Obecnie jest to jedna z implementacji w systemach macOS i Windows.

Jeśli pominiesz ograniczenie, Chrome wybierze reduktor echa w taki sam sposób jak zawsze: w przypadku sprzętowego usuwania echa będzie on używany. W przeciwnym razie zostanie użyty programowy reduktor echa Chrome. Bez określania tego ograniczenia Chrome nigdy nie wybierze jednego z dwóch eksperymentalnych redakcji echa, które są częścią tej wersji próbnej.

Parametr echoCancellationType działa tak jak każde inne ograniczenie, dlatego możesz określić wartość system jako idealną wartość i używać jej w Chrome, jeśli jest dostępna. W przeciwnym razie możesz użyć wartości browser. Parametr browser echoCancelType jest zawsze dostępny w Chrome. Aby dowiedzieć się, który reduktor echa został wybrany, możesz wywołać getSettings() w ścieżce audio getUserMedia i sprawdzić wartość w polu echoCancellationType.

Możesz też sprawdzić, jakie reduktory echa są dostępne w przypadku urządzenia MediaStreamTrack, wywołując na nim polecenie getCapabilities(). Jednak interfejs echoCancellationType nie został jeszcze wdrożony w przypadku adresu InputDeviceInfo.

Obsługa usuwania echa w systemie Windows

Rozszerzyliśmy obsługę natywnego redukcji echa, tak aby obejmowała system Windows za pomocą komponentu DSP DSP. Podobnie jak w przypadku reduktora echa w systemie macOS, chcemy ocenić jego wydajność i sprawdzić, czy są przypadki, w których działa on lepiej niż nasze oprogramowanie, jeśli tylko zostanie umieszczony bliżej sprzętu audio. W przeciwieństwie do systemu macOS nasze wstępne testy na Windowsie nie są zbyt obiecujące. Będziemy dalej ulepszać tę implementację, aby poprawić jej skuteczność. Na razie najlepiej unikać eksperymentowania z reduktorem echa Windows na dużą skalę. Wypróbuj tę funkcję w kontrolowanych ustawieniach, np. na komputerze lokalnym, ale nie oczekuj, że będzie działać bezproblemowo.

Ulepszona obsługa usuwania echa w systemie macOS

W poprzednim eksperymencie implementacja macOS nie umożliwiała prawidłowego śledzenia używanego urządzenia wyjściowego. Oznacza to, że anulowanie echa z żadnego urządzenia, które nie było domyślnym urządzeniem komputera, nie będzie możliwe. W większości przypadków może to nie być problemem, ponieważ macOS może automatycznie przełączać urządzenia domyślne, gdy są podłączone lub odłączone zestawy słuchawkowe. Nie będzie jednak działać prawidłowo w niektórych przypadkach.

Ta funkcja została dodana do Chrome M68 i wdrożona zarówno w systemie macOS, jak i Windows. Ten brak funkcji nie ma wpływu na programowy reduktor echa Chrome, ponieważ anuluje on odtwarzany dźwięk za pomocą wewnętrznej pętli zwrotnej.

Jak włączyć eksperyment

Aby zastosować ten nowy sposób działania w witrynie, musisz zarejestrować się w wersji próbnej „Eksperymentalna obsługa natywnego interfejsu AEC”. Jeśli chcesz tylko wypróbować eksperyment lokalnie, możesz go włączyć w wierszu poleceń:

chrome --enable-blink-features=ExperimentalHardwareEchoCancellation

Przesłanie tej flagi w wierszu poleceń powoduje, że nowe ograniczenie echoCancellationType jest dostępne globalnie w Chrome w bieżącej sesji. Korzystając z tego ograniczenia, możesz przetestować natywne reduktory echa w swojej aplikacji w sposób opisany powyżej. Jest to ta sama flaga wiersza poleceń co w poprzedniej wersji próbnej. W Chrome M68 włączysz nowe funkcje. Włączenie nowego okresu próbnego w nowej wersji spowoduje włączenie tylko nowej funkcji – nie spowoduje uruchomienia poprzedniego okresu próbnego w starszych wersjach Chrome.

Zgłaszanie opinii

Tak jak w przypadku poprzedniego eksperymentu, interesuje nas jakość jakościowych reduktorów echa w systemach macOS i Windows – przede wszystkim w pierwszym. Chcielibyśmy też przekazać nam opinie na temat tego, jak nowe ograniczenie echoCancellationType działa w praktyce, jak łatwo jest go używać itp. Dotyczy to także jego uwzględnienia w usługach getSettings i getCapabilities.

Interesuje nas również, jak Chrome współpracuje z innymi aplikacjami podczas korzystania z tych natywnych reduktory echa, a także wszelkie problemy ze stabilnością i inne problemy z implementacją.

Jeśli chcesz wypróbować tę funkcję, prześlij opinię za pomocą tego błędu. Jeśli to możliwe, uwzględnij używany sprzęt (wersja systemu operacyjnego, model sprzętu, mikrofon, zestaw słuchawkowy itp.). W przypadku eksperymentów na dużą skalę mile widziane są linki do statystyk porównawczych dotyczących jakości rozmowy głosowej – niezależnie od tego, czy są one obiektywne czy subiektywne.