This is taking
longer than expected.

Check your connection.

Back to Projects
CLI · Audio Analysis

Spectro

A CLI tool that visualizes what's in your audio and tells you if it's been squashed by a codec. Shows compression artifacts, frequency loss, and can compare two files to see exactly where they differ.

Year 2025
Language Python
Scroll to explore

See Sound

A spectrogram shows what's really in your audio. The waveform just can't tell you that.

20kHz 10kHz 5kHz 1kHz 100Hz 20Hz
0:00 0:30 1:00 1:30 2:00
Lossy cutoff detected at 16kHz
01
default

Fast Mode

Quick and dirty. 1024-point FFT, 150 DPI, spits out a PDF. Good enough for when you just need a fast preview.

$
1024pt FFT
150DPI
PDFoutput
02
--quality

Quality Mode

The thorough version. 2048-point FFT, 300 DPI, outputs PNG. Way more detail if you're doing serious analysis or archival work.

$
2048pt FFT
300DPI
PNGoutput
03
--detect

Detect Mode

Detects frequency cutoffs, artifacts, and SBR flags. Tells you which codec messed with the file, so you don't have to stare at the spectrogram for an hour.

$
Closest profileMP3_128
Cutoff frequency16000 Hz
SBR detectedno
04
--compare

Compare Mode

Throws two files side by side and shows you exactly where they differ. Handy if you're trying to see what got lost in conversion.

$
inputs
diffspectrogram
sideby side
01 / 04
"

A frequency cutoff is a pretty good sign of lossy compression, but it's not absolute proof. And no cutoff doesn't mean it's lossless either. Spectro shows you what's there. You draw your own conclusions.

"
Design Philosophy

Built With

NumPy
SciPy
matplotlib
soundfile
FFmpeg
Python 3.9+
having fun?