Make a notification sound you actually want to hear
Drag the dial through 30 sounds, shape it, download the file. Then let Chirpy play it for one app, channel, or person on your Mac.
You made the sound. Chirpy makes your Mac play it.
Chirpy assigns any sound to any notification rule on macOS: an app, a channel, a person, or a keyword. Slack, Teams, Discord, Mail, Messages, Calendar, your build tool — anything that can post a notification. Upload this file once and #deploys can sound like this while everything else stays quiet.
Which sound for what
All 30 presets, what each one sounds like, and where it earns its place. Click any row to hear it.
| Name | Character | Good for |
|---|---|---|
Soft chime | Soft two-note bell | Your default for direct messages |
Hush | Breathy low swell | Busy channels you still want to track |
Sigh | Falling breath | Dismissals and “nothing to do here” |
Breath | Filtered air, no pitch | Background chatter you can ignore |
Pebble | Tiny glass tap | Low-priority pings, all day long |
Marimba | Round wooden note | Everyday work notifications |
Woodblock | Dry hollow knock | Task done, item checked off |
Kalimba | Plucked metal tine | Personal apps: notes, journals, habits |
Claves | Sharp wooden click | Quick confirmations |
Log drum | Deep hollow thud | Needs a look, but not right now |
Temple bell | Long bronze decay | Calendar events and reminders |
Hand bell | Bright ringing bell | The one person you never miss |
Music box | Delicate high bell | Family and personal messages |
Glass tap | Fingernail on a glass | Small wins: payments, signups |
Triangle | Thin lingering ping | End of a timer or focus block |
Water drop | Rising bloop | Something new arrived |
Rain tick | Single crisp speck | High-volume feeds |
Bubble | Two rising blips | Casual social apps |
Leaf | Soft dry rustle | Ambient status changes |
Purr | Low warm rumble | Quiet hours: felt more than heard |
Coin | Two-step arcade blip | Sales, signups, tips |
Laser | Fast downward zap | Fun channels and game nights |
Boot up | Sweep upward | A build or job starting |
Power down | Sweep downward | Failures and disconnects |
Typewriter | Clack with a ding | Writing and drafting apps |
Two-note up | Question, rising | Something is waiting on you |
Two-note down | Answer, falling | Finished, nothing to do |
Harp glide | Four-note run upward | Moments worth looking up for |
Doorbell | Classic ding-dong | Mentions and @here |
Knock knock | Two dull knocks | Urgent: on-call, incidents |
What makes a ping stressful, and how to fix it
Four properties separate a calm notification sound from an anxious one. Each maps to a slider above.
It hits like a door slam
Default alerts go from silence to full volume in about a millisecond. Your startle reflex can't tell the difference between that and a dropped plate. Every preset here opens with a soft attack instead.
Fix: start in the Calm rangeIt sits where your ears are rawest
Human hearing is most sensitive between 2 and 4 kHz, so alarm designers put alerts exactly there. A message from a friend is not a smoke alarm.
Fix: drag Pitch down a few semitonesIt's all edge
Hard, buzzy harmonics read as urgency even at low volume. Warmer tones carry the same information without the flinch.
Fix: keep Tone at warm or belowIt stops dead
A short natural tail tells your brain the moment has passed. A hard cutoff feels mechanical and unresolved, like a sentence with no period.
Fix: a touch of Space is enoughWe wrote a longer piece on this conditioned flinch: The anxious ping.
How this page works
- Synthesis: raw Web Audio API, zero dependencies. Every sound is a JSON recipe of tone and noise layers, and the graph builder is a pure function of
(BaseAudioContext, recipe, startTime). - Render: the recipe runs through an
OfflineAudioContextinto anAudioBuffer, faster than realtime. The player, the waveform and the download all read from that same buffer, so what you hear is byte for byte what you get. - File: WAV written straight from the buffer, no encoder shipped. When MP3 lands it will be
wasm-media-encoders(MIT, about 66 KB gzipped). - Sharing: the preset plus the four slider values live in the URL hash. Nothing is stored on a server because there is no server.
Questions
Is this notification sound maker free?
Yes. No account, no watermark, no strings on the file. The sound you design is yours to use anywhere.
Why does it export WAV and not MP3?
WAV comes straight out of the render buffer with zero quality loss, and macOS plays it natively everywhere. MP3 would mean shipping an encoder to your browser. It may come later.
Can my Mac play this for one app, channel, or person?
Not on its own. macOS gives each app a single notification sound, and apps like Slack, Teams, Mail, and Messages don't split it per channel, sender, or keyword. That is the exact gap Chirpy fills, with rules like #deploys plays this, mail from Stripe plays that.
Which sound should I pick for what?
Calm and Nature sounds suit anything that arrives often, because a soft attack doesn't trigger your startle reflex. Bells carry further, so they fit calendar events and the one person you never want to miss. Signal sounds have two or more notes, which reads as a message and works for mentions or incidents. Retro sounds are unmistakable but loud, so keep them for channels you actually enjoy.
Do you upload or store my sounds?
No. Synthesis, rendering, and the WAV file all happen inside your browser. The share link encodes the recipe in the URL itself, so sharing a sound is sharing a few numbers.