LosslessChecker

📅 2026/8/11 20:25:52
LosslessChecker
链接https://pan.quark.cn/s/502193fe3d32一个检测假无损音频的启发式工具——从有损源如 320k MP3转码、再重新封装成 FLAC/ALAC 来冒充 无损的文件以及假 Hi-Res——把 CD/有损素材上采样塞进 96/192 kHz 容器。可对单个文件给出判断 也可对整个音乐库批量扫描、输出排好序的可疑清单严格只读——只分析、只报告绝不移动、改名或删除任何文件。纯 Rust、零系统依赖——FLAC/ALAC/WAV/AIFF/CAF 走 symphonia;DSD.dsf/.dff走原生 check-dsd 子命令。Hi-Res 感知——可检测上采样、空高频段、以及频谱空洞。并行——几千个文件的库在现代机器上几分钟即可扫完。原理一切都基于解码后的 PCM 推断——容器声称的格式、码率、采样率一律不信。工具用 symphonia 解码音频对整首歌做分段 加窗 FFTrustfft采用 Blackman-Harris 窗、对功率谱取 平均再跑三个检测器。Blackman-Harris 窗的旁瓣极低约 −92 dB可避免低频能量泄漏上溢、掩盖有损 截止断崖。高频截止有损转码。 有损编码器在固定频率施加低通留下一道能量断崖其位置暴露原始码率截止定义为”能量仍在频谱自身峰值 65 dB 以内的最高频率”峰值相对阈值。采样率真伪假 Hi-Res / 上采样。 对声称 Hi-Res 48 kHz的文件真品内容会明显延伸到 CD 上限22 kHz之上。若真实内容只到 22 kHz、且 26 kHz 以上一片空白那就是 CD/有损素材 被上采样塞进 Hi-Res 容器——标记为 上采样。报告里的高频延伸指标26 kHz 以上能量相对峰值的 dB让差距一目了然真 Hi-Res 约在 −30 dB上采样会跌到 −70 dB 以下。频谱空洞仅供参考。 AAC/Vorbis 转码可能在截止以下留下凹陷notch。工具会检测并报告 但因其在真实音乐上易误报不影响判定。两个刻意的设计点峰值相对而非底噪相对。 以响亮的中频峰值而不是近乎静音的频谱顶端为基准意味着即使 这首歌本身高频就少硬低通也会显出真正的断崖——管弦/人声类转码在底噪法里会被读成”满频” 峰值法能正确揪出。分析整首。 很多歌以安静的前奏开场镲片/打击乐等高频要到后面才进来只取开头会低估截止、 造成误报。更新日志2026.06.27更新 重大更新1.添加spek类似图形,小菜一碟啊2.新增缓存技术, 对数据结构做了大量实验, 花了大量时间研究线程和缓存的关系, 移动音乐文件也能找到缓存, 与文件名无关,但是改变的文件体积和修改日期,就无法识别了, 每个文件的缓存2.7MB,建议不要删除,这是加载速度提升的有效手段,你可以定期整理,会删除失效的缓存信息.3.添加高级分析方法,可以检测升频,研究目的,信不信由你4.新增记住窗口位置5.分析列表锁定列,就像excel一样,6.队列顺序按文件顺序,可能开始有点乱,跑一阵子 队列就跟上了7.所有的位置都支持中文英文,包括日志,日志每次运行前会清空,也就是只保留最后一次分析结果.8.修复内存泄漏,目前大负载情况下,测试2000文件,内存占用不到1G, 如果提示你们启用缓存,一定要启用,同一个目录可以一遍一遍的增量的扫描