Automatically Change Windows System Sounds

Automatically Change Windows System Sounds

For those of you who are impatient, click here to download the completed executable, and see the results below.

Have you ever said:

“UGH, these Windows system sounds are so bland”

And then wished you could change them to something better, and do it to all your company computers, but didn’t want to go through the hassle of clicking through Windows system settings while explaining to your coworkers what you’re doing to their computer?


That’s why I made an executable that does all this with a double click. Below is how you can do it, too:

  1. Find the sound clips you want to use for system sounds, and convert them to a .wav file format. There are a bunch of free sites online that do this for you.
  2. Trim down the sound clips using any audio editor. I used Audacity. I recommend sounds clips no longer than 3 seconds, but there’s nothing stopping you from having the full Kanye album play whenever you open a file/get an email/empty the recycle bin.
  3. Create a text file in the same folder that has your sound clips. Give it whatever name you want, but change the file extension to .bat. If you can’t see the file extension, you’ll have to enable viewing system file extensions.
  4. Open a text editor and open this file in the text editor. I like to use Notepad++.
  5. What you have now is a .bat file that you can write code in and it will execute that code whenever it’s double clicked, we’ll put in some code that changes system sounds.
  6. Copy and paste the code below into your bat file, and change the file names to items that you have.

    REM The line of code below plays a sound whenever this script runs. Not necessary, but I like it
    Start powershell -WindowStyle hidden -c (New-Object Media.SoundPlayer "aheh.wav").PlaySync();
    REM    Start powershell                Starts a powershell window that will run an audio player, just 
    REM -WindowStyle hidden             Makes the window that this code runs in hidden from view
    REM -c                                
    REM (New-Object Media.SoundPlayer     Creates a new object that's a sound player 
    REM "aheh.wav").PlaySync();            Specifies the sound clip "aheh.wav" and tell our sound player to play it

    REM The line of code below makes a file path to store the sounds in, only if it doesn't already exist
    if not exist "C:\WindowsKanyeSounds" mkdir "C:\WindowsKanyeSounds" 
    REM if not exist "C:\WindowsKanyeSounds"            Checks if the file location exists
    REM This copies the local .exe files to the new file path in the music folder.

    REM The next few lines of code copy local files "uh.wav" and "oo.wav" to the new file path we made on earlier line
    echo f | xcopy /f "%~dp0\uh.wav" "C:\WindowsKanyeSounds"
    echo f | xcopy /f "%~dp0\oo.wav" "C:\WindowsKanyeSounds" 
    REM echo f         This bypasses having a user answer yes/no/all if asked to overwrite existing files
    REM xcopy          Copies files and directories, including subdirectories.
    REM /f             displays full source and destination file names when copying
    REM "%~dp0        This gets the file path of the folder the file is running in

    REM This changes the system sounds to the new files
    REM It gets into the registry, adds a new scheme, and changes two of the sounds to the sounds we just made
    @reg add "HKEY_CURRENT_USER\AppEvents\Schemes"                                             /t REG_SZ /d ".KanyeTest"  /f
    @reg add "HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\.Default\.Current"             /t REG_SZ /d ""       /f
    @reg add "HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\DeviceConnect\.Current"        /t REG_SZ /d "C:\WindowsKanyeSounds\uh.wav"       /f
    @reg add "HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\DeviceDisconnect\.Current"      /t REG_SZ /d "C:\WindowsKanyeSounds\oo.wav"       /f
    REM @reg add "item"        this goes to the item in the registry 
    REM /t                     this parameter specifies the type for the registry entry
    REM REG_SZ                this the registry type, a null-terminated string
    REM /d                  this parameter specifies the data for the new registry entry        
    REM /f                    this adds the registry entry without prompting for confirmation.

    REM waits for 3sec so Kanye laughs when the code completes
    REM this was a quick fix for something I didn't want to troubleshoot

  7. Save the file and double click to run it.

You’re free to drag & drop all these files onto a USB stick and run whenever you want. BUT. You can streamline the process even more by converting this .bat file into a .exe file. I used this free .bat to .exe file converter and had the settings so it ran as an invisible application in a temporary directory and deleted temporay files at exit. I had to also click the "include" tab and include the sound files I was using. 

If you want to change system sound settings back to defaults, type “change system sounds” in the Windows search bar, and change the Sound Scheme from (modified) to Windows Default.



There are currently no comments, be the first to post one.

Post a comment

Name (required)

Email (required)

Enter the code shown above: