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?
2 Answers
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
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
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
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
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.