Read your first spectrum with the 110 Hz sawtooth
Open the Test signal tab, pick the sawtooth, and press play. Instead of one spike you get a row of them at 110, 220, 330, 440 Hz and upward. Those are harmonics, whole-number multiples of the 110 Hz fundamental. A sawtooth carries every harmonic, and harmonic number n has 1/n the amplitude of the fundamental.
| Harmonic | Frequency | Level against the fundamental |
|---|---|---|
| 1st (fundamental) | 110 Hz | 0 dB |
| 2nd | 220 Hz | -6.0 dB |
| 3rd | 330 Hz | -9.5 dB |
| 4th | 440 Hz | -12.0 dB |
| 8th | 880 Hz | -18.1 dB |
| 16th | 1,760 Hz | -24.1 dB |
On the Log scale the spikes crowd together toward the right. Every octave gets the same width, and each octave up holds twice as many harmonics as the one below. Switch to Linear and they space out evenly, 110 Hz apart. The note readout says A2, the pitch of the open A string on a bass guitar.
Voices and acoustic instruments follow the same pattern with less regular levels. The pitch you hear is the fundamental, even when a higher harmonic prints the tallest spike. If the Nearest note readout lands an octave, or an octave and a fifth, above the note you sang, the analyzer picked up your 2nd or 3rd harmonic. Your pitch was fine.
FFT size trades frequency detail for time detail
The analyzer takes a block of samples and runs a Fast Fourier Transform on the block. The block length is the FFT size. Each output bin covers the sample rate divided by the FFT size, and the block lasts the FFT size divided by the sample rate. Finer bins need a longer block, and a longer block smears anything short, like a drum hit.
| FFT size | Bin width at 48 kHz | Block length | Good fit |
|---|---|---|---|
| 1,024 | 46.9 Hz | 21 ms | Drum hits and other fast attacks |
| 2,048 | 23.4 Hz | 43 ms | Speech |
| 4,096 | 11.7 Hz | 85 ms | General mix checks |
| 8,192 (default) | 5.9 Hz | 171 ms | Music, mid-range notes |
| 16,384 | 2.9 Hz | 341 ms | Bass notes, mains hum |
| 32,768 | 1.5 Hz | 683 ms | Steady tones, room resonances |
The 1000 + 1040 Hz test signal shows the trade on screen. At 1,024 the bins are 47 Hz wide, so the two tones sit in neighboring bins and merge into one hump. At 4,096 a shallow dip opens between them. At 8,192 they stand as two clear spikes. Set 1,024 again and switch to the sweep. The spike follows the sweep without lag, while at 32,768 the trace trails behind by more than half a second.
Low notes sit close together. A1 is 55.0 Hz and A#1 is 58.3 Hz, a 3.3 Hz gap narrower than every bin below 16,384. Pick 16,384 or 32,768 before you read the note of anything under 100 Hz.
Before the transform, the browser shapes each block with a Blackman window. The window stops a loud tone from spilling energy across the whole display, at the cost of a wider spike. A pure sine shows up as a narrow hill a few bins wide, not a hairline.
What the dBFS numbers mean
0 dBFS is the loudest sample a digital file holds, so every reading here sits below zero. The four level readouts answer different questions.
- Signal RMS is the average power of the current block. A sine wave at full scale reads -3.0 dBFS. Loud modern masters often sit between -12 and -8 dBFS in the chorus. A raw vocal take usually hovers near -25.
- Crest factor is the gap between the highest sample and the RMS. A sine reads 3 dB. A master pushed hard through a limiter often shows 6 to 9 dB. An untouched drum recording clears 18 dB. A low number means the peaks got flattened.
- Peak bin level is the height of the tallest spike on the trace. The spectrum splits the signal over thousands of bins and the window takes a further cut, so this number never matches the RMS readout. Compare spikes with other spikes.
- Band levels add up the power of every bin in a band. Unlike single bins, band totals hold steady when you change the FFT size.
One trick worth knowing: play pink noise and step the FFT size up. The whole trace drops about 3 dB per doubling, since the same noise power now spreads over twice as many bins. A steady tone keeps its height. On a noisy recording, this separates a hum you EQ out with a narrow notch from a hiss you need a noise reduction plugin for.
Spotting a lossless file made from an MP3
Load a FLAC or WAV and watch the top of the spectrogram. A genuine CD rip shows high frequency content thinning out gradually toward 20 kHz or beyond. A file converted from a lossy source shows a flat, hard ceiling, because the MP3 encoder deleted everything above a cutoff and no lossless conversion brings the missing treble back.
| Source | Typical ceiling |
|---|---|
| MP3 at 128 kbps | about 16 to 17 kHz |
| MP3 at 192 kbps | about 18.5 to 19 kHz |
| MP3 at 320 kbps | about 20 kHz |
| CD audio, 44.1 kHz | up to 22 kHz, fading off |
Use a busy passage with cymbals, since quiet intros hold little treble to begin with. Treat a hard shelf as evidence, not proof. Some mastering engineers roll off the top on purpose, and recordings from analog tape often carry little above 15 kHz.
Checking a room for bass problems
Small rooms pump up some bass notes and swallow others. A phone or laptop mic and pink noise from your own speakers will show where.
- Open this page in a second browser tab. Pick Pink noise on the Test signal tab, press play, and set a comfortable talking volume.
- Back in the first tab, start the Microphone and hold the device at your listening seat, at ear height.
- Set FFT size to 16,384, tick Peak hold, and wait 20 seconds.
- Look below 300 Hz. Pink noise should fall in a straight line on the Log scale. Humps are room resonances. Deep notches are cancellations.
The first resonance between two parallel walls sits at 343 ÷ (2 × distance in meters) Hz, with repeats at whole-number multiples. A room 4 m long builds up at 43, 86, and 129 Hz. When a hump lines up with one of your room's numbers, the room is the cause, not the speakers, and moving the seat or the speakers by half a meter changes the result more than EQ does.
Built-in microphones lose sensitivity below about 100 Hz, so the whole low end reads lower than your ears hear. Judge sharp local humps and dips, not the overall tilt.
Where this analyzer falls short
- No sound pressure level. Readings are dBFS, relative to the loudest digital value. Without a calibrated measurement microphone there is no route to dB SPL.
- No loudness metering. There is no LUFS, K-weighting, or true peak. Streaming services normalize by LUFS, so check delivery masters with a loudness meter.
- Mono analysis. The browser folds left and right into one channel before the transform. Content out of phase between the channels cancels in the fold and vanishes from the trace.
- Short snapshots. Readouts describe the last 21 to 683 ms of audio, not the whole file. For a song-wide picture, play the full track with Peak hold on.
- Display ceiling. The trace ends at half the sample rate of your audio device, 24 kHz on a 48 kHz device. Anything higher in a 96 kHz file gets resampled away before analysis.
- Browser codecs decide the formats. MP3, WAV, AAC, and FLAC open in current Chrome, Firefox, Edge, and Safari. OGG and Opus fail in some Safari builds. Convert to WAV or FLAC when a file refuses to load.
- Phone voice processing. Some devices keep noise gating and low-cut filters active no matter what the page requests. A USB interface with a measurement microphone gives honest low-end readings.
- Unequal bands. Treble spans more than two octaves while low mid spans one, so wide bands read higher on broadband material. Compare a band with itself over time, not with its neighbors.
