2 pontos por GN⁺ 2024-07-11 | 1 comentários | Compartilhar no WhatsApp
  • Descoberta uma funcionalidade interessante no Chrome e no Chromium

    • Há um recurso que separa o áudio interno da entrada do microfone
    • Por exemplo, ao fazer uma chamada no Google Meet em uma aba e reproduzir um vídeo do YouTube em volume máximo em outra aba, o áudio do vídeo não é enviado para o Google Meet
    • Ao usar navegadores diferentes (por exemplo: Google Meet no Chrome e YouTube no Chromium), essa separação não acontece
  • Fico curioso sobre como o Chrome e o Chromium implementam esse isolamento de áudio

    • Como o Chromium é open source, gostaria de saber qual parte específica do codebase lida com esse recurso
    • Agradeceria qualquer detalhe técnico ou insight sobre isso

Resumo do GN⁺

  • Este artigo trata de uma descoberta interessante sobre o recurso de isolamento de áudio no Chrome e no Chromium
  • Esse recurso é um elemento importante para melhorar a experiência do usuário, especialmente ao executar várias tarefas ao mesmo tempo
  • Ele oferece uma oportunidade de entender a implementação técnica por meio do codebase open source do Chromium
  • Vale a pena explorar se há outros navegadores ou softwares que ofereçam funcionalidade semelhante

1 comentários

 
GN⁺ 2024-07-11
Comentário do Hacker News
  • Como remover música da voz comparando o atraso entre captura e reprodução de áudio

    • Remove a música encontrando e comparando o atraso entre o microfone e os alto-falantes
    • Dentro de um único processo, mantém o que foi reproduzido por algumas centenas de milissegundos e compara com a entrada do microfone para encontrar a correlação e remover
    • Entre processos não relacionados, isso pode ser removido se o SO fornecer uma API de captura ou usando um stream de loopback
    • Se não houver esses métodos, faz a remoção misturando diretamente a saída de áudio
  • Acoustic Echo Cancellation (AEC)

    • Implementado no Chrome, incluído no WebRTC
    • Usa um filtro FIR para remover o máximo possível do som que sai pelos alto-falantes da entrada do microfone
    • É possível encontrar informações relacionadas procurando a flag de compilação CHROME_WIDE_ECHO_CANCELLATION no código-fonte do Chromium
  • Problemas do Chrome com gravação e reprodução simultâneas

  • Problemas comuns da Acoustic Echo Cancellation

    • É um problema comum em processamento de sinais
    • Acontece até em dispositivos simples, como telefones
  • Tecnologia de separação de fontes do Google Meet

    • Usa redes neurais para separar voz de não voz e também separar diferentes falantes
    • A tecnologia melhorou bastante desde 2021, com o desenvolvimento de métodos de aprendizado semissupervisionado
  • Efeitos colaterais da remoção de eco

    • O navegador sabe qual áudio está sendo reproduzido e o remove encontrando a correlação com a entrada do microfone
    • Isso é necessário para suprimir feedback quando não se usa fones de ouvido
  • Função de bloqueio de áudio interno no Chrome e no Chromium

    • Mesmo se um vídeo do YouTube for reproduzido em outra aba durante uma chamada no Google Meet, o Meet não o reconhece
    • Como o Chromium é open source, é possível verificar os detalhes técnicos no código
  • Pontos interessantes dos algoritmos de remoção de eco

    • Se os alto-falantes externos forem colocados um pouco afastados do microfone do computador, o algoritmo pode falhar
  • Necessidade da remoção de eco durante reuniões

    • É necessária para evitar que os dados da reunião sejam realimentados
    • PulseAudio e PipeWire têm módulos de remoção de eco