問題をデバッグするために、音声録音が必要になる場合があります。特に、音の歪みやエコーなど、音質に関する問題を調査する場合です。
診断用の音声録音を収集するには、chrome://webrtc-internals (Chrome) または edge://webrtc-internals (Edge) のページを開きます。
[Enable diagnostic audio recordings] (診断用の音声録音を有効にする) をクリックすると、ファイルをダウンロードする場所を尋ねるダイアログがブラウザーで表示されます。
ACS 通話が完了すると、選択したフォルダーにファイルが保存されているのを確認できるはずです。
*.output.N.wav
は、スピーカーに送信されたオーディオ出力です。
*.input.M.wav
は、マイクからキャプチャされたオーディオ入力です。
*.aecdump
には、ブラウザーの音声処理モジュールで処理した後の音声をデバッグするために必要な wav ファイルが含まれています。
aecdump ファイルを検査するためのツールを構築する方法
*.aecdump
ファイルを検査するには、unpack_aecdump
ユーティリティ プログラムを使用する必要があります。ソース コードは unpack_aecdump にあります
ビルド環境を準備する必要があります (ここでは例として Windows を使用します)
前提条件:
- Visual Studio 2022
- Python 3
- depot_tools: 「Windows 用 Chromium のチェックアウトとビルド」の「depot_tools のインストール」を参照してください
PATH の先頭に depot_tools を必ず追加します。それは、Python のどのインストールよりも前にある必要があります。
次のコマンドを実行します
mkdir webrtc
cd webrtc
gclient
fetch --nohooks webrtc
gclient sync
cd src
gn gen out/Default
ninja -C out/Default unpack_aecdump
ファイルは webrtc/src/out/Default/unpack_aecdump.exe で使用できます
aecdump ファイルを検査する方法
次のコマンドを実行します。
unpack_aecdump.exe audio_debug.5.aecdump
aecdump ファイルから抽出されるオーディオ ファイルには、3 種類あります
- reverseN.wav: 同じプロセスから生成されたレンダリングされたオーディオ
- inputN.wav: オーディオ処理の前にキャプチャされたオーディオ。
- ref_outN.wav: キャプチャされたオーディオ。オーディオ処理後にネットワークに送信されます。
オーディオ品質の問題が送信側にあると思われる場合は、まず ref_outN.wav を確認し、考えられる問題のタイム ポイントを見つけて、inputN.wav の同じタイム ポイントと比較して、オーディオ品質の問題がオーディオ処理モジュールによって引き起こされたのか、またはオーディオ品質がソースで既に低かったのかを確認できます。