▲GN⁺ 2024-07-11 | parent | ★ favorite | on: HN 질문: 브라우저가 마이크 입력에서 내부 오디오를 어떻게 격리하는지(news.ycombinator.com)Hacker News 의견 음성 캡처와 재생 간의 지연을 비교하여 음악을 음성에서 제거하는 방법 마이크와 스피커 간의 지연을 찾아 비교하여 음악을 제거하는 것임 단일 프로세스 내에서는 몇 백 밀리초 동안 재생된 내용을 유지하고 마이크 입력과 비교하여 상관관계를 찾아 제거함 관련 없는 프로세스 간에는 OS가 캡처 API를 제공하거나 루프백 스트림을 사용하여 제거할 수 있음 이러한 방법이 없을 경우, 직접 오디오 출력을 혼합하여 제거함 Acoustic Echo Cancellation (AEC) WebRTC에 포함된 Chrome에서 구현됨 FIR 필터를 사용하여 스피커에서 나오는 소리를 마이크 입력에서 최대한 제거함 Chromium 소스에서 "CHROME_WIDE_ECHO_CANCELLATION" 컴파일 플래그를 검색하면 관련 정보를 찾을 수 있음 Chrome의 동시 녹음 및 재생 문제 Chrome이 동시 녹음 및 재생을 잘 처리하지 못함 문제를 명확하게 보여주는 사이트가 있음 chrome-please-fix-your-audio.xyz Acoustic Echo Cancellation의 일반적인 문제 신호 처리에서 흔히 발생하는 문제임 전화기와 같은 간단한 장치에서도 발생함 Google Meet의 소스 분리 기술 신경망을 사용하여 음성을 비음성에서 분리하고 다른 화자도 분리함 2021년부터 반지도 학습 방법이 개발되면서 기술이 크게 향상됨 에코 제거의 부작용 브라우저가 재생 중인 오디오를 알고 마이크 입력과 상관관계를 찾아 제거함 헤드폰을 사용하지 않는 경우 피드백을 억제하기 위해 필요함 Chrome과 Chromium의 내부 오디오 차단 기능 Google Meet 통화 중 다른 탭에서 YouTube 비디오를 재생해도 Meet에서 인식하지 않음 Chromium이 오픈 소스이므로 코드에서 기술적 세부 사항을 확인할 수 있음 에코 제거 알고리즘의 흥미로운 점 외부 스피커를 컴퓨터 마이크에서 약간 떨어진 곳에 두면 알고리즘이 오작동할 수 있음 회의 중 에코 제거의 필요성 회의 데이터가 다시 피드백되지 않도록 하기 위해 필요함 PulseAudio와 Pipewire에는 에코 제거 모듈이 있음
Hacker News 의견
음성 캡처와 재생 간의 지연을 비교하여 음악을 음성에서 제거하는 방법
Acoustic Echo Cancellation (AEC)
Chrome의 동시 녹음 및 재생 문제
Acoustic Echo Cancellation의 일반적인 문제
Google Meet의 소스 분리 기술
에코 제거의 부작용
Chrome과 Chromium의 내부 오디오 차단 기능
에코 제거 알고리즘의 흥미로운 점
회의 중 에코 제거의 필요성