Cancelamento de eco nativo do macOS

Desde a versão 10.12 (Sierra), o macOS inclui um cancelamento de eco nativo. O uso dele pode ser ativado experimentalmente no Chrome M66 com a ativação de um teste de origem ou o fornecimento de uma sinalização de linha de comando ao iniciar o Chrome (confira abaixo).

Com o experimento ativado, o cancelamento de eco nativo do macOS vai ser usado para streams getUserMedia com a restrição echoCancellation ativada. Em outras plataformas e em versões anteriores do macOS, ativar o experimento realmente não fará nada. O mesmo cancelamento de eco será usado de antes (geralmente o software do WebRTC).

Por que estamos fazendo isso?

Queremos avaliar o desempenho do cancelamento de eco nativo do macOS. Por ser um componente desenvolvido pela Apple, ele tem a oportunidade de ser ajustado especificamente para o hardware. O posicionamento dela no pipeline de áudio também precisa torná-lo menos sensível a determinadas falhas de áudio que podem acontecer no Chrome.

O que é um cancelamento de eco?

O cancelamento de eco tenta remover do microfone qualquer som emitido pelos alto-falantes. Sem isso, o que você está dizendo como uma parte de uma chamada, será captado pelo microfone das outras partes e, em seguida, enviado de volta para você. Você vai ouvir um eco seu!

Como ativar o experimento

Para usar esse novo comportamento no seu site, inscreva-se no teste de origem do teste de origem "cancelamento de eco nativo do macOS". Se você quiser apenas testá-lo localmente, o experimento pode ser ativado na linha de comando:

chrome --enable-blink-features=ExperimentalHardwareEchoCancellation

Transmitir essa sinalização na linha de comando ativa o recurso globalmente no Chrome para a sessão atual.

Com este experimento, queremos avaliar as diferenças qualitativas ao usar o cancelamento de eco nativo do macOS, como:

  • Ele cancela eco?
  • O recurso lida bem com cenários de conversa dupla, ou seja, quando os dois lados estão conversando ao mesmo tempo?
  • A qualidade do áudio é afetada negativamente quando não há eco a ser cancelado?
  • Alguns dispositivos de áudio (como fones de ouvido) causam problemas?
  • etc.

Também estamos interessados em como o Chrome interage com outros apps ao usar o cancelamento de eco nativo no macOS, além de problemas de estabilidade ou outros problemas com a implementação.

Se você estiver testando esse recurso, envie seu feedback neste bug. Se possível, inclua o hardware usado (versão do macOS, modelo do hardware, microfone/fone de ouvido etc.). Se você estiver fazendo experimentos mais em grande escala, os links para estatísticas comparativas de qualidade da chamada de áudio são bem-vindos, sejam eles objetivos ou subjetivos.