Kontynuujemy poprzedni eksperyment i w Chrome M68 dodaliśmy eksperymentalne ograniczenie MediaStreamTrack
, aby kontrolować, który anulator echa jest używany, dodaliśmy obsługę natywnego anulatora echa w Windows oraz ulepszoną funkcjonalność natywnego anulatora echa w macOS. Jak wcześniej, wszystkie te funkcje są dostępne w ramach wersji próbnej origin, więc jeśli chcesz je wypróbować, musisz się zarejestrować lub uruchomić Chrome z flagą wiersza poleceń. Więcej informacji znajdziesz poniżej.
Co nowego?
Przede wszystkim możesz teraz kontrolować, który anulator echa jest używany, podając nowe ograniczenie w wywołaniach getUserMedia
, np.:
echoCancellationType: type
gdzie type
może być:
browser
używać implementacji oprogramowania udostępnionej przez przeglądarkę;system
, aby użyć implementacji udostępnionej przez system bazowy. Obecnie jest to jedna z implementacji w systemach macOS i Windows.
Jeśli nie wprowadzisz ograniczeń, Chrome wybierze anulowanie echa tak, jak to miało miejsce do tej pory: jeśli dostępne jest anulowanie echa sprzętowe, zostanie ono użyte, w przeciwnym razie zostanie użyte oprogramowanie do anulowania echa w Chrome. Bez określenia ograniczenia Chrome nigdy nie wybierze jednego z 2 eksperymentalnych eliminatorów echa, które są częścią tego eksperymentu.
Ponieważ echoCancellationType
działa jak każdy inny warunek, możesz ustawić system
jako idealną wartość i użyć jej w Chrome, jeśli jest dostępna, lub użyć wartości browser
, jeśli nie. Wartość browser
echoCancellationType jest zawsze dostępna w Chrome. Aby dowiedzieć się, który eliminator echa został wybrany, możesz wywołać funkcję getSettings()
na ścieżce audio getUserMedia i sprawdzić wartość pola echoCancellationType
.
Możesz też sprawdzić, jakie anulatory echa są dostępne dla MediaStreamTrack
, wywołując je za pomocą polecenia getCapabilities()
. Funkcja echoCancellationType
nie została jeszcze zaimplementowana w przypadku InputDeviceInfo
.
Obsługa usuwania echa w systemie Windows
Rozszerzyliśmy obsługę natywnego eliminatora echa, aby obejmowała ona także system Windows za pomocą komponentu Voice Capture DSP. Podobnie jak w przypadku macOS, chcemy ocenić jego wydajność i sprawdzić, czy w jakichś przypadkach działa lepiej niż nasze rozwiązanie oparte na oprogramowaniu, choćby tylko dlatego, że jest umieszczone bliżej sprzętu audio. W przeciwieństwie do macOS wstępne testy na Windowsie nie przyniosły obiecujących wyników. Będziemy nadal dostosowywać implementację, aby sprawdzić, czy możemy poprawić jej skuteczność. Na razie lepiej nie eksperymentować z wykorzystaniem redukcji pogłosu w Windows na większą skalę. Wypróbuj je w kontrolowanych ustawieniach, takich jak na komputerze lokalnym, ale nie oczekuj, że wszystko będzie działać bez zarzutu.
Ulepszona obsługa usuwania echa w systemie macOS
Podczas poprzedniego eksperymentu implementacja w macOS nie pozwalała na prawidłowe śledzenie, którego urządzenia wyjściowego używano. Oznacza to, że nie można anulować echa z żadnego urządzenia, które nie jest urządzeniem domyślnym komputera. W wielu przypadkach nie było to problemem, ponieważ macOS może automatycznie przełączać urządzenia domyślne po podłączeniu lub odłączeniu słuchawek. Nie będzie jednak działać prawidłowo we wszystkich przypadkach.
Ta funkcja została dodana do Chrome M68 i jest implementowana zarówno w przypadku mikrofonów z wykrywaniem echa na macOS, jak i w przypadku mikrofonów z wykrywaniem echa na Windows. Brak tej funkcji nie wpłynął na działanie oprogramowania do usuwania echa w Chrome, ponieważ używa ono wewnętrznego pętli, aby uzyskać dźwięk do anulowania.
Jak włączyć eksperyment
Aby włączyć tę nową funkcję w swojej witrynie, musisz zarejestrować się w programie Origin Trial „Experimental support for native AEC”. Jeśli chcesz wypróbować tę funkcję lokalnie, możesz włączyć eksperyment w wierszu poleceń:
chrome --enable-blink-features=ExperimentalHardwareEchoCancellation
Podanie tego parametru w wierszu poleceń powoduje, że nowe ograniczenie echoCancellationType
staje się dostępne globalnie w Chrome w bieżącej sesji. Dzięki temu ograniczeniu możesz przetestować natywny system redukcji echa w aplikacji, jak opisano powyżej. To jest ten sam parametr wiersza poleceń co w poprzednim teście. W Chrome M68 włączy on nową funkcję. Włączenie wersji próbnej nowego źródła spowoduje aktywację tylko nowej funkcji – nie spowoduje to uruchomienia poprzedniej wersji próbnej w starszych wersjach Chrome.
Przesyłanie opinii
Podobnie jak w przypadku poprzedniego eksperymentu, interesuje nas jakość działania systemów redukcji echa w systemach macOS i Windows, zwłaszcza w pierwszym z nich. Chcielibyśmy też otrzymać opinie na temat tego, jak nowe ograniczenie echoCancellationType
sprawdza się w praktyce, jak łatwo się z nim pracuje itp. Chodzi też o włączenie go do getSettings
i getCapabilities
.
Interesuje nas też, jak Chrome współpracuje z innymi aplikacjami podczas korzystania z tych natywnych eliminatorów echa, a także ewentualne problemy ze stabilnością lub inne problemy z implementacją.
Jeśli chcesz to wypróbować, prześlij opinię w tym zgłoszeniu błędu. Jeśli to możliwe, podaj, jakiego sprzętu użyto (wersja systemu operacyjnego, model sprzętu, mikrofon / zestaw słuchawkowy / itp.). Jeśli przeprowadzasz eksperymenty na dużą skalę, prześlij linki do porównawczych statystyk dotyczących jakości połączeń audio (obiektywne lub subiektywne).