Full-track spectrogram with a calibrated dBFS colour scale, labelled Hz axis, and log or linear frequency. Plus four live modes, microphone input, a peak-frequency and note readout, and PNG or WebM export.
Initializing in your browser…
Turn audio into a waveform image in five styles, exported as PNG or real vector SVG. Reads every channel, shows true level in dBFS, and redraws correctly at any size.
Generate band-limited test tones, sweeps and noise from 20 Hz to 20 kHz. Up to eight voices, note-name entry, binaural beats, and WAV export rendered from the same oscillators you hear.
Detect tempo from onset autocorrelation, within 0.20 BPM across thirteen known-tempo fixtures. Draws the beats it found and plays them back as a click so you can check by ear.
You suspect a recording has constant electrical hum and want to confirm it, locate it exactly, and see whether it runs through the whole take.
Input
recording.wav · full-track spectrogram · 4096-point analysis · linear frequency scale
Result
A continuous horizontal band across the entire 6-minute track peak readout: 50.0 Hz, -38.2 dB, nearest note G1 -49c fainter bands at 100 Hz, 150 Hz, 200 Hz (harmonics)
Analyzing the whole file rather than only what is playing shows at a glance that the hum is continuous rather than confined to one section, and the linear scale puts its harmonics at even spacing so the whole family is obvious. The peak readout is refined below bin spacing, so it reports 50.0 Hz rather than the nearest bin centre, which tells you exactly where to set a notch filter.
See what your audio looks like in the frequency domain. Load a file and the whole track is analyzed into a spectrogram with a labelled Hz axis and a calibrated dB colour scale, so you can spot hum, hiss, clipping, or a missing top end before you play a second of it. Four live modes and microphone input cover real-time work, and a peak readout names the strongest frequency and its nearest note as you go.
Spot mains hum at 50 or 60 Hz and its harmonics on the linear scale, or find a high-pitched whine that is inaudible on small speakers, without hunting for it by ear.
Look at the whole track at once: a hard shelf at 16 kHz betrays a lossy source, and a bright band across every frequency marks a clipped section.
Play a note and read the peak frequency with its nearest note name and cent deviation, refined below the bin spacing.
Watch how a voice, a violin, and a cymbal distribute energy differently, with a log axis that puts octaves at even spacing.
The centrepiece is a spectrogram of the entire track, not just of whatever happens to be playing. An AnalyserNode can only report the current instant, so the whole file is put through a short-time Fourier transform in a Web Worker: a Hann-windowed radix-2 FFT is run every hop across the mono mix, giving a time-frequency map you can read at a glance before pressing play at all. The transform is calibrated, so the colours mean something: magnitudes are normalised by the window's coherent gain, which makes a full-scale sine read within a tenth of a decibel of 0 dBFS and halving an amplitude drop the reading by the expected 6 dB. The colour scale runs from a floor you choose (default -90 dBFS) up to the loudest bin in your file, using perceptually ordered maps (Inferno and Viridis among them) so that brighter reliably means louder.
The frequency axis is labelled in Hz and can be logarithmic or linear. Logarithmic is the default because it matches how pitch works: an octave occupies the same vertical distance everywhere, so an exponential sweep draws a straight line and musical harmonics stack evenly. Linear spreads the axis by absolute frequency, which is what you want for spotting harmonics of mains hum or a fixed-frequency whine. Each output row is mapped back to the frequency band it covers and the loudest bin inside that band is drawn, so nothing is dropped between rows on either scale. Analysis resolution is selectable from 1024 to 8192 points, with the trade printed next to it: a larger transform resolves closely spaced tones but blurs in time, and the hop is widened automatically on long files so the analysis stays bounded.
A peak-frequency readout sits above the display, reporting the strongest frequency, its level in dB, and the nearest musical note with the cent deviation. It reads from the offline analysis at the playhead when you are looking at the track spectrogram, and from the live analyser when audio is playing or the microphone is on. The reported frequency is refined below bin resolution by parabolic interpolation across the peak and its neighbours, which is the difference between reporting 430.7 Hz and 439.9 Hz for a concert A; on a test file containing exactly 440 Hz and 2000 Hz tones, both were recovered to within 0.2 Hz.
The Live tab keeps four real-time modes: frequency bars with logarithmic band spacing, a waveform oscilloscope, a circular arrangement, and a scrolling spectrogram. The live FFT size (256 to 8192) and the smoothing constant are properties of the analyser node and now take effect immediately, without restarting playback. Microphone input works through getUserMedia and is deliberately not routed to the speakers, since that would be a feedback loop; nothing from the microphone is recorded or uploaded unless you press Record. Two exports are available: a PNG snapshot of whichever view you are on, and a WebM screen capture of the live visualization with the audio mixed in through a MediaStreamAudioDestinationNode, so the clip has sound. Everything, decoding included, happens in your browser.
It sets how many samples each transform looks at, which trades frequency detail against time detail. An 8192-point transform separates two tones a few hertz apart but smears a drum hit across 170 ms; a 1024-point transform does the opposite. The analysis resolution control shows the hertz-per-bin figure for each choice.
Because pitch is logarithmic: every octave is a doubling, so a log axis puts each octave at the same height and makes harmonic structure and musical intervals legible. Switch to linear when you are chasing something at a fixed frequency, such as mains hum and its harmonics, which sit at even spacing on that scale.
Brightness is level in dBFS. The scale runs from the colour floor you set, -90 dBFS by default, up to the loudest bin in your file, through a perceptually ordered colour map so that brighter always means louder. Raise the floor to pull faint detail out of a quiet recording.
Better than the bin spacing. After finding the strongest bin, the tool fits a parabola through it and its two neighbours to recover the true peak position. On a test file containing exact 440 Hz and 2000 Hz tones, it reported 439.9 Hz and 2000.0 Hz, where the raw bin centres would have been 8 Hz off.
Yes. Press Use Microphone and grant permission. The input is analyzed live and is deliberately not played back through your speakers, which would cause feedback. Nothing is recorded or uploaded unless you press Record, and the resulting file is downloaded to your device.
Two ways. PNG saves a snapshot of whichever view you are looking at, including the full-track spectrogram. Record captures the live visualization as a WebM video with the audio mixed in, so the clip has sound.
Audio is decoded and processed locally with the Web Audio API. Your files are never uploaded to a server.