macOS ネイティブのエコー キャンセラ

バージョン 10.12(Sierra)以降の macOS には、ネイティブのエコー キャンセラーが含まれています。Chrome M66 では、オリジン トライアルを有効にするか、Chrome の起動時にコマンドライン フラグを指定することで、この機能の試験運用版を有効にできます(下記を参照)。

この試験運用版を有効にすると、echoCancellation 制約が有効になっている getUserMedia ストリームに macOS ネイティブのエコー キャンセラーが使用されます。他のプラットフォームと以前のバージョンの macOS では、試験運用版を有効にしても実際には何も行われず、以前と同じエコー キャンセラー(通常は WebRTC のソフトウェア エコー キャンセラー)が使用されます。

この取り組みの目的

macOS ネイティブのエコー キャンセラーのパフォーマンスを評価します。Apple が開発したコンポーネントであるため、ハードウェアに合わせて特別にチューニングできます。また、オーディオ パイプライン内の配置により、Chrome で発生する可能性のある特定のオーディオ グリッチの影響を受けにくくなっています。

エコー キャンセラとは

エコー キャンセラは、スピーカーで再生された音声をマイク信号から除去しようとします。これを行わないと、通話の一方から発せられた音声が、もう一方のマイクで拾われ、その音声が自分に返されます。自分の声がエコーで聞こえます。

テストを有効にする方法

サイトでこの新しい動作を利用するには、「macOS ネイティブ エコーのキャンセル」オリジン トライアルに登録する必要があります。ローカルで試すだけの場合は、コマンドラインで試験運用版を有効にできます。

chrome --enable-blink-features=ExperimentalHardwareEchoCancellation

コマンドラインでこのフラグを渡すと、現在のセッションで Chrome でこの機能がグローバルに有効になります。

このテストでは、macOS ネイティブのエコー キャンセラーを使用する際の質的な違いを評価します。

  • エコーをどの程度キャンセルできますか?
  • 両側が同時に話している場合など、ダブルトークのシナリオを適切に処理できますか?
  • エコーをキャンセルする対象がない場合、音質に悪影響はありますか?
  • 特定の音声デバイス(ヘッドセットなど)で問題が発生しますか?
  • その他

また、macOS でネイティブ エコー キャンセラを使用しているときに Chrome が他のアプリとどのように連携するか、実装に関する安定性の問題やその他の問題についても、ご意見をお寄せください。

試用している場合は、こちらのバグにフィードバックを送信してください。可能であれば、使用したハードウェア(macOS のバージョン、ハードウェア モデル、マイク / ヘッドセットなど)も含めてください。大規模なテストを行う場合は、音声通話品質に関する比較統計情報へのリンク(客観的または主観的)を記載することをおすすめします。