11

I would like to change the alert noise from the default dripping noise that you hear when, for instance, you try to alt-tab with only one application open. I didn't find it in the sound settings so how do you change it?

1
  • I have a feeling this is not possible...
    – user3
    Oct 29, 2015 at 17:18

2 Answers 2

8

elementary OS uses XDG sound themes. Although there isn't currently a way to change or edit them from within Switchboard, it's quite easy to do manually.

Rather than edit the default freedesktop theme directly, lets create our own custom sound theme. It's really not that hard and has the benefit of being portable, meaning you can easily share it with others or back it up to transition between system upgrades etc. I will demonstrate changing the alert sound from the default drip to something else. I suggest skimming through the specification linked above as it explains the directory structure and mandatory file names in a lot more detail than I will. Also take a look at the default freedesktop theme located in /usr/share/sounds/freedesktop/

Creating a Custom Sound Theme

  1. First we will create the basic directory / file structure-

    sudo mkdir /usr/share/sounds/custom
    sudo mkdir /usr/share/sounds/custom/stereo
    sudo touch /usr/share/sounds/custom/index.theme
    
  2. Then we will edit the settings of our new theme

    sudo scratch-text-editor /usr/share/sounds/custom/index.theme
    

    Add the following, taking care not to include any extra whitespaces...

    [Sound Theme]
    Name=custom
    Directories=stereo
    
    [stereo]
    OutputProfile=stereo
    
  3. Now we will copy an existing sound into our theme. By renaming it to bell.oga the system automatically uses it as the system alert sound. See the specification linked above and the existing freedesktop theme for more information on file naming conventions.

    sudo cp /usr/share/sounds/gnome/default/alerts/bark.ogg /usr/share/sounds/custom/stereo/bell.oga
    
  4. Then we tell the system to use our new theme with the following command-

    gsettings set org.gnome.desktop.sound theme-name custom
    

    To rese it to the default 'freedesktop' theme enter-

    gsettings reset org.gnome.desktop.sound theme-name
    

That's it! Your system alert is now obnoxious. Most likely you'll want to use a different sound. If none of the other freedesktop sounds are to your liking, there are many sound themes available on gnome-look.org that might have your jam. Simply copy the desired files into your ../custom/stereo/ folder using the appropriate filenames.

If you have the skills and want to create your own sounds, note the specification dictates that-

The sounds files must be one of the types: WAV/PCM 8-48kHz, 8/16 bits or OGG/Vorbis I. The extension must be ".wav", or ".oga" respectively (in lower case). It is not recommended to use ".ogg" extension, but it is also supported for legacy reasons.

How it Works

Once our theme is enabled with the gsettings command in step 4, the system will always look for the sound files in the folders specified in your index.theme file first. If it cannot find it there it will always fall back to the freedesktop theme. By doing the steps above we have ensured that it will favour our new bell.oga over the default version. As there are no other sounds in our custom theme, they will be inherited from the freedesktop theme. Also note, if for example you just wanted to turn a particular sound off, create an empty file with the .disabled file extension in place of a sound file. eg-

sudo touch /usr/share/sounds/custom/stereo/bell.disabled

One last thing, I'm sure it is tempting to bypass all of the steps above and just modify the ../freedesktop/stereo/ files directly. While it's probably harmless, it's a kludgy way to go.

1
  • And how I test the bell sound? How to trigger it? Aug 13, 2017 at 21:55
0

Late to the party but go to Applications -> Sound -> Sound Effects and Mute it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.