Snore Timeline logo Snore Timeline Support Download
Recording

How Sound Detection Works

What the app listens for, how it decides, and what the numbers mean.

On this page

Snore Timeline turns a night of raw audio into labeled events. It's easier to trust those labels when you know where they come from, so this page goes through the pipeline. Which sounds the app listens for, how it decides what makes it onto your timeline, what the decibel numbers and the orange waveform colors mean, and why a noisy room changes the results.

The sounds the app classifies

The app doesn't treat every noise as a snore. It sorts what it hears into six main categories:

  • Snoring, the main event. Each one lands on the timeline with its volume.
  • Gasps, sharp intakes of breath, which often come right after a breathing pause.
  • Coughs, counted on their own so they don't get mixed in with snoring.
  • Sleep talking: speech, whispers, and mumbling.
  • Laughter. People do laugh in their sleep.
  • Loud sounds, anything louder than your room's background noise, or a level you set. More on that below.

Snoring, gasps, and coughs make up the respiratory group. The app also follows your breathing through the night. If it goes quiet for about 10 seconds or more and then a recovery sound comes through that's clearly louder than the silence before it, that gets flagged as a breathing disruption. Breathing Disruptions goes into those properly.

So how does it tell a snore from a cough? Each type of sound has its own acoustic fingerprint. Snoring carries most of its energy in the low and mid range, roughly 50 Hz to 3 kHz, and that sets it apart from speech, coughs, and room noise. The classifier looks at both the shape of the sound and its frequency makeup before it commits to a label. Most background noise doesn't get one at all.

It gets things wrong sometimes. When two sounds overlap, or a duvet muffles one, an event can end up in the wrong category. If a label looks off, play back that moment and hear for yourself. And a reminder that all of this is audio analysis for your own insight. The app doesn't diagnose sleep apnea or anything else.

Real-time analysis, no sampling

PRIVATE TO YOUR DEVICE Microphone listens all night On-device AI real time Snore Gasp Cough Sleep talk Breathing Detected events
Audio gets classified the moment it happens, on your phone. Every sound is labeled in real time, and none of it goes anywhere.

Some apps save battery by sampling. They wake up every so often, listen for a moment, and go back to sleep, so whatever happens in between is lost. Snore Timeline listens the whole time, using Apple's Sound Analysis framework on the phone itself. Every sound gets processed as it happens, and nothing is uploaded.

You'll notice two things as a result:

  • Detection starts right away. There's no calibration or setup step. The first snore of the night counts the same as the hundredth.
  • The timeline has no holes. Because the app never stops listening, a quiet gap means the room was quiet, and those gaps feed the breathing and sleep stage analysis.

All of it runs on the device. Your audio never leaves your phone. The Privacy Policy spells out what that means in practice.

Live detection also means the app can do something about snoring while it's happening. Snore Nudge plays a short tone from your iPhone, or taps your wrist through Apple Watch, once snoring is confirmed, which is often enough to get you to roll over. Most trackers can only tell you about it in the morning.

Sensitivity and false positives

Not every sound makes the cut. The app only logs an event when the sound is a strong enough match for one of its categories. That's what keeps a creaking radiator from filling your night with phantom snores.

You set how strict that bar is with the sensitivity setting. There are five levels, Minimal, Low, Balanced, High, and Maximum, and Balanced is the default.

  • Minimal only catches clear, loud snoring and ignores nearly everything else. Use it in a noisy room, or when your partner's snoring keeps setting it off.
  • Maximum catches very faint snores, at the cost of more background noise and more false detections.
Tip

Let the timeline tell you which way to go. Lots of stray events that play back as nothing? Lower the sensitivity. Snores you can hear in the recording that the app missed? Raise it. Balanced is a good starting point for most people.

Decibels and frequency colors

Loudness shows up throughout the app in dB SPL, on a scale that runs from about 28 dB (near silence) up to 105 dB (painfully loud). Read it like a volume meter. As a rough guide to snoring:

  • Below about 40 dB: faint snoring
  • 40 to 48 dB: light snoring
  • 48 to 56 dB: audible snoring
  • 56 dB and above: heavy snoring

Each episode gets both a peak and an average level. Treat the numbers as personal reference. A phone on a nightstand is not a calibrated meter.

The app knows which microphone is in use, and it corrects the readings while your phone is playing audio, like music or a podcast.

Every sound is a blend of frequencies. Frequency is how fast the air is vibrating, measured in hertz (Hz). Low sounds vibrate slowly and high sounds vibrate fast. Press play, drag the slider, and watch the wave tighten as the pitch climbs:

160 Hz
Drag the slider. Higher pitch vibrates faster
The bands below use the same scale. Slow vibrations are the low band, fast ones are the high band. Snoring lives down low. The faint hiss of an exhale lives up high. You'll need headphones or speakers to hear it.

Zoom all the way in on the waveform and each bar splits into stacked shades of orange, showing where that sound's energy sits across the frequency range:

  • Darker orange: low frequencies, roughly 50 to 250 Hz, the deep rumble of snoring.
  • Medium orange: mid frequencies, about 250 to 1500 Hz, harmonics and vowel sounds.
  • Bright orange: high frequencies, about 1500 to 8000 Hz, sibilants like the "s" in "sss".
0:00 High Mid Low
Two real recordings, colored the way the app paints the waveform, with each bar split into low, mid, and high energy. Press play and follow the line. On the breathing clip, watch the bright high band flick up on every exhale even though the sound stays soft. On the snoring clip the dark low band takes over. When that high-band rhythm stops, that's what points to a possible breathing disruption.

For breathing, the bright high band is the one that matters. Every exhale makes a faint hiss, a soft “sss”, and that hiss sits up in the high band. Snore Timeline follows it to track your breathing all night, and that tracking is what breathing-disruption detection and the sleep stage estimates are built on. It's also why a phone that's too far away, or a noisy room, weakens both features. The hiss is quiet, so it's the first thing to disappear.

You only get the frequency detail on the 1-second bars, one step out from the real-time view. At wider zoom levels the bars are solid. Timeline & Playback covers reading the waveform as a whole.

Try it

Zoom all the way in on a quiet stretch of your night and look for short bursts of bright orange with almost nothing underneath them. That's your breathing.

Full app screen
Zoomed in Zoomed-in waveform with stacked orange frequency bands during a snoring episode
Frequency colors on the 1-second bars.

Loud Sound Detection

The classifier takes care of snoring and sleep talking by itself. Loud Sound Detection is for everything else. It creates an episode whenever a sound rises above a volume threshold, whatever the sound turns out to be. That picks up the noises the classifier can't name, like whispered sleep talking too quiet to count as speech, teeth grinding, the rustle of you turning over, or whatever else happened in the room.

The threshold has two modes, set under Threshold Mode in Settings:

  • Automatic, the default. The app measures your room's background noise while you record and keeps the threshold just above it. It re-measures every minute, so a fan that comes on or a window that opens raises the threshold and a quieter room lowers it, and each night starts from the last night it measured. Settings shows the measured level, which night it came from, and the dB it resolves to.
  • Fixed. A dB slider you set yourself, for when you want the same line every night. If you had set a level before Automatic existed, you're still on Fixed at that level.

The quieter the room, the lower the threshold sits, and the more you'll catch.

Sometimes you'll see things filed under Loud Sound that you were sure were snores. That happens when background noise covers up the breathing patterns the snoring classifier relies on. It needs a clean signal to call something a snore, and once a room sits above about 45 dB at rest, more sounds get logged as Loud Sound signals instead of snoring. The next section covers what to do about it.

How background noise affects detection

Steady background noise, like an air conditioner, a fan, traffic, music, rain, or ocean sounds, gets tracked separately and won't create snore events on your timeline. The app recognizes it as continuous ambient noise, so a humming AC on its own won't fill your night with false snores.

What steady noise does cost you is masking. A high noise floor drowns out quiet breathing and faint snores, and the classifier has less to work with. Two things happen:

  • Faint sounds get harder to detect at all.
  • In rooms above roughly 45 dB at rest, sounds that would normally count as snoring shift into the Loud Sound category.

For cleaner classification, quiet the room where you can. The usual suspects are fans and white noise machines, HVAC and air purifiers, a window open onto traffic, and a TV or speaker left playing. A quieter room means more accurate detection across the board.

When you can't control the noise, in a hotel room say, work with what you've got:

  • Move the phone closer to your head so your breathing stays audible over the hum. Getting Started covers placement.
  • Raise the sensitivity so the app still picks up the softer sounds through the background.
Full app screen
Zoomed in Loud sounds detected episode with peak and average decibels and a Loud Sound Signals badge
A night recorded above the 45 dB noise floor.