How to Design a Pleasant Notification Sound

Max Rovensky
8 min readMay 18, 2018

--

Recently I was working on an app, that was displaying a notification when a timer set by user reaches zero. The notification needed to really attract user’s attention, so I decided to use a sound with it.

I also didn’t want to use any of Apple’s default sounds. Most people are pretty used to them and are more likely to dismiss yet another notification with Tritone.

So I decided to design my own sound. But what goes into desiginig a notification tone that won’t annoy people? That’s what we’re going to find out today.

So, here’s the end result I came up with:

Let’s break it down and talk about what I learned while creating it. I’ll try to explain it with as little musical terminology as I can, so bear with me.

Keep in mind, that the “rules” described in this post aren’t really rules. They’re more like opinionated guidelines that I believe will work in most cases.

Okay, let’s get started.

The Melody

The first and the most important part of designing your tone is going to be a melody. There are few decisions you have to make here:

  • Is it gonna be a single note or a chord
  • If it’s a note, what note should it be
  • If it’s a chord, is it major or minor and what key
  • How low or high should it sound

Let’s break it down.

Note vs. Chord

Whether to use a single note or a chord is completely up to you. Some people prefer “Tritone”, some like “Tone”. There are no rules here, it’s your creative decision.

What Note Should I Choose?

Based on my tryouts, if you choose to go with a single note, the range that works best is between D# and A#. And now all of you, music majors are like “They’re flats, not sharps you uneducated individual”. For the simplicity of this post, I’m calling all black keys sharps.

How High Should I Play It?

It shouldn’t be too low, but putting it too high will pierce people’s ears. I suggest starting betewen C3-C4 and if you need to, explore C4-C5, but be careful around there.

Major vs. Minor Chords

I’ve been testing this for quite a while, and conclusion I came to is — neither.

A notification sound (unless very relevant to your app’s aesthetics) should not be happy, or sad. It should be neutral. So if you want to use multiple notes, I suggest to only use the 1st and the 5th of whatever key you choose. This will give you a basic chord that’s neither major nor minor, but sounds good. Famous “Tritone” actually follows this, as it plays D - A - D.

And now some of you are like

Oi Max, what the hell is a 1st and what the hell is a 5th? I don’t do music theory, I’m a software developer!

Well, basically, the 1st is whatever the note you choose. The 5th is a note that’s 7 notes to the right from that note. Why 7 notes when it’s called “the 5th”? That has to do with scales which we’re not gonna get into, because people wrote books on scales.

Just remember, pick a note, count 7 notes to the right, that’s your 5th. For instance for the C note, the 5th would be G. Playing them together will always sound good.

Range of a Chord

Ideally, your chord shouldn’t leave an octave. In this context by “octave” I mean the range between the note you chose as your 1st up to the next occurence of that note. For instance if your root is E3, try to avoid going past E4. Of ocurse this is not always the case and you should totally experiment with it, but this works most of the time.

The Tempo

Unless you decided to go with just one note, you also need to decide on a tempo. After analyzing a bunch of notification tones and experimenting with my own, I figured out that tempos that work the best are the ones between 110 BPM and 120 BPM. It’s not too slow for it to sound boring and not too fast so user can make out what it sounds like.

The Sound

This is the part that has the least rules and requires most of your creativity. Picking a sound is tough. The general idea here is that you don’t want an EDM supersaw synth, but you also don’t want a sustained cello.

Generally I would recommend going with something soft that has good presence in 700–2000Hz frequency range and has a decent, but not too sharp transient.

And now some of you are like

Oi Max, I said I don’t do music. What the hell’s a “transient”?

A transient is the “click” in the beginning of any sound. When you hit the piano real hard, that hit in the beginning is a transient. And if you press really soft, you won’t really hear it.

Why does the transient matter? That’s what’s gonna grab attention of a person who hears it. Some people even choose to create notification sounds that are literally nothing except transients. Slack, I’m looking at you with your clicky sound.

So How Did You Do It?

Let’s talk about the specific tone I created and how I came up with it.

The software I’m using is Logic Pro X, but the workflow is similar in any other DAW. The only issue is that the synthesizer I’ll be using later is exclusive to Logic.

So, melody wise I decided to go with a chord in the key of D#. Primarily because I liked how A# sounds and it was even cooler if you play A#>D# really quickly.

So I started out by creating an empty instrument track, dropping Logic’s “Alchemy” synthesizer on it with “Initialize Preset” sound and writing down the notes in piano roll. I decided to do 1515 because I liked the sound of it. It created a sense of forward motion (and some urgency I guess), which I thought was perfect for an expiring timer.

Notes in Piano Roll

The tempo I chose was 120 BPM as it helped with that sence of motion.

After this I started to look for the sound I wanted. I had an idea of what I wanted to do and how to do it, since I have some experience with synths (shameless self-promotion). But before jumping into the synth myself I decided to go through built in sounds, as Alchemy has a ton of them.

And I found the perfect sound in Alchemy’s “Mallets” section, which was “Kalimba Morph”.

Alchemy preset browser

The preset didn’t even need any tweaking, it was exactly what I was looking for. It had a perfect frequency balance and sweet delay (echo) setting.

However, after listening to it a few times it seemed to me like it was a little too low. So I duplicated my notes and moved them 1 octave up. This allowed me to fill more high end and mace the sound more “complete”.

Piano roll with added notes

Also notice that I lowered the velocity of the high notes. I did it because they were cutting in a little too much for my taste. Alchemy is a velocity sensitive synth, but if an instrument you choose doesn’t do it, you can duplicate the track and lower it’s volume.

Final Touches

I also did a tiny bit of post processing on the sound to make it sound a little cleaner and better.

Equalizer

First one was an EQ that brought up some high frequencies and a little bit of low end. It also cuts all the unnecessary “border” frequencies:

Equalizer settings

Why did I boost these specific frequencies? Well, the low end is generally a more “pleasant” frequency range for a human ear, and that’s where we tend to focus our attention when listening to things. The high end on the other end helps make the sound “brighter”, which increases the “hey, I’m here” factor of the notification. It will also help the sound to cut through the playing video for example.

But you should be extremely careful when it comes to boosting your high end. High end is where your loudness is, but it’s also where the irritation and ear-drilling happens. Here’s an awesome frequency chart by Izotope:

Frequency chart

What you want to boost is “Presence” and “brgiht” on the blue line at the bottom. You definitely don’t want any air.

Transient Limiting

Remember that whole section about transients and how important they are? Well, while you definitely want a clear transient, you also don’t want it to be obnoxios. Users won’t like being hit in the face with the notification sound if they’re wearing headphones.

In my opinion, the transient in the sound I choose was just a tiny bit too prominent and I needed to make it a little quieter.

There are a lot of tools and plugins for transient control. In fact, you can do it with pretty much any compressor, but I’m a fan of convenience and magic, so I used Transient Master plugin by Native Instruments:

Transient master settings

Lowering the attack just a little bit got me exactly to the sound I wanted.

Conclusion

And that is how I created a notification sound that doesn’t hurt my brain. I hope this post helps you with your sound design and help you create the world’s next best known notification sound.

If you have any questions or want to school me on music theory, hit me up on Twitter, I’ll be happy to discuss :)

Thanks for reading and have an amazing day!

--

--

Max Rovensky

A JavaScript guy. Certified climber. Because those two things are totally related. Currently based in Bali.