It is no longer possible to get 3D sound in Minecraft (at least with the Rapture3D OpenAL driver – other 3D OpenAL drivers, such as those found on Creative or ASUS high end sound cards, may also be affected).
Replacing OpenAL32.dll and OpenAL64.dll in bin/natives per Blue Ripple Sound's instructions no longer has an effect. Replacing them in the Minecraft version folder results in Minecraft overwriting them on startup with default Minecraft originals, or no sound at all.
Rapture3D has a dramatic effect on the Minecraft experience, as detailed in MC-1037 by Matthew Kerswill:
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.
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.
Comments 5
In my opinion, the ideal solution to this problem would be to provide the player with the option to change the OpenAL device in the game's options menu. The way I see it, it would look something like this...
There would be a button called "OpenAL audio device..." in the options menu. When you click it, it would open a new screen that looks similar to the language selection screen.
The first item in the list would be the default and it would be called something like "Use the OpenAL device provided by Minecraft (recommended)". This option would be for using the OpenAL library contained within the lwjgl-platform-2.9.0-natives-windows.jar file.
The rest of the items in the list would be the names of other OpenAL devices that are available on the user's system (if any). On Windows, these libraries can be found in System32 and SysWOW64. As far as I know, the OpenAL API provides the ability for a programmer to get a list of devices available on the system, so hopefully this wouldn't be too hard. Also many other games that use OpenAL provide this sort of selection box in their options menus.
http://connect.creativelabs.com/openal/OpenAL%20Wiki/Enumeration%20with%20OpenAL%20on%20Windows.aspx
----------------------
Alternative solutions would be:
Create the same solution as described above but without any user interface. Instead, the configuration would have to be done manually in the options.txt file. There would be a new line in there called something like "openALDeviceName" with default value of "Generic Software" (or perhaps "0" or just "" to represent the default device stored in the LWJGL jar file). Changing the value to something else like "Rapture3D" would cause the game to look for a system OpenAL device by that name (ie: one located in System32 or SysWOW64).
Program the launcher to look for the OpenAL files in another directory before looking in the LWJGL jar file. If they exist, use them instead of extracting the ones in the jar.
Add a check-box option to the launcher: "Don't do consistency check of LWJGL." or something like that.
Create functionality for resource packs to include mods to libraries.
You can specify custom libraries in the launcher_profiles.json file, and I believe you should be able to use this mechanism to specify an alternative OpenAL. However, I have not been able to find documentation on the format of the launcher_profiles.json file, so I'm not certain this will work, or even how you'd go about doing it.
Is this still a concern in the current Minecraft version 1.7.2 / Launcher version 1.3.4 or later? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.
This ticket is incomplete without the requested information, no response has been received within a reasonable time and we are assuming the issue has been resolved. Should your issue return please submit a new complete ticket with all available information.
Please review the guidelines before reporting issues.
In case you're interested, I recently asked for help on the Minecraft forums regarding this issue:
http://www.minecraftforum.net/topic/1907764-using-a-different-openal-driver/