Continuiamo dall'esperimento precedente e in Chrome
M68, abbiamo aggiunto un vincolo sperimentale MediaStreamTrack
per controllare
di cancellazione dell'eco in uso, è stato aggiunto il supporto di un dispositivo di cancellazione dell'eco nativo
Windows e la funzionalità di cancellazione dell'eco nativa è stata migliorata
macOS. Come in precedenza, tutto questo è dietro una prova dell'origine, quindi dovrai registrarti o
avviare Chrome con un flag della riga di comando, se vuoi provarlo. Per ulteriori informazioni
informazioni, vedi sotto.
Novità
Innanzitutto, ora è possibile controllare quale dispositivo di cancellazione dell'eco viene
Utilizzato includendo un nuovo vincolo nelle chiamate getUserMedia
, ad esempio:
echoCancellationType: type
dove type
può essere uno dei seguenti:
browser
per usare l'implementazione software fornita dal browser; osystem
per utilizzare l'implementazione fornita dall'entità di un sistema operativo completo. Attualmente, questa è una delle implementazioni su macOS e Windows.
Se non mantieni il vincolo, Chrome selezionerà la cancellazione dell'eco in modo simile ha sempre: se è presente la cancellazione dell'eco hardware, verrà usata, altrimenti Lo farà il software di cancellazione dell'eco di Chrome. Senza specificare il vincolo, Chrome non sceglierà mai uno dei due cancelli sperimentali dell'eco che fanno parte di questa prova.
Poiché echoCancellationType
funziona come qualsiasi altro vincolo, è possibile
specificare system
come valore ideale e chiedere a Chrome di utilizzarlo, se disponibile oppure
torna a browser
. Il valore echoAnnullationType di browser
è
sempre disponibili in Chrome. Per capire quale cancellatore eco è stato scelto,
puoi chiamare getSettings()
sulla traccia audio getUserMedia e controllare il valore di
il campo echoCancellationType
.
Infine, puoi controllare quali dispositivi di cancellazione dell'eco sono disponibili per un
MediaStreamTrack
chiamando il numero getCapabilities()
. Tuttavia,
echoCancellationType
non è ancora implementato per InputDeviceInfo
.
Supporto della cancellazione eco in Windows
Abbiamo esteso il supporto nativo della cancellazione dell'eco per includere Windows utilizzando DSP Voice Capture di strumento di authoring. Come per macOS Echo Canceller, vogliamo valutarne le prestazioni e capire se in alcuni casi funziona meglio rispetto alle nostre soluzione software, se solo per il posizionamento più vicino all'hardware audio. Al contrario di macOS, i nostri test iniziali su Windows non sono stati molto promettente. Continueremo a modificare l'implementazione per vedere se è possibile per migliorare le prestazioni. Per ora, probabilmente è meglio evitare di sperimentare con Cancellatore echo Windows su scala più ampia. Fai una prova nelle impostazioni controllate, ad esempio sulla tua macchina locale, ma non aspettarti che funzioni in modo impeccabile.
Supporto migliorato per la cancellazione dell'eco in macOS
Durante l’esperimento precedente, l’implementazione di macOS non era in grado di tenere traccia in modo corretto del dispositivo di output utilizzato. Ciò significava che sarebbe stato impossibile annullare l'eco da un dispositivo non predefinito del computer dispositivo. In molti casi, questo potrebbe non essere un problema, dato che macOS può il passaggio automatico tra dispositivi predefiniti quando sono collegate cuffie e altri dispositivi non è collegato alla corrente. Tuttavia, non funzionerebbe correttamente in tutti i casi.
Questa funzionalità è stata aggiunta a Chrome M68 ed è implementata per entrambe le versioni Annullatore echo per macOS e Windows. Il software di cancellazione dell'eco del software di Chrome non è stato interessati da questa mancanza di funzionalità, in quanto utilizza un loopback interno per l'audio del playout per annullare.
Come attivare l'esperimento
Per applicare questo nuovo comportamento sul tuo sito, devi registrarti al programma di assistenza sperimentale per AEC nativa" Prova dell'origine. Se vuoi solo provarlo localmente, l'esperimento può essere abilitato dalla riga di comando:
chrome --enable-blink-features=ExperimentalHardwareEchoCancellation
Il passaggio di questo flag alla riga di comando rende il nuovo echoCancellationType
vincolo disponibile a livello globale in Chrome per la sessione corrente. Utilizzo di questo
di eco, puoi quindi testare i sistemi di cancellazione dell'eco nativi nella tua app,
descritti sopra. Si tratta dello stesso flag della riga di comando della prova precedente; attivo
In Chrome M68 verranno attivate le nuove funzionalità. Abilitazione della nuova prova dell'origine
attiverà solo la nuova funzionalità, non attiverà la precedente
nelle versioni precedenti di Chrome.
Invio di feedback in corso...
Come per l'esperimento precedente, ci interessa il rendimento qualitativo
degli canceller echo di macOS e Windows; principalmente il primo. Vorremmo anche
come feedback sull'efficacia del nuovo vincolo echoCancellationType
in
pratica, la facilità di utilizzo e così via. È compresa l'inclusione
getSettings
e getCapabilities
.
Ci interessa anche il modo in cui Chrome interagisce con altre applicazioni quando utilizza a cancellazione dell'eco nativi, nonché eventuali problemi di stabilità con l'implementazione.
Se stai provando questo approccio, invia il tuo feedback in questo bug. Se possibile, includi l'hardware utilizzato (versione del sistema operativo, modello hardware, microfono / cuffie / ecc.). Se esegui più esperimenti su larga scala, il link le statistiche comparative sulla qualità delle chiamate audio sono apprezzate; se l'obiettivo o soggettivi.