SoundManager is free software that makes it easy to create and share Windows sound schemes. All Windows versions from Windows XP SP3 to Windows 11 are supported. Requires .NET 4.0 or greater.
SoundManager allows editing the current sound scheme, as well as defining metadata:
Main features are the following:
See User Manual for more details on how to use the program.
SoundManager
sound schemeSoundManager integrates into the system using the built-in sound scheme feature in Registry:
HKEY_CURRENT_USER\AppEvents\Schemes
The SoundManager
scheme is automatically created on first launch, pointing to:
C:\Users\<USER>\AppData\Roaming\SoundManager\Media\
Sound files such as Startup.wav
, Shutdown.wav
and so on are placed here. Since they are automatically played by the system, the SoundManager app is not required to run once the sound scheme has been set, except if you want to restore the startup/shutdown sounds on Windows 8+ (see below).
SoundManager handles registry differences between Windows versions, such as the balloon sound which does not play by default on Windows 7/8 and changes again on Windows 10.
Sound archive files are simply Zip files having the .ths
file extension:
SoundScheme.ths
|- Scheme.ini
|- Scheme.png
|- Startup.wav
|- Shutdown.wav
\- <OtherSounds>.wav
SoundManager can associate itself with this file type to conveniently load sound schemes, and you can manually edit them using any file archive utility such as 7-Zip or by renaming them to .zip
while displaying file extensions, then using the built-in Windows utility.
On Windows Vista and greater, the startup sound is no longer customizable by the user, the corresponding WAV file being embedded in C:\Windows\System32\imageres.dll
for performance reasons.
SoundManager can optionally patch imageres.dll to update the startup sound:
imageres.dll
is transferred from TrustedInstaller
to Administrators
imageres.dll
is backed up to imageres.dll.bak
imageres.dll
is moved to imageres.dll.old
since it is in use by the systemimageres.dll.bak
is copied to imageres.dll
and its WAV
resourse is updatedThis feature requires administrator privileges. If enabled, SoundManager will show an UAC prompt on launch. Due to imageres.dll
files being used by the system, SoundManager might not be able to patch the startup sound more than once between each system reboot. Also, major system updates might revert the startup sound to its original state and/or break the patch mechanism.
Initially implemented using Resource Hacker, SoundManager now patches the DLL directly using the Windows API (BeginUpdateResource, UpdateResource, EndUpdateResource) to replace the startup sound. This allows seamless patching on newer system versions that implement a distinct resource file for the DLL imageres.dll.mun
.
On Windows 8, the shutdown sound was removed for further performance reasons, as well as the logon and logoff sounds. SoundManager can emulate the playback of these sounds by launching a background process on logon:
This is typically how explorer.exe
was handling the thing on Windows 7, but you'll get yet another process sleeping in background, separate from explorer.exe
. As such, this feature can be disabled entierely in the SoundManager settings.
SoundManager also allows patching the startup sound on Windows 8 and greater. When used in combination with the background sound player process, the system itself will play the native startup sound, and the background process from SoundManager will play the other sounds. This helps reducing latency in startup sound playback since the system will play the startup sound with high priority.
In order to maintain support for Windows XP SP3, SoundManager targets .NET Framework v4.0 and builds under Visual Studio 2010. If you want to build without support for Windows XP, you should be able to build using the latest version of Visual Studio Community. The following instructions detail how to build with XP support.
For proper support of newer operating systems such as Windows 10, SoundManager needs APIs such as Task Scheduler 2.0 and ShutdownBlockReason, which aren't present on XP, so building under Windows XP will not work. Building was tested successfully under Windows Vista, 7, 8, 10 and 11 using Visual Studio 2010.
VS2010Express1.iso
VCSExpress
folder inside the virtual DVD drive or extracted ISO file and launch setup.exe
This section assumes you already have the Sound-Manager
git repository cloned or manually downloaded. In the following instructions, "project folder" refers to the main folder of the Sound-Manager
repository, where README.md
and SoundManager.sln
are housed.
SoundManager.sln file
.sln
part of the filename.Release
instead of Debug
in the dropdown menu next to the Build button. You can leave Debug
while making changes in the code and using the debugger in Visual Studio.Shift+Control+B
to build the entire SoundManager
solution. This should only take a few seconds to compile.SoundManager.exe
in <ProjectFolder>\SoundManager\bin\Release
DownloadSchemes.exe
in <ProjectFolder>\DownloadSchemes\bin\Release
.<ProjectFolder>\SoundManager\bin\Release
.
<ProjectFolder>\SoundManager\Lang
<ProjectFolder>\UserManual\Readme-En.txt
<ProjectFolder>\UserManual\Readme-Fr.txt
<ProjectFolder>\DownloadSchemes\bin\Release\DownloadSchemes.exe
<ProjectFolder> \SoundManager\bin\Release\SoundManager.exe
.SoundManager is provided under CDDL-1.0 (Why?).
Basically, you can use it or its source for any project, free or commercial, but if you improve it or fix issues, the license requires you to contribute back by submitting a pull request with your improved version of the code. Also, credit must be given to the original project, and license notices may not be removed from the code.