2P by neo 2달전 | favorite | 댓글 1개
  • Chrome와 Chromium에서 흥미로운 기능을 발견함

    • 내부 오디오를 마이크 입력에서 분리하는 기능이 있음
    • 예를 들어, 한 탭에서 Google Meet 통화를 하고 다른 탭에서 YouTube 비디오를 최대 볼륨으로 재생할 때, 비디오의 오디오가 Google Meet에 전달되지 않음
    • 다른 브라우저를 사용할 경우(예: Google Meet은 Chrome에서, YouTube는 Chromium에서) 이 분리가 일어나지 않음
  • Chrome과 Chromium이 어떻게 이 오디오 분리를 구현하는지 궁금함

    • Chromium이 오픈 소스이므로, 이 기능을 처리하는 코드베이스의 특정 부분을 알고 싶음
    • 기술적 세부 사항이나 통찰을 제공해주면 감사하겠음

GN⁺의 정리

  • 이 기사는 Chrome과 Chromium의 오디오 분리 기능에 대한 흥미로운 발견을 다루고 있음
  • 이 기능은 사용자 경험을 향상시키는 중요한 요소로, 특히 여러 작업을 동시에 수행할 때 유용함
  • 오픈 소스인 Chromium의 코드베이스를 통해 기술적 구현을 이해할 수 있는 기회를 제공함
  • 비슷한 기능을 제공하는 다른 브라우저나 소프트웨어가 있는지 탐구해볼 가치가 있음
Hacker News 의견
  • 음성 캡처와 재생 간의 지연을 비교하여 음악을 음성에서 제거하는 방법

    • 마이크와 스피커 간의 지연을 찾아 비교하여 음악을 제거하는 것임
    • 단일 프로세스 내에서는 몇 백 밀리초 동안 재생된 내용을 유지하고 마이크 입력과 비교하여 상관관계를 찾아 제거함
    • 관련 없는 프로세스 간에는 OS가 캡처 API를 제공하거나 루프백 스트림을 사용하여 제거할 수 있음
    • 이러한 방법이 없을 경우, 직접 오디오 출력을 혼합하여 제거함
  • Acoustic Echo Cancellation (AEC)

    • WebRTC에 포함된 Chrome에서 구현됨
    • FIR 필터를 사용하여 스피커에서 나오는 소리를 마이크 입력에서 최대한 제거함
    • Chromium 소스에서 "CHROME_WIDE_ECHO_CANCELLATION" 컴파일 플래그를 검색하면 관련 정보를 찾을 수 있음
  • Chrome의 동시 녹음 및 재생 문제

  • Acoustic Echo Cancellation의 일반적인 문제

    • 신호 처리에서 흔히 발생하는 문제임
    • 전화기와 같은 간단한 장치에서도 발생함
  • Google Meet의 소스 분리 기술

    • 신경망을 사용하여 음성을 비음성에서 분리하고 다른 화자도 분리함
    • 2021년부터 반지도 학습 방법이 개발되면서 기술이 크게 향상됨
  • 에코 제거의 부작용

    • 브라우저가 재생 중인 오디오를 알고 마이크 입력과 상관관계를 찾아 제거함
    • 헤드폰을 사용하지 않는 경우 피드백을 억제하기 위해 필요함
  • Chrome과 Chromium의 내부 오디오 차단 기능

    • Google Meet 통화 중 다른 탭에서 YouTube 비디오를 재생해도 Meet에서 인식하지 않음
    • Chromium이 오픈 소스이므로 코드에서 기술적 세부 사항을 확인할 수 있음
  • 에코 제거 알고리즘의 흥미로운 점

    • 외부 스피커를 컴퓨터 마이크에서 약간 떨어진 곳에 두면 알고리즘이 오작동할 수 있음
  • 회의 중 에코 제거의 필요성

    • 회의 데이터가 다시 피드백되지 않도록 하기 위해 필요함
    • PulseAudio와 Pipewire에는 에코 제거 모듈이 있음