Audio analyzer

Inspect channel levels, stereo correlation and the spectrum of a local audio file.

About this tool

Analyze a local file or a prepared example. All processing stays in your browser. The channel selector affects the diagram; the level table covers every channel in the chosen range. Click or use the arrow keys to inspect a point. The spectrogram shows the window center and the strongest frequency bin at the selected pixel.

Sample peak is max|x|, RMS is √mean(x²), and DC is mean(x). Amplitudes use a reference of 1; dBFS = 20 log₁₀(amplitude), so silence is −∞. These are sample levels, not true peak or LUFS. Pearson correlation uses the first two channels after mean subtraction; it is undefined for a constant channel.

The spectrum uses a centered window and the original samples. The periodic Hann window is normalized by its weight sum. Interior positive-frequency bins are doubled; DC and Nyquist are not. Short selections are padded with zeros. This adds grid points, not frequency resolution. The displayed peak is the strongest non-DC frequency bin, not an interpolated tone estimate; constant signals have no such peak.

The spectrogram uses the same scaling. Long selections use at most 300 time-sampled windows and may miss short events. Colors are limited to −100…0 dBFS; analysis values are retained. The waveform shows sample minima and maxima per visible column.

Start is rounded down and end up to sample boundaries. A blank end uses the full duration. Browser decoding may resample the file; the displayed analysis rate is the rate actually used. Supported formats depend on the browser. Limits: 64 MiB per file and 32 million decoded sample values across all channels. A valid decoded file can be reused until the source changes; files and audio are not saved across visits. Reset clears results while retaining the source and settings.

References: NumPy FFT conventions, SciPy Hann window, Web Audio decoding.

Basic levels show dBFS; expand Linear levels for peak amplitude, RMS and DC. Channel selection is offered for multichannel sources. Analysis settings contain FFT/window and time range. Percentages describe the current sample-level or spectrogram-frame stage; native file decoding is indeterminate. Cancel closes the context and discards later results; browser decoding may continue internally. Preferences are saved, files and results are not.

The diagram uses the available width and a height suited to the window; its backing store is limited to six million pixels. Analysis remains explicit and cancellable. Changing the view redraws existing analysis immediately without decoding again. Detailed plot descriptions are available as tooltips; a sampled spectrogram is marked briefly. Only raw preferences, including unfinished ranges, are remembered; files, audio, results and expanded settings are temporary.