ハードウェア ノイズ キャンセレーションを無効にする

Chrome 64 では、echoCancellation 制約が有効になっている getUserMedia 音声ストリームの新しい動作をテストしています。新機能として、このようなストリーミングでは、ストリーミングの期間中、ハードウェアのノイズ抑制が一時的に無効になります。これにより、エコー キャンセラーのパフォーマンスが向上することが期待されます。この機能は試験運用版であるため、明示的に有効にする必要があります(下記を参照)。

現時点では、この動作は特定の入力デバイスでのみ、macOS でのみサポートされています。サポートは、[システム環境設定] の [サウンド] パネルで [周囲のノイズ低減] を切り替えることができるデバイスに限定されます。

背景

エコー キャンセラは、スピーカーから出力された音声を、マイクで拾った音声信号から除去しようとします。これを設定しないと、通話の一方から発せられた音声が、相手のマイクによって拾われ、その音声が自分に戻ってくることになります。自分の声がエコーで聞こえます。

エコーを効果的に除去するには、WebRTC のエコー キャンセラ(Chrome で使用)がマイクからできるだけクリーンな音声信号を取得する必要があります。通常、音声がエコー キャンセラーに到達するに適用される処理(ハードウェア ノイズ抑制など)は、エコー キャンセラーのパフォーマンスを低下させます。さらに、ソフトウェアによるノイズ抑制はすでに実装されていますが、エコー キャンセラが処理を完了したにのみ行われます。

新しい動作の詳細

ウェブ デベロッパーは、オリジン トライアルを有効にすることで、サイトで新しい動作を有効にできます。エンドユーザーは、Chrome の起動時にコマンドライン フラグを渡すことで、この機能をグローバルに有効にできます。詳しくは、以下をご覧ください。

これが有効になっていて、ウェブページが getUserMedia を呼び出して入力デバイスから音声を取得すると、次のように処理されます。

  • echoCancellation 制約が有効になっている場合、新しく作成されたオーディオ ストリームの期間中、ハードウェアのノイズ抑制はオフになります。

  • この設定はシステム全体に適用されるため、同じデバイス(同じマイク)からのすべての音声入力ストリームに適用されます。

  • ハードウェア ノイズ抑制をオフにしたい最後のストリームが閉じられると、ハードウェア ノイズ抑制がオンに戻ります。

  • ハードウェア ノイズ抑制がすでに無効になっている場合、Chrome の状態は変更されません。

  • echoCancellation が有効にされていない状態で getUserMedia が呼び出されると、Chrome はハードウェアのノイズ抑制に触れません。

この設定はユーザーが管理できるため、ユーザーとの特定のやり取りがあります。

  • Chrome でハードウェア ノイズ抑制がオフになっていて、ユーザーがオンに戻した場合、Chrome はそのストリームで再度オフにしようとはしません。

  • Chrome でハードウェア ノイズ抑制がオフになっていて、ユーザーがオンに戻してからオフにしたとしても、ストリーミングが終了すると Chrome はハードウェア ノイズ抑制を再度有効にします。

この動作は、テストを有効にするだけで有効になります。API の変更は必要ありません。

テストを有効にする方法

サイトにこの新しい動作を適用するには、「ハードウェア ノイズ抑制を無効にする」オリジン トライアル登録する必要があります。ローカルで試すだけの場合は、コマンドラインで有効にすることもできます。

chrome --enable-blink-features=DisableHardwareNoiseSuppression

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

この試験運用では、次の点を評価したいと考えています。

  • ハードウェア ノイズ抑制をオンにしたときとオフにしたときの、現場での質的な違い。

  • Chrome 内でこの設定を変更すると、エンドユーザーと実行中の他のソフトウェアにどのような影響がありますか?

これらの両方に関するフィードバックをお待ちしております。この機能をオンにすると通話の品質は良くなりますか?それとも悪くなりますか?実装に問題があり、予期しない動作が発生している。いずれにしても、この機能を試す場合は、こちらのバグに関するフィードバックを送信してください。可能であれば、使用したマイク / ヘッドセット / その他と、周囲のノイズ低減に対応しているかどうかを記載してください。大規模なテストを行う場合は、音声通話品質の比較統計情報へのリンクを添付してください。