I made a very simple test and something’s not working properly.
I put a listener at position (0, 0, 0), up (0, 1, 0), forward (0, 0, -1)
I am in world coordinates.
Then I put a source sound which turns around the listener in the YZ plane (vertical plane), so the sound starts in front of me, goes up, back, down, then is back to front. The movement is smooth and along a circle (so the distance from the listener is always the same).
Well this doesn’t work at all because the sound is a lot louder when it is above or under the listener, and fades to a "normal" volume when it gets closer to the front or the back position. All of this being very smooth.
But the volume of the sound shouldn’t fade like this.
Furthermore when moving the sound around the listener in the XZ plane (horizontal plane) the sound goes from left to right ear, fading quite well and the volume seems to be quite constant.
So why does the volume change so much in the YZ plane ? It shouldn’t change at all.
- Ceydric asked 10 years ago
Hardware is always a problem (for example, our Realtek onboard sound has never worked through the directX driver) and most people seem to go for software, not just because of issues, but because it offers so much more (dsp’s etc).
Hasn’t Vista binned hardware in favour of software now too?
- a1psx answered 10 years ago
Thanks for your reply a1psx.
I didn’t know about Vista working in software mode for sound.
And I thought that most games used most likely hardware mode.
Anyway it’s strange because when you read the benefits of fmod in [b:ur45xgy1]hardware[/b:ur45xgy1] mode in the "system::CreateSound" help section, they say and I quote : "[i:ur45xgy1]better 3d sound virtualization using headphones[/i:ur45xgy1]".
That’s exactly what I need to do because I absolutely don’t need 5.1 or anything else, just headphones. But the [b:ur45xgy1]hardware[/b:ur45xgy1] result is such a disapointment.
And sadly the [b:ur45xgy1]software[/b:ur45xgy1] mode has a very very high latency (100 ms, maybe 200 or more ?…) so this mode is not useful either.
For the record and for you to perfectly understand my needs, I work in a virtual reality lab and I need to add sounds when people enter our CAVE system equiped with headphones, their heads beeing tracked by a video system of motion capture and updated in realtime. So you can imagine that updating the sounds positions 200 ms after we actually move our head in the CAVE is way too long, you can feel so much the lag. But having a realy bad pannig sound in hardware is a so big problem too …
So what solution do I have ?
Trying another sound lib ?
I hope not because I found fmod so interesting. It seems to be able to do very interesting things with sounds, but the basics don’t work properly.
And sadly the [b:e39pjjap]software[/b:e39pjjap] mode has a very very high latency (100 ms, maybe 200 or more ?…) so this mode is not useful either.
200ms? What parameters did you pass to the setDSPBufferSize method?
If you have good enough, and stable enough, framerate to avoid stuttering, try setting the buffer count to a 3 or 5 or something. And see the help on that method.
- jornj answered 10 years ago
Unfortunately I already tried this, because I read what FMOD creators said in the post about configuring correctly FMOD.
So I did exactly what they say for the initilization but that doesn’t change anything. The software mode still has too much lag.
I tried another lib today and unfortunately the Hardware mode does the same mess (bad sound rendering when changing sound position, or turning the listener’s head). So I guess I have to do everything I can to make the software mode working with a very low lag (if possible)…
Thanks for your help anyway
Unfortunately my acceleration isn’t turned off.
I made all the tests I could with different settings in the windows acceleration settings (from no acceleration to full acceleration) the lag is still obvious. It is not a huge lag, but it is very noticeable.
I made other tests, trying different sound cards.
– My old [b:3j770xxz]SB Live 128! Value[/b:3j770xxz] did horrible results (cracking sounds, very often no sound at all)
– I changed for an [b:3j770xxz]Audigy SE[/b:3j770xxz] : bad panning in 3D
– [b:3j770xxz]Audigy 2[/b:3j770xxz] : same bad 3D calculations
– [b:3j770xxz]SB X-FI Xtreme Music[/b:3j770xxz] : Alleluia !!! The 3D sound seems quite good.
So it seems that I can have the benefits of hardware acceleration after all. The Audigy sound cards and Live Value seem to be awfull.
I thought any sound card should give good results in 3D. I thought the only difference were in the number of simultaneous voices played, or in the quality of the sound. I never thought cheap sound card would do bad 3D computations. So there’s no need to buy a cheap sound card if they can’t do all the basic stuff for 3D.
Anyway thanks for your help.
The conclusion for all of this : if you want good results in 3D, buy a good sound card (I can only testify that X-FI Xtrem music are good ones and Audigy 1 and 2 are awfull)
1) about FMOD’s mode, our experience is that using Software mode is more reliable than Hardware mode, if you have various sound cards.
2) about your original question: of course, the sound’s volume should decrease when you move it upward or downward. Your listener’s setting seems to good for a left-hand sided FMOD’s coordinates system : is it your case ?
Are you using sounds [b:1eml10z0]without [/b:1eml10z0] cone effect (otherwise always directed towards the listener’s position) ?
Have you tried to set System::set3DSpeakerPosition ?
- oroussel answered 10 years ago
The strange thing is that when I use the SOFTWARE mode it works perfectly.
Is there anything I must not forgot to initialize or configure in order to make the HARDWARE mode to function correctly (there is a sooooo much better paning, and no more attenuation in the vertical plane in software mode) ?
If there is nothing I can do, what is the HARDWARE mode for ?
Why is the result so different and so wrong in HARDWARE mode ?
Can’t I have the benefit of a hardware acceleration (less latency, maybe less CPU usage ?) and a good 3D sound like in the software mode ?
Thanks for all your ideas.
Please login first to submit.