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
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. For how that compares with other snoring apps, see which snoring apps collect your data.
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.
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:
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".
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.
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.
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 sets the threshold 5 dB above it, so the steady hum of an ordinary room doesn't trigger it. The background level is the night's quiet floor, the level the room stays above 90% of the time, counted between 28 and 45 dB. The app re-measures it 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. A quiet bedroom at 28 dB puts the line at 33 dB.
Each Loud Sound episode shows the room it happened in. The card carries the room's level, like 34 dB room, and the episode details add Room Noise Floor and Detection Threshold, for example "Automatic: 5 dB above the room's floor when it fired (34 dB)." Episodes recorded before this was added show the floor without the threshold line.
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.