Skip to content
Manage and share Windows sound schemes.
C#
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Screenshots
SoundManager
UserManual
.gitignore
README.md
SoundManager.sln

README.md

SoundManager

SoundManager is a free software allowing to easily create and share Windows sound schemes. All Windows versions from Windows XP SP3 to Windows 10 are supported. Requires .NET 4.0 or greater.

Overview

The main UI allows managing the current sound scheme, as well as defining metadata:

SoundManager main UI

Main features are the following:

  • Load and test sound files for each event
  • Define metadata such as thumbnail, author, description
  • Export and import sound schemes using archive files
  • Import sound schemes created with the Sound applet
  • Auto-convert sounds to WAV format (Windows 7+)
  • Patch Windows Vista/7 startup sound (Admin required)
  • Play startup/shutdown sounds on Windows 8 and 10

User Manual

See User Manual for more details on how to use the program.

How it works

The SoundManager sound scheme

SoundManager 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 Archives

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.

Windows Vista/7 startup sound

On Windows Vista and Windows 7, 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:

  • Ownership of imageres.dll is transferred from TrustedInstaller to Administrators
  • If not already done, imageres.dll is backed up to imageres.dll.bak
  • Existing imageres.dll is moved to imageres.dll.old since it is in use by the system
  • imageres.dll.bak is copied to imageres.dll and its WAV resourse is updated

This feature requires administrator privileges. If enabled, SoundManager will show an UAC prompt on startup. 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.

Windows 8/10 startup and shutdown sounds

On Windows 8, the startup and shutdown sounds where removed for further performance reasons. SoundManager can emulate the playback of these sounds by launching a background process on logon:

  • Process spawns an invisible window, mandatory for delaying system shutdown
  • Process plays Startup or Logon sound and goes inactive
  • On logoff, the process is waken up and sets up a ShutdownBlockReason
  • Process determines if the Logoff or Shutdown sound should be played
  • Sound is played, then ShutdownBlockReason is removed and the process exits

This is typically how explorer.exe was handling the thing on Windows 7, with some drawbacks:

  • Startup sound is played with a delay because Windows 8/10 delays startup processes
  • 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.

License

Easy Macros 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.

You can’t perform that action at this time.