这是一个基于 Python 开发的自动化工具,专门用于解决 FLAC 音乐文件中常见的结构异常及冗余数据问题。
很多音乐文件在下载或编辑过程中,会被非标准的软件强行写入 ID3 标签(FLAC 标准应使用 Vorbis Comments)或在文件末尾遗留无效的垃圾数据块。这些数据会导致:
- 播放器时长计算错误(进度条跳变)。
- 无损校验(MD5)失败。
- 某些高规格播放设备无法识别。
本工具通过调用官方 flac.exe 执行音频流重编码(Level 6),彻底剥离非标准数据块,重建纯净的 FLAC 结构。
- 彻底清空末尾垃圾:通过音频流重构,彻底解决“末尾有垃圾数据/ID3标签”的问题。
- 封面极致压缩:自动提取内嵌封面,利用
Pingo引擎进行无损压制后再写回,减小文件体积而不损失画质。 - UTF-8 物理兼容:针对 Python 3.14 优化,彻底解决 Windows 环境下的 GBK 编码报错(UnicodeDecodeError)。
- 安全备份:处理前自动生成
_orig.flac备份文件,确保数据万无一失。 - 原生标签保留:使用
Mutagen库直接操作元数据,完美保留歌词换行符(LF/CRLF)。
- 环境要求:
- Windows 10/11 (x64)。
- 确保
libs文件夹内包含:flac.exe,libFLAC.dll,pingo.exe。
- 操作步骤:
- 拖放处理:直接将一个或多个 FLAC 文件(或文件夹)拖放到
FLAC_Fixer.exe图标上。 - 程序会自动开始“提取封面 -> Pingo 优化 -> 音频重构”流程。
- 处理完成后,按回车键退出即可。
- 拖放处理:直接将一个或多个 FLAC 文件(或文件夹)拖放到
如果你需要重新打包此程序,请务必使用以下命令以避免 UPX 压坏内置工具:
pyinstaller --onefile --console --noupx --add-data "libs;libs" --name "FLAC_Fixer" FLAC_Fixer.py注意:必须添加 --noupx 参数,否则内置的 pingo.exe 会被压缩,然后报“16位程序不兼容”错误。
- 备份文件:程序默认会保留原文件为
*_orig.flac。确认修复后的文件没问题后,可手动删除备份。 - 标签格式:修复后,所有的非标准标签(如 ID3v2)都将被标准化为标准的 Vorbis Comments。