diff --git a/OpenAL/include/alext.h b/OpenAL/include/alext.h
index 0447f2bb45..7d2a95274a 100644
--- a/OpenAL/include/alext.h
+++ b/OpenAL/include/alext.h
@@ -348,6 +348,51 @@ AL_API void AL_APIENTRY alGetSourcei64vSOFT(ALuint source, ALenum param, ALint64
#endif
#endif
+#ifndef ALC_EXT_DEFAULT_FILTER_ORDER
+#define ALC_EXT_DEFAULT_FILTER_ORDER 1
+#define ALC_DEFAULT_FILTER_ORDER 0x1100
+#endif
+
+#ifndef AL_SOFT_deferred_updates
+#define AL_SOFT_deferred_updates 1
+#define AL_DEFERRED_UPDATES_SOFT 0xC002
+typedef ALvoid (AL_APIENTRY*LPALDEFERUPDATESSOFT)(void);
+typedef ALvoid (AL_APIENTRY*LPALPROCESSUPDATESSOFT)(void);
+#ifdef AL_ALEXT_PROTOTYPES
+AL_API ALvoid AL_APIENTRY alDeferUpdatesSOFT(void);
+AL_API ALvoid AL_APIENTRY alProcessUpdatesSOFT(void);
+#endif
+#endif
+
+#ifndef AL_SOFT_block_alignment
+#define AL_SOFT_block_alignment 1
+#define AL_UNPACK_BLOCK_ALIGNMENT_SOFT 0x200C
+#define AL_PACK_BLOCK_ALIGNMENT_SOFT 0x200D
+#endif
+
+#ifndef AL_SOFT_MSADPCM
+#define AL_SOFT_MSADPCM 1
+#define AL_FORMAT_MONO_MSADPCM_SOFT 0x1302
+#define AL_FORMAT_STEREO_MSADPCM_SOFT 0x1303
+#endif
+
+#ifndef AL_SOFT_source_length
+#define AL_SOFT_source_length 1
+/*#define AL_BYTE_LENGTH_SOFT 0x2009*/
+/*#define AL_SAMPLE_LENGTH_SOFT 0x200A*/
+/*#define AL_SEC_LENGTH_SOFT 0x200B*/
+#endif
+
+#ifndef ALC_SOFT_pause_device
+#define ALC_SOFT_pause_device 1
+typedef void (ALC_APIENTRY*LPALCDEVICEPAUSESOFT)(ALCdevice *device);
+typedef void (ALC_APIENTRY*LPALCDEVICERESUMESOFT)(ALCdevice *device);
+#ifdef AL_ALEXT_PROTOTYPES
+ALC_API void ALC_APIENTRY alcDevicePauseSOFT(ALCdevice *device);
+ALC_API void ALC_APIENTRY alcDeviceResumeSOFT(ALCdevice *device);
+#endif
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/OpenAL/libs/Win64/OpenAL32.def b/OpenAL/libs/Win64/OpenAL32.def
new file mode 100644
index 0000000000..6cd7ffaa00
--- /dev/null
+++ b/OpenAL/libs/Win64/OpenAL32.def
@@ -0,0 +1,187 @@
+EXPORTS
+ alAuxiliaryEffectSlotf
+ alAuxiliaryEffectSlotfv
+ alAuxiliaryEffectSloti
+ alAuxiliaryEffectSlotiv
+ alBuffer3f
+ alBuffer3i
+ alBufferData
+ alBufferSamplesSOFT
+ alBufferSubDataSOFT
+ alBufferSubSamplesSOFT
+ alBufferf
+ alBufferfv
+ alBufferi
+ alBufferiv
+ alDeferUpdatesSOFT
+ alDeleteAuxiliaryEffectSlots
+ alDeleteBuffers
+ alDeleteEffects
+ alDeleteFilters
+ alDeleteFontsoundsSOFT
+ alDeletePresetsSOFT
+ alDeleteSoundfontsSOFT
+ alDeleteSources
+ alDisable
+ alDistanceModel
+ alDopplerFactor
+ alDopplerVelocity
+ alEffectf
+ alEffectfv
+ alEffecti
+ alEffectiv
+ alEnable
+ alFilterf
+ alFilterfv
+ alFilteri
+ alFilteriv
+ alFontsound2iSOFT
+ alFontsoundModulatoriSOFT
+ alFontsoundiSOFT
+ alFontsoundivSOFT
+ alGenAuxiliaryEffectSlots
+ alGenBuffers
+ alGenEffects
+ alGenFilters
+ alGenFontsoundsSOFT
+ alGenPresetsSOFT
+ alGenSoundfontsSOFT
+ alGenSources
+ alGetAuxiliaryEffectSlotf
+ alGetAuxiliaryEffectSlotfv
+ alGetAuxiliaryEffectSloti
+ alGetAuxiliaryEffectSlotiv
+ alGetBoolean
+ alGetBooleanv
+ alGetBuffer3f
+ alGetBuffer3i
+ alGetBufferSamplesSOFT
+ alGetBufferf
+ alGetBufferfv
+ alGetBufferi
+ alGetBufferiv
+ alGetDouble
+ alGetDoublev
+ alGetEffectf
+ alGetEffectfv
+ alGetEffecti
+ alGetEffectiv
+ alGetEnumValue
+ alGetError
+ alGetFilterf
+ alGetFilterfv
+ alGetFilteri
+ alGetFilteriv
+ alGetFloat
+ alGetFloatv
+ alGetFontsoundModulatorivSOFT
+ alGetFontsoundivSOFT
+ alGetInteger
+ alGetInteger64SOFT
+ alGetInteger64vSOFT
+ alGetIntegerv
+ alGetListener3f
+ alGetListener3i
+ alGetListenerf
+ alGetListenerfv
+ alGetListeneri
+ alGetListeneriv
+ alGetPresetivSOFT
+ alGetProcAddress
+ alGetSoundfontivSOFT
+ alGetSource3dSOFT
+ alGetSource3f
+ alGetSource3i
+ alGetSource3i64SOFT
+ alGetSourcedSOFT
+ alGetSourcedvSOFT
+ alGetSourcef
+ alGetSourcefv
+ alGetSourcei
+ alGetSourcei64SOFT
+ alGetSourcei64vSOFT
+ alGetSourceiv
+ alGetString
+ alIsAuxiliaryEffectSlot
+ alIsBuffer
+ alIsBufferFormatSupportedSOFT
+ alIsEffect
+ alIsEnabled
+ alIsExtensionPresent
+ alIsFilter
+ alIsFontsoundSOFT
+ alIsPresetSOFT
+ alIsSoundfontSOFT
+ alIsSource
+ alListener3f
+ alListener3i
+ alListenerf
+ alListenerfv
+ alListeneri
+ alListeneriv
+ alLoadSoundfontSOFT
+ alMidiEventSOFT
+ alMidiGainSOFT
+ alMidiPauseSOFT
+ alMidiPlaySOFT
+ alMidiResetSOFT
+ alMidiSoundfontSOFT
+ alMidiSoundfontvSOFT
+ alMidiStopSOFT
+ alMidiSysExSOFT
+ alPresetFontsoundsSOFT
+ alPresetiSOFT
+ alPresetivSOFT
+ alProcessUpdatesSOFT
+ alSoundfontPresetsSOFT
+ alSource3dSOFT
+ alSource3f
+ alSource3i
+ alSource3i64SOFT
+ alSourcePause
+ alSourcePausev
+ alSourcePlay
+ alSourcePlayv
+ alSourceQueueBuffers
+ alSourceRewind
+ alSourceRewindv
+ alSourceStop
+ alSourceStopv
+ alSourceUnqueueBuffers
+ alSourcedSOFT
+ alSourcedvSOFT
+ alSourcef
+ alSourcefv
+ alSourcei
+ alSourcei64SOFT
+ alSourcei64vSOFT
+ alSourceiv
+ alSpeedOfSound
+ alcCaptureCloseDevice
+ alcCaptureOpenDevice
+ alcCaptureSamples
+ alcCaptureStart
+ alcCaptureStop
+ alcCloseDevice
+ alcCreateContext
+ alcDestroyContext
+ alcDevicePauseSOFT
+ alcDeviceResumeSOFT
+ alcGetContextsDevice
+ alcGetCurrentContext
+ alcGetEnumValue
+ alcGetError
+ alcGetInteger64vSOFT
+ alcGetIntegerv
+ alcGetProcAddress
+ alcGetString
+ alcGetThreadContext
+ alcIsExtensionPresent
+ alcIsRenderFormatSupportedSOFT
+ alcLoopbackOpenDeviceSOFT
+ alcMakeContextCurrent
+ alcOpenDevice
+ alcProcessContext
+ alcRenderSamplesSOFT
+ alcSetThreadContext
+ alcSuspendContext
diff --git a/OpenAL/libs/Win64/OpenAL32.lib b/OpenAL/libs/Win64/OpenAL32.lib
new file mode 100644
index 0000000000..88dfed146a
Binary files /dev/null and b/OpenAL/libs/Win64/OpenAL32.lib differ
diff --git a/OpenAL/libs/Win64/libOpenAL32.dll.a b/OpenAL/libs/Win64/libOpenAL32.dll.a
deleted file mode 100644
index 7661b714af..0000000000
Binary files a/OpenAL/libs/Win64/libOpenAL32.dll.a and /dev/null differ
diff --git a/bin/OpenAL32.dll b/bin/OpenAL32.dll
new file mode 100644
index 0000000000..a718bdc5b5
Binary files /dev/null and b/bin/OpenAL32.dll differ
diff --git a/bin/soft_oal.dll b/bin/soft_oal.dll
deleted file mode 100644
index b47ff952b7..0000000000
Binary files a/bin/soft_oal.dll and /dev/null differ
diff --git a/rpcs3/rpcs3.vcxproj b/rpcs3/rpcs3.vcxproj
index edf50d5891..34fd3d5946 100644
--- a/rpcs3/rpcs3.vcxproj
+++ b/rpcs3/rpcs3.vcxproj
@@ -155,12 +155,12 @@
true
true
true
- wxmsw31u_adv.lib;wxbase31u.lib;wxmsw31u_core.lib;wxmsw31u_aui.lib;odbc32.lib;odbccp32.lib;comctl32.lib;ws2_32.lib;shlwapi.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;rpcrt4.lib;wxtiff.lib;wxjpeg.lib;wxpng.lib;wxzlib.lib;wxregexu.lib;wxexpat.lib;wsock32.lib;wininet.lib;avcodec.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;libOpenAL32.dll.a;asmjit.lib;%(AdditionalDependencies)
+ wxmsw31u_adv.lib;wxbase31u.lib;wxmsw31u_core.lib;wxmsw31u_aui.lib;odbc32.lib;odbccp32.lib;comctl32.lib;ws2_32.lib;shlwapi.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;rpcrt4.lib;wxtiff.lib;wxjpeg.lib;wxpng.lib;wxzlib.lib;wxregexu.lib;wxexpat.lib;wsock32.lib;wininet.lib;avcodec.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;OpenAL32.lib;asmjit.lib;%(AdditionalDependencies)
%(IgnoreSpecificDefaultLibraries)
true
- ..\wxWidgets\lib\vc_x64_lib;..\ffmpeg\Windows\x86_64\lib;..\OpenAL\Win64
+ ..\wxWidgets\lib\vc_x64_lib;..\ffmpeg\Windows\x86_64\lib;..\OpenAL\libs\Win64
0x200000000
true
false