Releases: NaughtyDogOfSchrodinger/lossless-checker
v0.2.0 — native DSD authenticity checking
Highlights
Native DSD authenticity checking — the big new feature. The check-dsd subcommand detects fake / PCM-sourced DSD (CD or lossy material "washed" into a DSD container) by analyzing the noise-shaping signature directly from the 1-bit stream — no ffmpeg required.
- 🎯
check-dsd— native.dsf(DSF) and.dff(DSDIFF) parsing; per-file verdict (genuine / suspicious) from the noise-shaping slope, ultrasonic energy, and baseband cutoff. - 🧱 22.05 kHz CD brick-wall detection — flags the digital-master fingerprint that survives a CD→DSD re-modulation.
- 📈
export-spectrum— dump the averaged power spectrum to CSV for your own analysis / threshold calibration.
Accuracy fixes (validated against real albums + ffmpeg PCM decodes)
- DSD256/512 no longer false-flagged. The noise-shaping slope/HF band now scales with the DSD rate — DSD256's shaping peaks above 100 kHz, so the fixed 30–100 kHz window was reading it as "flat" and convicting genuine high-rate DSD.
- Genuine dark/quiet masters no longer mistaken for a lossy cutoff. The baseband-cutoff verdict now requires a real brick-wall edge (music reaching the cut), not the gradual tail of a soft passage.
Performance
- realfft for the FFT (~2× faster transform).
- Parallel per-file Welch FFT, lossless (bit-identical to a single-threaded sweep), with no nested-rayon oversubscription on multi-file library scans (peak memory −43% on a 32-file scan).
- Lookup-table 1-bit unpacking; 4-term Blackman-Harris analysis window.
Also since v0.1.0
- Bilingual output (中文 default,
--lang enfor English). - Hi-res-aware detection (empty-HF / fake hi-res).
Install
Prebuilt binaries for macOS (arm64 + x86_64), Linux (gnu + musl), and Windows are attached below. See the README for usage.
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Full Changelog: https://github.com/NaughtyDogOfSchrodinger/lossless-checker/commits/v0.1.0
Full Changelog: https://github.com/NaughtyDogOfSchrodinger/lossless-checker/commits/v0.1.0
Full Changelog: https://github.com/NaughtyDogOfSchrodinger/lossless-checker/commits/v0.1.0
Full Changelog: https://github.com/NaughtyDogOfSchrodinger/lossless-checker/commits/v0.1.0
Full Changelog: https://github.com/NaughtyDogOfSchrodinger/lossless-checker/commits/v0.1.0