2 ポイント 投稿者 GN⁺ 2024-07-11 | 1件のコメント | WhatsAppで共有
  • Chrome と Chromium で Google Meet の通話タブと YouTube の再生タブを同時に使うと、YouTube の 内部オーディオ が Google Meet のマイク入力に入らない現象が観察される
  • 同じ作業を異なるブラウザに分けると、たとえば Google Meet は Chrome で開き、YouTube は Chromium で再生すると、この オーディオ分離 は起こらない
  • Chromium はオープンソースであるため、この挙動を処理している コードベース上の場所 や実装方式についての技術的な手がかりを探している

1件のコメント

 
GN⁺ 2024-07-11
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 にはエコー除去モジュールがある