Music sold as lossless is sometimes a compressed file in disguise. This tells you which, and says so only when the proof is overwhelming.
Independent kinds of evidence, spectral analysis, encoder arithmetic and a trained model; a verdict needs agreement between them; installs with pip and scans whole libraries.
Calibrated detection, where a false accusation costs more than a miss. Part of the work of Guillain d’Erceville, forward deployed engineer.
A lossy file renamed to .flac looks lossless, weighs lossless, and fools every player you own. It can't fool the arithmetic the encoder left behind — and this reads it for you.
MP3, AAC (HE-AAC v2 included), Vorbis and Opus, through independent kinds of evidence. A conviction needs two of them to agree.
Find the fake FLACs in your music library.
A lossy codec throws away the top of the spectrum and never gives it back. FLAC Detective reads each file, spots the fingerprints that loss leaves behind, and tells you which files are real and which are fakes.
pip install flac-detective # needs Python 3.10+
flac-detective /path/to/music # scan a file or a whole folderEvery file gets a verdict, like a traffic light:
✅ AUTHENTIC real lossless → keep it
❓ WARNING borderline → give it a listen
⚠️ SUSPICIOUS probably a transcode → likely a fake
❌ FAKE_CERTAIN definitely a fake → replace it
The scan only reads your files — it never changes anything.
🟢 New to all this? → Start Here — the 5-minute beginner's guide No command line, no jargon. From "what is this?" to "I checked my music".
- 📕 Reference — how it works, the three kinds of evidence, full usage, the ML case study
- 📖 Full documentation site — getting started, user guide, technical details, API
- 🚀 Getting Started — install, first analysis, accuracy & file-safety notes
- 📋 Changelog · 🤝 Contributing · 🔒 Security
- 💬 Issues
Licensed under the MIT License.
