1.0: Screech-Squeal sound issue with XAudio + RealtekHD on Vista
by TheGasMan · in Torque 3D Professional · 09/29/2009 (1:24 am) · 22 replies
This scenario either ends with a high pitch squeal or with the looping sounds becoming ignored...
Squeal:
If I turn on some or all of the sounds in the Burg level..then switch from Xaudio to directsound and back to Xaudio: I get a high pitch squeal/buzz sound. This sound *issue is not there at level start with Xaudio. It only happens after switching from and back to the Xaudio preference.
Looping ceases:
If I do the same in the PhysX demo(after adding in a looping sound emitter), when I return to Xaudio, the loop ceases(If I reselect DirectSound, the loop is back). My weapon sounds are fine at that point..but the loops are no longer playing. To get the loop back to 'on' for Xaudio: I have to open the editor, select the speaker and double click the profile setting(in essence: I reselect the profile) to have the sound play with 'looping' once again.
///
here is an mp3 recording of switching back an forth between DirectSound and the Xaudio Squeal : Here (done through a mic)
**WARNING** the sound file is annoying and could hurt your hearing if your speakers/headphones are too loud. Also has the ability to seriously piss people off.**
///
Any one else getting this behavior ?
P.S. We need a version 1.0 bug Tag for the forums. :P
Squeal:
If I turn on some or all of the sounds in the Burg level..then switch from Xaudio to directsound and back to Xaudio: I get a high pitch squeal/buzz sound. This sound *issue is not there at level start with Xaudio. It only happens after switching from and back to the Xaudio preference.
Looping ceases:
If I do the same in the PhysX demo(after adding in a looping sound emitter), when I return to Xaudio, the loop ceases(If I reselect DirectSound, the loop is back). My weapon sounds are fine at that point..but the loops are no longer playing. To get the loop back to 'on' for Xaudio: I have to open the editor, select the speaker and double click the profile setting(in essence: I reselect the profile) to have the sound play with 'looping' once again.
///
here is an mp3 recording of switching back an forth between DirectSound and the Xaudio Squeal : Here (done through a mic)
**WARNING** the sound file is annoying and could hurt your hearing if your speakers/headphones are too loud. Also has the ability to seriously piss people off.**
///
Any one else getting this behavior ?
P.S. We need a version 1.0 bug Tag for the forums. :P
About the author
gameartstore.com
Recent Threads
#2
I have some more details..I hope that I explain this well enough:
-----
First of all, I have a correction to make: I said "I have to open the editor, select the speaker and double click the profile setting(in essence: I reselect the profile) to have the sound play with 'looping' once again."
...however, I can change any of a few settings to start it again.
-----
To answer Ken's question: yes, but there is a bit more to the situation here...let me explain:
Version1.0 related info:
- I ran through the Burg again with the squealing sound to find that the pitch increased and decreased depending on what emitter I was near.
- I changed speaker settings and sound settings ..and then restarted the game @ the Burg level several times and this is what I found:
1. random emitters were not playing at level start when using Xaudio. The only way to start the speaker again was to switch to directsound OR open the editor, select the speaker and change a setting of the 'not playing' emitter(s).
-Example: test-run 1 had speaker 15 off, test-run 2 had speaker 7 off. etc. etc..
2. After I installed T3D Version 1.0, there were NO sounds playing in the Burg level. I had to select each emitter and change a setting to turn them on. Default setting of 'Xaudio'.
Now with T3D beta 5...
-Random crashes (C++ runtime) occurred due to emitter setting adjustments or when copy pasting an emitter. (In 1.0, I was able to copy and paste dozens of emitters a few times without issue. I have not had a runtime crash in 1.0 & let's hope that stays that way! :D )
A big note to add..
When switching from Directsound back to Xaudio in either B5 or 1.0:
- Certain looped sounds always squealed, while the rest always caused the loop to cease(emitter stopped playing).
//
..I know that I could have explained this better. Perhaps I can test more in a day or 2. I'm a bit overtired right now.
//edit: I never check this stuff in any of the Betas until tonight.
Anyone else have any input on this for Ken to check out ?
09/29/2009 (2:43 am)
[I was just unzipping beta5 when you asked.(clean vista install last week)]I have some more details..I hope that I explain this well enough:
-----
First of all, I have a correction to make: I said "I have to open the editor, select the speaker and double click the profile setting(in essence: I reselect the profile) to have the sound play with 'looping' once again."
...however, I can change any of a few settings to start it again.
-----
To answer Ken's question: yes, but there is a bit more to the situation here...let me explain:
Version1.0 related info:
- I ran through the Burg again with the squealing sound to find that the pitch increased and decreased depending on what emitter I was near.
- I changed speaker settings and sound settings ..and then restarted the game @ the Burg level several times and this is what I found:
1. random emitters were not playing at level start when using Xaudio. The only way to start the speaker again was to switch to directsound OR open the editor, select the speaker and change a setting of the 'not playing' emitter(s).
-Example: test-run 1 had speaker 15 off, test-run 2 had speaker 7 off. etc. etc..
2. After I installed T3D Version 1.0, there were NO sounds playing in the Burg level. I had to select each emitter and change a setting to turn them on. Default setting of 'Xaudio'.
Now with T3D beta 5...
-Random crashes (C++ runtime) occurred due to emitter setting adjustments or when copy pasting an emitter. (In 1.0, I was able to copy and paste dozens of emitters a few times without issue. I have not had a runtime crash in 1.0 & let's hope that stays that way! :D )
A big note to add..
When switching from Directsound back to Xaudio in either B5 or 1.0:
- Certain looped sounds always squealed, while the rest always caused the loop to cease(emitter stopped playing).
//
..I know that I could have explained this better. Perhaps I can test more in a day or 2. I'm a bit overtired right now.
//edit: I never check this stuff in any of the Betas until tonight.
Anyone else have any input on this for Ken to check out ?
#3
09/29/2009 (2:46 am)
Thanks! That is a good amount of info to go on. Let me look into it when I get into the office tomorrow :) Get some sleep!
#4
Argh... know what... I hate XAudio. Has sort of a nice API from the outset and its kinda important now, but I find programming with it hell.
Really thought I had fixed the sounds-not-starting issue with XAudio, but apparently I haven't. The squealing noice thing is new to me.
Overall, my advice is: OpenAL or FMOD. These are stable and with FMOD you'll be in for a pleasant ride in the future. XAudio is absolutely the least stable of the implementations.
Still, I hope to get around to giving XAudio a much needed pass for 1.1.
09/29/2009 (5:13 pm)
Argh... know what... I hate XAudio. Has sort of a nice API from the outset and its kinda important now, but I find programming with it hell.
Really thought I had fixed the sounds-not-starting issue with XAudio, but apparently I haven't. The squealing noice thing is new to me.
Overall, my advice is: OpenAL or FMOD. These are stable and with FMOD you'll be in for a pleasant ride in the future. XAudio is absolutely the least stable of the implementations.
Still, I hope to get around to giving XAudio a much needed pass for 1.1.
#5
BTW, I'll personally come kicking everyone in the crotch who's giving me a beating over recommending certain implementations over others. Honestly, guys... :) Torque is just about the only (major) engine doing this multi-sound API backend thing which IMHO eventually just ends up creating a maintenance nightmare and causing confusion on the user side.
I think, on the long run, Torque would be best off getting rid of XAudio and DSound, keeping OAL for those who won't afford an extra license, and finally having FMOD for all those who want more a more sophisticated SFX system.
But well, probably not going to happen...
09/29/2009 (5:27 pm)
BTW, I'll personally come kicking everyone in the crotch who's giving me a beating over recommending certain implementations over others. Honestly, guys... :) Torque is just about the only (major) engine doing this multi-sound API backend thing which IMHO eventually just ends up creating a maintenance nightmare and causing confusion on the user side.
I think, on the long run, Torque would be best off getting rid of XAudio and DSound, keeping OAL for those who won't afford an extra license, and finally having FMOD for all those who want more a more sophisticated SFX system.
But well, probably not going to happen...
#6
This sounds similar to that issue with DirectSound hurting framerates.
I believe this is related to some set of drivers for the Realtek. The previous screenshots eb showed had his caps showing it had buffers but no memory. This implies it does not actually have hardware buffers, but it's reporting it has them. My guess is there might be something else messed up with that audio support in general.
My Realtek HD works fine in Vista 64 with Xaudio and DirectSound, but it is set as software and the buffers report so that it defaults to hardware off.
So if it is a Realtek issue it may be more of an issue with the driver and less of an issue with the implementation.
I'd like to see this reported as an issue on another audio device before I'd call the implementation extremely flawed to not use it.
09/29/2009 (7:59 pm)
Have you tried this with hardware off?This sounds similar to that issue with DirectSound hurting framerates.
I believe this is related to some set of drivers for the Realtek. The previous screenshots eb showed had his caps showing it had buffers but no memory. This implies it does not actually have hardware buffers, but it's reporting it has them. My guess is there might be something else messed up with that audio support in general.
My Realtek HD works fine in Vista 64 with Xaudio and DirectSound, but it is set as software and the buffers report so that it defaults to hardware off.
So if it is a Realtek issue it may be more of an issue with the driver and less of an issue with the implementation.
I'd like to see this reported as an issue on another audio device before I'd call the implementation extremely flawed to not use it.
#7
Any suggestions for tests Brett ?
(I plan to use Fmod for development but that does nothing for resolving this scenario.)
09/29/2009 (8:16 pm)
..I wish that I was able to add more input on this but it is simply not my area of knowledge.Any suggestions for tests Brett ?
(I plan to use Fmod for development but that does nothing for resolving this scenario.)
#8
No beating from me, I agree with you! OAL and FMOD, *^&@ the rest! *personal opinon*
09/29/2009 (9:38 pm)
@Rene:No beating from me, I agree with you! OAL and FMOD, *^&@ the rest! *personal opinon*
Quote:These are stable and with FMOD you'll be in for a pleasant ride in the future.Heh heh, absolutely! Interesting work you've been doing ;)
#9
09/30/2009 (6:49 am)
I added Fmod to do some tests and there is no comparison really. Fmod wins the show. ...as if I needed to say that.
#10
09/30/2009 (12:40 pm)
There have been some instances where FMOD isnt available some people's PC's even with the dll installed. What would cause that?
#11
The DLL could be too old. Make sure to download a recent version from fmod.org. The DLL must be no older than the headers Torque was compiled with (couple of minor revisions back from current).
Also make sure the DLL really is in the game/ folder with your exe and is called fmodex.dll.
09/30/2009 (1:01 pm)
The DLL could be too old. Make sure to download a recent version from fmod.org. The DLL must be no older than the headers Torque was compiled with (couple of minor revisions back from current).
Also make sure the DLL really is in the game/ folder with your exe and is called fmodex.dll.
#12
09/30/2009 (1:08 pm)
well, hmm that kinda sucks dont you think, for folks that have onboard sound from realtek? since almost all of my audio is through them.. How would this affect other, like customers. while the FMOD is definitly a fix (yes, i am lookig at buying it Rene, this needs a out of the box solution)
#13
This also happens in XAudio. Would this be classed as a bug?
Edit: mThrust is the throttle setting (0-1)
09/30/2009 (1:10 pm)
Another quick FMOD question. Ive got a custom aircraft class that has a simple engine throttle that will lower and raise the engine's sound pitch based on throttle level. The issue is that the aircraft seems to act like the old car did with its sound. The faster it went, the higher the pitch went in addition to the throttle's pitch change. F32 volume = 0.5f + (0.65f * mThrust);
F32 thrustVolume = 0.5f + (0.65f * mThrust);
F32 pitch = volume + 0.3f;
...
mJetSound->setPitch (pitch);
mJetSound->setVolume (volume);This also happens in XAudio. Would this be classed as a bug?
Edit: mThrust is the throttle setting (0-1)
#14
There's nothing we can do about Realtek drivers and software. If they are trouble, disable hardware-accelerated sound. IMHO, mixing shouldn't be left to hardware anyways.
@Adam
Not sure I understand the problem here. You see additional pitch added on top of the pitch you are computing dynamically?
On a general note about pitch + 3d sounds + velocity: always check your doppler factor settings.
09/30/2009 (1:21 pm)
@EdwardThere's nothing we can do about Realtek drivers and software. If they are trouble, disable hardware-accelerated sound. IMHO, mixing shouldn't be left to hardware anyways.
@Adam
Not sure I understand the problem here. You see additional pitch added on top of the pitch you are computing dynamically?
On a general note about pitch + 3d sounds + velocity: always check your doppler factor settings.
#15
09/30/2009 (1:23 pm)
This was happening before the doppler shift was added so I'm sure it has nothing to do with the doppler setting.
#16
09/30/2009 (1:48 pm)
noted, ill have to put it in the release notes of my game regarding this kind of hardware issue.. sigh.
#17
If you release with FMOD, then I think you're safe here. Currently, in the FMOD provider, we force anything to mix/work in software.
09/30/2009 (1:58 pm)
@EdwardIf you release with FMOD, then I think you're safe here. Currently, in the FMOD provider, we force anything to mix/work in software.
#18
My Realtek HD works great in Torque out of the box on a NF78 chipset, in Vista, using DSound or XAudio. As I've reported previously.
It's an issue that is definitely perplexing, since these same drivers don't perform any better when hardware is disabled. Maybe it's not a hardware issue, but we would need a large sample of data to really narrow it down, unless others start posting that they have this problem, it may be fairly focused.
09/30/2009 (9:26 pm)
The issue is actually on the Realtek side, they don't properly report their hardware capabilities to DirectX, which results in Torque enabling hardware when it shouldn't be on.My Realtek HD works great in Torque out of the box on a NF78 chipset, in Vista, using DSound or XAudio. As I've reported previously.
It's an issue that is definitely perplexing, since these same drivers don't perform any better when hardware is disabled. Maybe it's not a hardware issue, but we would need a large sample of data to really narrow it down, unless others start posting that they have this problem, it may be fairly focused.
#19
I have tested 3 out of 4 computers that I have(with RealtekHD) that are capable of running T3D & all have the same issues: sound-squealing when changing the sound options. None of the computers have mobos from the same manufacturer. In fact, the only parts in common in any of the systems are the Corsair PSUs.
- I would test the 4th but I am guessing that I would be wasting my time and I prefer to not waste my time.
(and of course, that other issue of random speakers not started @ level load was prevalent)
.:shrugs:.
10/01/2009 (12:19 am)
I am getting the same issues on my other systems running RealtekHD.I have tested 3 out of 4 computers that I have(with RealtekHD) that are capable of running T3D & all have the same issues: sound-squealing when changing the sound options. None of the computers have mobos from the same manufacturer. In fact, the only parts in common in any of the systems are the Corsair PSUs.
- I would test the 4th but I am guessing that I would be wasting my time and I prefer to not waste my time.
(and of course, that other issue of random speakers not started @ level load was prevalent)
.:shrugs:.
#20
I hardly doubt this issue is "focused"..good try though. :p
//edit: this stuff should 'just work' in a 1.0 version release...but knowing that the sound system must be a nightmare(due to options), I can understand it's shortcomings.
joke: Is this stuff broken on purpose so that you guys can sell Fmod licenses ? rofl.
10/01/2009 (12:25 am)
Andrew Brady is having the squeal issue on Realtekac97.I hardly doubt this issue is "focused"..good try though. :p
//edit: this stuff should 'just work' in a 1.0 version release...but knowing that the sound system must be a nightmare(due to options), I can understand it's shortcomings.
joke: Is this stuff broken on purpose so that you guys can sell Fmod licenses ? rofl.
Torque 3D Owner Kenneth Holst
Default Studio Name