Skip to content

Commit 460b00e

Browse files
authored
Merge pull request #274701 from enricohuang/patch-26
Update audio issues troubleshooting guide
2 parents 3519cf2 + e299fa2 commit 460b00e

File tree

3 files changed

+52
-0
lines changed

3 files changed

+52
-0
lines changed

articles/communication-services/resources/troubleshooting/voice-video-calling/audio-issues/poor-quality.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,9 @@ If the sender is using Desktop Edge or Chrome, they can follow the instructions
5454

5555
The audio recordings include the audio before and after it's processed by the audio processing module.
5656
By comparing the recordings, you may be able to determine where the issue is coming from.
57+
58+
We found in some scenarios that when the browser is playing sound, especially if the sound is loud,
59+
and the user starts speaking, the user's audio input in the first few seconds may be overly processed,
60+
leading to distortion in the sound. This can be observed by comparing the ref\_out.wav and input.wav files in aecdump files.
61+
In this case, reducing the volume of audio playing sound may help.
62+

articles/communication-services/resources/troubleshooting/voice-video-calling/references/how-to-collect-diagnostic-audio-recordings.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,49 @@ After you finish an ACS call, you should be able to see files saved in the folde
3030
`*.input.M.wav` is the audio input captured from the microphone.
3131

3232
`*.aecdump` contains the necessary wav files for debugging audio after processed by the audio processing module in browsers.
33+
34+
## How to build tools for inspecting aecdump files
35+
To inspect `*.aecdump` files, you must use the `unpack_aecdump` utility program, the source code can be found at [unpack\_aecdump](https://chromium.googlesource.com/external/webrtc/+/HEAD/rtc_tools/unpack_aecdump?autodive=0)
36+
37+
You need to prepare the build environment (Here we use Windows as an example)
38+
39+
Prerequisites:
40+
41+
* Visual Studio 2022
42+
* Python 3
43+
* depot\_tools: See Install depot\_tools in [Checking out and Building Chromium for Windows](https://chromium.googlesource.com/chromium/src/+/HEAD/docs/windows_build_instructions.md#Install)
44+
45+
Make sure you add depot\_tools to the start of your PATH and it must be ahead of any installs of Python.
46+
47+
Run the following commands
48+
```sh
49+
mkdir webrtc
50+
cd webrtc
51+
gclient
52+
fetch --nohooks webrtc
53+
gclient sync
54+
cd src
55+
gn gen out/Default
56+
ninja -C out/Default unpack_aecdump
57+
```
58+
The file is available at webrtc/src/out/Default/unpack\_aecdump.exe
59+
60+
## How to inspect aecdump files
61+
62+
Run the command:
63+
64+
```
65+
unpack_aecdump.exe audio_debug.5.aecdump
66+
```
67+
68+
:::image type="content" source="./media/extract-aecdump.png" alt-text="Screenshot of the extracted aecdump file.":::
69+
70+
There are three different types of audio files extracted from the aecdump file
71+
72+
* reverseN.wav: the rendered audio originated from the same process
73+
* inputN.wav: the captured audio, before audio processing.
74+
* ref\_outN.wav: the captured audio, after audio processing and will be sent to the network.
75+
76+
If you think that audio quality issues are on the sending end, you can first check ref\_outN.wav, find the possible problem time points, and compare them with the same time points in inputN.wav to see if the audio quality issues are caused by the audio processing module, or if the audio quality was already poor in the source.
77+
78+
14.3 KB
Loading

0 commit comments

Comments
 (0)