2 ポイント 投稿者 GN⁺ 2024-07-11 | 1件のコメント | WhatsAppで共有
  • ChromeとChromiumで興味深い機能を発見

    • 内部オーディオをマイク入力から分離する機能がある
    • 例えば、あるタブでGoogle Meet通話をしながら別のタブでYouTube動画を最大音量で再生しても、その動画の音声はGoogle Meetに送られない
    • 別のブラウザを使う場合(例: Google MeetはChrome、YouTubeはChromium)には、この分離は起こらない
  • ChromeとChromiumがこのオーディオ分離をどのように実装しているのか気になる

    • Chromiumはオープンソースなので、この機能を扱っているコードベースの具体的な部分を知りたい
    • 技術的な詳細や知見を提供してもらえるとありがたい

GN⁺の整理

  • この記事は、Chromeと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 にはエコー除去モジュールがある