-
Bug
-
Resolution: Fixed
-
Minecraft 1.4.2
-
Confirmed
When looking up and down, the apparent direction from which sounds are coming is not altered as it should be.
You may be wondering how I am able to perceive any difference between a sound that is coming from above me and a sound that is coming from below me in Minecraft. The answer is that I'm using a drop-in replacement OpenAL device called Rapture3D, which can render a stereo feed for headphones that implements psychoacoustic cues based on HRFT data to make sounds "feel" like they are coming from exactly where they really are.
To elaborate on the problem in Minecraft, consider the following example:
A zombie is trying to bash down a door and you are standing in the house looking directly at the door. You should hear bashing sounds coming from directly in front of you.
Now imagine that you tilt your character's head downwards so that you are looking at the floor. The bashing sounds should now appear to be coming from "above" you due to the downward rotation of your head. Similarly, if you tilt your character's head upwards so that you are looking at the ceiling, the bashing sounds should appear to come from "below" you.
In Minecraft, these directional alterations don't occur. Tilting your character's head up and down has no affect on the apparent direction from which sound is coming.
Every other game that I have used Rapture3D with correctly alters sound directions based on pitch rotations (ie: looking up and down). Therefore, my theory is that this problem was caused by an oversight while implementing OpenAL in Minecraft.
It must be noted that Minecraft does, in fact, take elevation information into account when placing sounds within the OpenAL system. I can hear sounds coming from above and below me while playing. However, if I tilt my character's head downwards to look at a sound source that is below me, it still sounds like the sound source is below me even though my character's head is now tilted to face it straight on.
In case you're interested, Rapture3D is an OpenAL device made by Blue Ripple Sound. Codemasters distributes the "Game" version of Rapture3D with their racing games like the DiRT series (from DiRT 2 onwards) and the F1 series (from F1 2010 onwards). To use Rapture3D in Minecraft, you need to purchase either the "User" or the "Advanced" version of Rapture3D from Blue Ripple Sounds's website.
Here are instructions for getting Rapture3D working in Minecraft (as quoted from the Blue Ripple Sound website):
In "%APPDATA%\.minecraft\bin\natives", back up OpenAL32.dll and replace it with the rapture3d_oal.dll from your Windows system32 or sysWOW64 directory. The file will need to be renamed.
Version 12.5 and later of Rapture3D also include a 64bit version, which can be used with the 64bit version of Minecraft. Instructions are much as above, except you need to replace OpenAL64.dll with rapture3d64_oal.dll from your Windows system32 directory.
If you're not 100% sure if you're using the 64bit version of Minecraft (which depends on which operating system and Java Runtime you're using), you might want to replace both DLLs.