-
-
Notifications
You must be signed in to change notification settings - Fork 21.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Distorted sound on Windows with Corsair or SteelSeries Wireless Headset #25875
Comments
@akien-mga Sorry to flag you. Do you have an idea if this issue has been solved on 3.1/3.0/master? and/or which commit might fixed that? Or maybe I can tweak the audio mixer to fix it? |
The best way to know would be for you to give it a try, I can't say just from the description without doing tests myself. |
The fact is, I cannot reproduce it, on any of my windows machine. But according to the sample I received, I cannot deny the issue. I cannot know if the issue has been solved on branch 3.0/3.1 or master since I can't reproduce the issue on 2.1. I was just wondering if you've remembered having changed something related to the audio driver used by godot engine that might solve that issue. Maybe you have an idea of where the issue might come from, like an entry point where I can start digging please. |
Well 3.0+ use a different audio driver on Windows ( CC @marcelofg55 who might have ideas on how to debug this further. |
Thank you a lot @akien-mga <3 Hope @marcelofg55 would be able to help me even just a little bit.
Godot 2.1.5 also uses WASAPI for windows. It uses XAudio only for winrt. Im gonna try switching from WASAPI drivers to RtAudio drivers. |
Hi, so to who is this happening? Some Windows users? It's a bit a complicated to solve if we can't reproduce this, maybe try to find out what audio card are they using, what sample rate and if they're using stereo or 5.1. |
@marcelofg55 Hey, I replaced WASAPI with RtAudio, it fixed the issue. User who have the problem has a surround headset. I suggest to replace the default driver for godot 2.1.5 for RtAudio instead of WASAPI |
@xsellier Can you find out what Surround Headset is the user using? Thanks |
@marcelofg55 I don't have the exact model, but it is a wireless Bluetooth surround headset. Sound card is a Realtek High Definition Audio. Raw data:
|
@xsellier So I've been trying to reproduce this myself without much luck, tried with my external 5.1 sound card setting it to 5.1, 7.1 and 3.1 and I've got no distortion on the sound, even tried some Surround Virtual software and no luck. I think that this bug should also be present on the 3.0/3.1 branch since the WASAPI driver uses the same logic to output sound, but until I'm able to reproduce it and can't be sure of this. |
Any music file and even with FX sound. |
@marcelofg55 This issue won't happen on the latest version of godot 3+ because of that: So I wonder why it is like that and not as following:
|
Bump @marcelofg55 |
@xsellier Unless we find a way to reproduce this I don't see a way to fix it. |
@marcelofg55 It happens only on version 2.1.5 because WASAPI in version 2.1.5 does not handle surround system. (more than 2 channels): |
@xsellier I tested this with a 5.1 surround system myself and the distortion didn't happen to me. Could you reproduce the distortion using a surround system? |
@marcelofg55 I don't have a surround system at home. But I'm wondering if it cannot come from that part: Because on master/3.0/3.1 it looks like that: Which is not the same algorithm. |
@xsellier Well, I tested it on my 5.1 surround device and couldn't reproduce it, so unless somebody else finds a way to reproduce it I don't think I can find a fix for this.
Godot 3.0+ supports surround audio on the audio server, Godot 2.1 doesn't, so that's why that code is different. Anyways, I don't thins is the problem of the distortion, but since I can't reproduce it myself I can't be sure. |
@marcelofg55 Thank you for that explanation. |
Here is another record of another player who is having the same issue with WASAPI driver on windows: PC Specs of the guy who have the issue:
Other:
Screens :
Accessory :
|
I have run into similar issue with the recent master while checking in wine my result of cross-compilation. |
I as well am running into an issue that appears to be related to this. I get the error: W 0:00:02.221 init_render_device: WASAPI: Unsupported number of channels: 1 I'm using a steelseries wireless headset and I believe the receiver is connected over usb. |
I am getting this same issue using a SteelSeries wireless headset. |
This comment has been minimized.
This comment has been minimized.
In fact this is exactly the same issue (see this comment: #25875 (comment) ) |
So it sounds like it's not 2.1 specific in the end. @Favorlock @Mkneeshaw What Godot versions did you experience this with? Is it still reproducible with latest 3.3 and 3.4 releases? |
Fixed that issue with this commit: |
I have this issue still with 3.3.3 and 3.4 rc2 |
I have the issue with this warning (not sure if it's the same as the original):
The issue is that when you have bluetooth headset, it usually has 2 audio modes. One with only sound and one with sound + microphone. You can find more info here: https://answers.microsoft.com/en-us/windows/forum/all/headset-vs-headphones/93aca8a3-626c-4439-ab9f-8f774d76be44 Here's vide with normal audio: godot.windows.opt.tools.64_rCwGpHbcGG.mp4And here is the other audio mode: godot.windows.opt.tools.64_WWvL4b4Okk.mp4The character's voice is especially distorted. It gets even worse when you enable music: godot.windows.opt.tools.64_XNr41XgWMS.mp4vs godot.windows.opt.tools.64_TN0w2uCmEh.mp4There is this crackling noise that's just unbearable. I don't know if there is something that can be done about it, as it might be some WASAPI problem. I know that in other games (non-Godot) the sound doesn't become completely illegible like this, so there is room for improvement. |
@KoBeWi Can you reproduce this if you change the output mix frequency to 44100, 48000 or even 22050 in the Project Settings? |
48000 and 22050 don't seem to make difference, with 441100 there is no sound at all (so I guess it fixes distortions? 😂). |
I meant 44100 instead of 441100, sorry. I guess 44100 is the default value already though. |
Right. I just added 0, so actually it was 441000. |
Hey. I, too, am experiencing this problem. Any updates? |
We don't know the exact source of the problem yet, so there is no ETA for fixing this. We did suspect however that Godot not handling mono audio output well on Windows could be a possible culprit, but this may be unrelated. (Using microphone mode on a Bluetooth headset will force audio output to be mono in many cases.) |
adb
running in the background
#74779
Reposting my comment from #76504 (comment): The WASAPI driver doesn't seem to implement mono audio indeed. This might just be an oversight. Relevant code (in godot/drivers/wasapi/audio_driver_wasapi.cpp Lines 482 to 494 in 352ebe9
Likewise for macOS's coreaudio driver: godot/drivers/coreaudio/audio_driver_coreaudio.cpp Lines 105 to 117 in 352ebe9
While pulseaudio handles mono and other odd channel counts, apparently by just adding + 1: godot/drivers/pulseaudio/audio_driver_pulseaudio.cpp Lines 203 to 223 in 352ebe9
That likely wouldn't be enough here though, because in this case it's basically what happens (1 channel is unsupported, so it falls back to 2 / stereo). The mono output basically just needs to be implemented. The downsampling done in the PulseAudio driver could probably be ported to WASAPI. |
Godot version:
2.1.5
OS/device including version:
Microsoft Windows 10 Pro
Realtek High Definition Audio
Issue description:
Sound distorted and crakling:
DistortedSound.zip
Steps to reproduce:
Original music is an OGG file
Project configuration
StreamPlayer node configuration
Piece of code used to strat playing the music
The text was updated successfully, but these errors were encountered: