Audio Distortion with Master
- PipeWire version (
pipewire --version
): 76350ceb - Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
): Fedora 36 - Desktop Environment: Gnome
- Kernel version (
uname -r
): 5.18.9-200.fc36.x86_64
Description of Problem:
First noticed this when I was troubleshooting #2491 (closed), When an 88200 Hz track is played I get a loud beep/buzz that plays at full volume. It was fixed for that particular user but in my case it was not. I figured out that if I either use a Pulseaudio backend (Deadbeef) or ao=pulse
(MPV) that I can get around it, I can also set my default.clock.rate
to 96000 Hz and ALSA backend seems unaffected.
Then I started troubleshooting #2500 (closed) and found that DSD64 files are causing this as well (with ALSA) and my receiver isn't capable of going past 192000 Hz so there is no way to work around that, unless I switch to Pulseaudio backend. The author of that issue says that 0.3.49 fixes it for them which does not fix it for me. Now an interesting this happened with #2508 (closed) they include two DSF test files in the issue one DSD64 and the other DSD128, the DSD64 behaves the same as the 88200 Hz file but the DSD128 plays fine. According to the author of that issue "...for DSD64, the sample rate of 352800 is used in PipeWire (ALSA uses 88200 instead because it takes the format width - 4 byte in DSD_U32BE - into account, and 352800/4 = 88200)". I'm wondering if that has anything to do with it?
While there are similarities between all three issues the fix for the first one didn't fix it for me, the second one is fixed by reverting back to 0.3.49 which doesn't work in my case and the third issue is getting a different type of distortion.
During my time testing this with Deadbeef on master I managed to crash the program a lot where before it didn't happen so maybe unrelated but I'll include this backtrace file just in case. deadbeef_crash
Let me know what logs you need if any and I will provide them.
How Reproducible:
Every time (with ALSA backend).
Steps to Reproduce:
- Play 88200 Hz or DSD64 track
- Hear loud beep/buzz
- Ouch!!!
Actual Results:
Loud beep/buzz
Expected Results:
Track playing distortion free.
Additional Info (as attachments):
-
pw-dump > pw-dump.log
: pw-dump.log