Ultrasonic Spectrum Analyzer
A focused real-time FFT for the top of the audio band — from 15 kHz up to your microphone’s Nyquist limit. It auto-detects the strongest peaks, labels each in Hz, matches them against a reference guide of common high-frequency sources (coil whine, CRT scan, pest deterrents, near-ultrasonic beacons), smooths the trace with spectral averaging, and lets you snapshot or export the data.
⚠ Your microphone sets a hard ceiling. A browser AudioContext usually samples at 44,100 or 48,000 Hz, so the Nyquist limit — the highest frequency that can exist in the data — is only about 22,050 or 24,000 Hz. Nothing above that can ever be captured. Most built-in mics additionally roll off steeply above ~16–18 kHz, so genuine ultrasound (above ~22 kHz, e.g. most bat calls and many cleaning baths) is effectively unreachable with normal consumer hardware — that needs a dedicated USB ultrasonic mic. The vertical axis is relative dBFS, not calibrated SPL. The tool reads and shows your actual sample rate and Nyquist limit so you always know where the wall is. Auto-gain, noise suppression and echo cancellation are requested off. Nothing is recorded or uploaded.
Ultrasonic Spectrum Analyzer Tool
Idle — press Start to allow your microphone and see the live 15 kHz–Nyquist spectrum.
Horizontal axis = frequency from 15 kHz to your mic’s Nyquist limit (amber dashed line). Vertical axis = relative level (dBFS, uncalibrated) — not calibrated SPL. Amber dots = detected peaks; faint cyan = peak-hold envelope.
Detected peaks (15 kHz–Nyquist)
The strongest local maxima above the peak floor, with the closest matching reference source. A match is a frequency coincidence with a published-typical signature, not a confirmed identification — many emitters overlap.
| # | Frequency | Rel. level | Likely source |
|---|---|---|---|
| Start the analyzer to detect peaks above 15 kHz. | |||
Capture details
Your hardware decides what is even possible. The Nyquist limit is half the sample rate — the absolute highest frequency the data can contain. A larger FFT narrows each bin so close peaks separate.
Export is a local download only: Snapshot saves the chart as a PNG; CSV saves frequency vs relative dBFS for every bin in the 15 kHz–Nyquist window, with a header noting it is uncalibrated. Nothing leaves your device.
High-frequency source reference
Published-typical frequency signatures to match against your detected peaks. These are conventions and reference figures, not a diagnosis — use them as a starting point. Sources and verification are listed in the technical section below.
| Typical frequency | Source | Notes |
|---|---|---|
| 15,625 / 15,734 Hz | CRT / older display horizontal scan | PAL line rate 15,625 Hz; NTSC 15,734 Hz. A steady, narrow whine from a CRT TV, retro monitor or arcade cabinet. |
| ~16–20 kHz | Electronic / coil whine (SMPS, GPU, LED driver) | Magnetostriction & electromagnetic force in inductors/transformers. Switching is usually >20 kHz but burst / cycle-skip modes drop a component into this band. |
| ~17.4 kHz | “Mosquito” / youth-deterrent tone | A near-ultrasonic tone many adults over ~25 cannot hear, by design; younger ears often can. |
| ~18–24 kHz | Ultrasonic pest / animal deterrent | Consumer rodent/insect repellers commonly emit 18–30 kHz (often around a 20–22 kHz fundamental). The portion below your Nyquist limit is what you can see here. |
| ~15–19 kHz | Near-ultrasonic data beacon / leak hiss | Some tracking/advertising beacons sit at 18–19 kHz; pressurised-gas or air leaks radiate broadband hiss with strong high-frequency content. |
| > ~22–24 kHz | True ultrasound (bats, cleaning baths, range-finders) | Beyond a normal mic’s Nyquist limit — not capturable here. Needs a dedicated USB ultrasonic microphone. |
How to Use
- Start & grant the mic. Press Start and allow microphone access. The Capture details panel immediately shows your real sample rate and Nyquist limit — the wall above which nothing can be detected.
- Watch the spectrum. The chart spans 15 kHz to your Nyquist limit. Strong, narrow vertical lines are tonal sources (coil whine, scan whine, a deterrent tone); broad raised humps are hiss or noise.
- Read the peaks table. Each detected peak is listed with its frequency, relative level and the closest reference source. Treat the source label as a frequency coincidence to investigate, not proof.
- Stabilise & isolate. Raise Averaging to settle a jittery trace, enable Peak-hold to catch intermittent tones, and adjust Sensitivity so the peak floor sits just above the noise. A larger FFT size separates close peaks.
- Capture. Freeze holds the current trace; Snapshot saves a PNG of the chart; CSV downloads frequency vs relative dBFS for the whole window. Everything stays on your device.
Understanding Your Results
The Nyquist wall is the headline number
Before anything else, look at the Nyquist limit in the Capture details. By the Nyquist–Shannon theorem a digital system can only represent frequencies below half its sample rate. At 44,100 Hz that ceiling is 22,050 Hz; at 48,000 Hz it is 24,000 Hz. The chart draws an amber dashed line at this point — the spectrum simply stops there. If you are hunting a source above your Nyquist limit, no software setting can recover it; you need different hardware.
Peaks vs the noise floor
A genuine tonal source shows up as a tall, narrow spike that stays put. Random hiss raises a broad region without a sharp tip. The Sensitivity (peak floor) control sets how far above the noise a spike must rise before it is reported — lower it to catch faint tones, raise it to suppress clutter. Averaging blends successive frames so a steady tone reinforces while noise averages down, and Peak-hold keeps the highest level each bin has reached so a brief chirp leaves a visible trace.
Frequencies are trustworthy; levels are relative
The frequency of each peak comes straight from the FFT and is reliable to within the bin width shown as the frequency resolution. The level is relative dBFS from an uncalibrated microphone with an unknown high-frequency response — it is not calibrated SPL, so use it for comparison (this peak vs that one, before vs after) rather than as an absolute loudness. Because most consumer mics roll off above ~16–18 kHz, a real source near the top of the band will read lower than it truly is.
Source matches are coincidences, not diagnoses
The reference guide matches a peak’s frequency to a published-typical signature. Many sources overlap — coil whine, a deterrent tone and a beacon can all sit near 19 kHz — so a match tells you what is plausible, not what is present. Confirm by changing the environment: unplug a suspected charger, turn off a display, or move the mic and watch whether the peak follows.
How It Works
The analyzer streams audio from your microphone into a Web Audio AnalyserNode and runs a Fast Fourier Transform (FFT) on each short window, splitting the signal into thousands of frequency bins. It then crops the display to the bins between 15 kHz and your sample rate’s Nyquist limit, so the whole chart is devoted to the top of the band where these high-frequency sources live. Every frame it scans for local maxima that stand clearly above their neighbours and above the peak floor, ranks them by level, removes near-duplicates, and lists the strongest with a closest-match source label.
Spectral averaging blends each new frame into a running exponential average so persistent tones reinforce while random noise settles. Peak-hold keeps the maximum level each bin has reached, which is ideal for catching intermittent or sweeping ultrasonic emitters. The microphone source is connected only to the analyser — never to the speakers — so there is no feedback path and no playback.
Verified reference figures
The source guide uses real published values, not invented precision:
- CRT horizontal scan: 15,734 Hz (NTSC) and 15,625 Hz (PAL). These follow directly from the line and frame structure (NTSC: 525 lines × ~29.97 Hz; PAL: 625 lines × 25 Hz) and are documented on Wikipedia’s Horizontal scan rate article.
- Ultrasonic pest deterrents: commonly 18–30 kHz, frequently built around a ~20–22 kHz fundamental (for example US Patent 4,562,561, “Ultrasonic pest repeller”, uses a 22 kHz carrier). Independent reviews (This Old House, Terminix) note the band is above human hearing but well within rodent hearing — and that real-world effectiveness is limited.
- SMPS / coil whine: 20 Hz–20 kHz audible band, caused by magnetostriction and electromagnetic forces in inductors and transformers. As DigiKey and Power Electronics News explain, the switching frequency is usually chosen above 20 kHz, but load-dependent frequency shifting, cycle-skipping and burst modes can push a component down into the audible/near-ultrasonic range.
- “Mosquito” tone: ~17.4 kHz, a near-ultrasonic tone exploiting age-related high-frequency hearing loss (presbycusis) so that many adults over ~25 cannot hear it.
Why true ultrasound is out of reach here
“Ultrasound” means above ~20 kHz, and much of the interesting ultrasonic world — most bat echolocation (often 20–120 kHz), 40 kHz cleaning baths and range-finders — sits above the 22–24 kHz Nyquist ceiling of a standard 44.1/48 kHz audio path. Even a 96 kHz interface, which would raise the ceiling to 48 kHz, needs a microphone whose element actually responds up there; ordinary built-in and headset mics roll off hard above 16–18 kHz. For genuine ultrasound you need a dedicated USB ultrasonic microphone (e.g. a bat detector). This tool is honest about that wall: it reads your live sample rate, shows the Nyquist limit, and draws it on the chart.