Bug #3674

Some ambient sfx play louder than they should

Added by August Avatar about 1 year ago. Updated 4 months ago.

Sound/Other Media
Target version:
Start date:
% Done:


Operating system:


An example of this is the myriad number of ancestral tombs dotting the landscape. There are a number of (invisible) sources therein that play ambient "ghostly" noises. On similar volume settings, OpenMW will play these effects much louder than vanilla Morrowind from the same distance. Whether the radius of the effect is larger or the effect is simply played back louder, I find it hard to tell.


#1 Updated by scrawl . about 1 year ago

A more specific example with coordinates would be useful.

#2 Updated by August Avatar about 1 year ago

coc "Ilunibi, Soul's Rattle" and setpos x 4165.44, y 3759.45, z 12170.75
(minor curiosity: the z coordinate placed the character slightly above the ground in OpenMW despite both characters being ostensibly the same height - male, dark elf)

You will be placed in front of the 6th house ash altar.

In order of strength, the ambient effects from this position in vanilla MW are as follows:
1) crackling fire of the braziers surrounding you
2) drops of water from the cavern roof
3) the faint sound emanating from the ash statue on the altar
4) the sound of wind blowing through the cave tunnels
5) the ghostly noises emanating from the 6th house bells at the rear of the cave

5 is virtually inaudible until you move closer to its source at the rear of the cave.

In OpenMW, the order of strength almost appears to be the opposite - that is, 5,4,3,2,1.
You will hear 5 from a huge distance away. You must retreat to about y 2829, past the braziers, before you no longer hear it.

It's also bugged in vanilla, but you have to do something specific: turn up the "effects" volume all the way to max (it has to be max) while in the room and you'll see that 5, and only 5, will play at full strength from anywhere in the room. You need to retreat from the altar room to kill it, and it will then play at the correct volume even at max upon returning - unless you adjust the volume in its vicinity again. That may be useful in diagnosing the problem.

#3 Updated by Marc Zinnschlag 10 months ago

  • Category set to Sound/Other Media
  • Target version changed from openmw-0.42 to openmw-0.43

#4 Updated by Alexei Dobrohotov 6 months ago

  • Status changed from New to Confirmed

#5 Updated by Alexei Dobrohotov 5 months ago

  • Target version changed from openmw-0.43 to openmw-1.0
  • Operating system changed from Windows to Other

#6 Updated by Andrei Kortunov 4 months ago

Is this the same issue as with Rieklings screams (which was fixed in OpenAL 1.17), or a different one?

#7 Updated by Alexei Dobrohotov 4 months ago

It might be. I'll retest it.
However, OpenAL-Soft is 1.16.0 in Ace's Windows builds (even though it's 1.17.2 in builds generated with, so even if it's the same issue, it can't be closed yet.

#8 Updated by Alexei Dobrohotov 4 months ago

Hm. Interesting. I can't reproduce it anymore even with Ace's nightly build (OpenAL-Soft is still 1.16.0). Maybe kcat's improvements did the magic here too.

#9 Updated by Alexei Dobrohotov 4 months ago

No, wait, the ghostly noises are only slightly quieter than in 0.42.0.

#10 Updated by Alexei Dobrohotov 4 months ago

There's no difference in that room when OpenAL-Soft is 1.18.1 with an up-to-date build.

#11 Updated by Andrei Kortunov 4 months ago

All these sounds are played by scripts, attached to activators.
Here is an example of such script:

if ( CellChanged == 0 )
    if ( GetSoundPlaying "Crystal Ringing" == 0 )
        PlayLoopSound3DVP "Crystal Ringing", 1.0, 1.0

Volume=1.0 in this case means that a sound will be played with a default volume from editor, not with 1.0 volume.

Also I noted that "Spirit Ambient Voices" (sound 5) has MinRange=0 and MaxRange=0. Does it mean that a max range will be calculated automatically? Maybe OpenMW uses a too high max range in this case.
Other sounds have MinRange and MaxRange set manually.

#12 Updated by Chris Robinson 4 months ago

I have a feeling vanilla only allows a certain number of instances of a particular sound to play at a time, selecting the 2 or 3 closest ones so they don't all add together. Currently we have a hack to auto-kill scripted sounds when they're more than 2000 units away to fix the overly-loud ghostfence hums and Vivec waterfalls, which seems rather arbitrary when you consider sounds have a defined max distance that they could be silenced at. Larger areas that spread out sound activators would be fine with this since it's unlikely to have more than a couple in range at a time, but smaller areas can have several instances of the same sound in the 2000-unit radius.

Also available in: Atom PDF