0
0

I’m noticing that both single and multichannel audio sounds are louder when played as FMOD_3D sounds than if they were FMOD_2D.

Specifically, if you play an FMOD_3D sound on top of the player, and then switch the sound to 2D, there is a noticeable volume decrease. Maybe this is obvious to those out there more familiar with FMOD or other audio principles, but it wasn’t obvious to me. Could anyone explain why the volume difference occurs?

  • You must to post comments
0
0

Are you using any type of reverb?

  • You must to post comments
0
0

This is the amplifier or the soundcard causing this problem, you can’t do much about it. A discrete digital signal like dolby digital will allow you to fully control the subwoofer usually, but analog pc outputs just send a mix to the subwoofer as a default. For example if you played an audio cd, its going to come out of the subwoofer.

  • You must to post comments
0
0

[quote="a1psx":3oajr8d2]Are you using any type of reverb?[/quote:3oajr8d2]
Not in this example, no, but I would like reverb to work if possible.

Here’s the basic problem:
I implemented volumetric sounds using the following method:

  1. Determine if the player is inside the volume.
  2. If the player is not inside the volume:
    2a. Find the point on the volume that is closest to the player.
    2b. Play the spatialized (FMOD_3D_WORLDRELATIVE) sound at that point in space
  3. If the player is inside the volume:
    3a. Switch the sound to FMOD_2D

I’m noticing that as I transition from outside the volume to inside, the volume of the sound drops, because the mono sound ceases to play in the rear speakers at all.

I used to switch back and forth between WORLDRELATIVE and HEADRELATIVE instead of between FMOD_3D and FMOD_2D, and I liked the way the sound wrapped around the player (and the volume stayed the same) but I noticed that even when I played a sound HEADRELATIVE at (0, 0, 0) I could spin around in place and hear the sound pan around me erratically.

The best case would be for HEADRELATIVE sounds to not pan around me, however I don’t know if it’s possible to fix that.

  • You must to post comments
0
0

[quote="brett":3tdax559]But analog pc outputs just send a mix to the subwoofer as a default. For example if you played an audio cd, its going to come out of the subwoofer.[/quote:3tdax559]

Thanks Brett,

You’re right it’s the same with an audio CD. I thought it could exist some magic solution, but it does not seem to be…

Thanks again, have a nice day

-Canthaon-

  • You must to post comments
0
0

Have you experimented with Channel::set3DPanLevel at all? Or Channel::setSpeakerMix?

  • You must to post comments
0
0

[quote="brett":evt0zayp]You can turn off the lfe channel using setSpeakerMix, 2d or 3d.
Some amplifiers run subwoofer as well and take the low frequency content of the 5.0 mix regardless, which is a bit annoying. nulling out the lfe seems to help there.
[/quote:evt0zayp]

Hello,

Do you mean you have to power off the subwoofer? or just set LFE gain in fmod to 0?
I have the same problem on some configurations, the content of each channel is routed into the subwoofer. Using set speaker mix seems to have no effect even if LFE gain is set to 0. The more there is into other channels, the more there is into the sub. If all channels are tuned to 0, I don’t hear the sub. If all 5 channels are tuned to 1 and LFE tuned to 0, I still hear the subwoofer…I thought it was due to OS at first, or to sound card driver.

Is anybody have exactly the same problem? Any solution?

Thank you very much

-Canthaon-

  • You must to post comments
0
0

[quote="sgugler":2fehmfx0]Have you experimented with Channel::set3DPanLevel at all? Or Channel::setSpeakerMix?[/quote:2fehmfx0]
I’m going to try set3DPanLevel in conjunction with HEADRELATIVE to see if I get the desired effect. SetSpeakerMix is a little more sledgehammer than I need at the moment.

  • You must to post comments
0
0

Because 3d probably plays in all speakers and you’ve only got your 2D sound to either play in front left/front right or maybe just 0.7 of each? (this is what it would be if you used setPan(0) on a mono sound)

You’re supposed to set up the speaker mix using the relevant 2d functions.

  • You must to post comments
0
0

Thats what we do, we use the event system to slide from 3d to 2d based on distance.

We also just lock the sound to player position inside sound volumes (still 3d sound)

  • You must to post comments
0
0

Thanks Brett, that makes sense.

Would the situation you described also explain why there is increased LFE output when playing a 3D sound as opposed to a 2D sound? I would guess so, as I imagine the LFE crossover takes energy from every speaker’s output, so if more channels are playing, the LFE has more energy.

edit: Also, would setting the level to 1.0 in all speakers alleviate the problem? Is this what FMOD does internally when a 3D sound is at 0 distance?

  • You must to post comments
0
0

You can turn off the lfe channel using setSpeakerMix, 2d or 3d.
Some amplifiers run subwoofer as well and take the low frequency content of the 5.0 mix regardless, which is a bit annoying. nulling out the lfe seems to help there.

Just to note we’ve enabled Channel::setPan and Channel::setSpeakerLevels to work with Channel::set3DPanLevel, they weren’t working before. This will be in 4.08.06

  • You must to post comments
0
0

hey

I’ve also emailed support with more detail, but what I found with the FMOD playSound example is that if I simply take my stereo 44khz 16 bit sine wave recording and replace the jaguar.wav sound, in 2D it sounds fine. If I specifically play it with a FMOD_3D switch then it sounds both louder and distorted, however I am testing this with headphones on and it defaults to stereo so I don’t think all speaks or not matters. Even if it were defaulting to 0.7 of each, which is actually what it seems like because if I manually set speaker levels on the 2D sound to 1 it sounds just as loud as 3D and equally distorted. The artists tell me it sounds like a mixer is processing it at lower than 16bits, but I’ve tried to tell it to output at 24bit etc with no effect.

FMOD_HARDWARE switch however avoids the distortion, but the volume discrepancy between 2d and 3d remains

  • You must to post comments
0
0

Just an update, was playing around with settings, the frequency, rate and resampler method has no effect on the problem of distortion on a sine wave,
however if I set the numoutputchannels = 2, which forces speakers to become raw, I do not hear this problem at default volumes, whatever that may be. If I override that with a subsequent call to setting the speakermode to stereo, the distortion problem again returns

result = FMOD_System_SetSoftwareFormat(system, 48000, FMOD_SOUND_FORMAT_PCM16, 2, 0, FMOD_DSP_RESAMPLER_LINEAR);
  • You must to post comments
0
0

Got email back from brett, seems like my problem is due to not setting the 3d attributes for the sound and listener, so when they play directly on top of each other this occurs. If I set the pos to be { 0, 0, 1.4f } it goes away. Experimenting with FMOD_HARDWARE and switchign between FMOD_2D and FMOD_3D, the 3D sound is definitely louder but without distortion, but if I apply the above position it doesn’t sound like there’s much of a volume discrepancy, so I wonder if the thread starter’s problem is also related to the position of the sound being played.

  • You must to post comments
0
0

I had a similar problem with lowder sounds… That is the 3d relative sound would become very loud… Louder than the volume I originally set the channel to when it was created.

I realized I forgot to set the group for that particular channel. I found that if the channel belongs to a channel group then the 3d relative volume will respect the channel’s volume and parent channel group(s) settings.

  • You must to post comments
0
0

Looks like this thread got sorta derailed…

Brett, any chance you could give me some feedback on these two questions?

[quote="Dogbert":1cpx4w4q]Would the situation you described also explain why there is increased LFE output when playing a 3D sound as opposed to a 2D sound? I would guess so, as I imagine the LFE crossover takes energy from every speaker’s output, so if more channels are playing, the LFE has more energy.

edit: Also, would setting the level to 1.0 in all speakers alleviate the problem? Is this what FMOD does internally when a 3D sound is at 0 distance?[/quote:1cpx4w4q]

  • You must to post comments
Showing 16 results
Your Answer

Please first to submit.