Audio metadata encoding repair tool - Convert audio file metadata from Chinese encodings (GBK, GB2312, GB18030, Big5, Big5-HKSCS, CP936, CP950) to UTF-8 encoding, solving Chinese character display issues in audio players.
音频元数据编码修复工具 - 将音频文件(MP3、FLAC、M4A、MP4、OGG、OGA、OPUS、WMA、APE、WAV)的元数据从中文编码(GBK、GB2312、GB18030、Big5、Big5-HKSCS、CP936、CP950)统一转换为UTF-8编码,解决音频播放器中文乱码问题。
- 支持MP3、FLAC、M4A、MP4、OGG、OGA、OPUS、WMA、APE、WAV格式
- 自动识别GBK、GB2312、GB18030、Big5、Big5-HKSCS、CP936、CP950、EUC-JP编码
- 默认交互模式,智能建议修复内容
- 支持处理单个文件或整个目录(包括子目录)
- 支持dry-run模式,安全预览转换结果
- 智能识别并处理部分损坏的元数据
- 记住用户选择,避免重复询问
- 实时显示处理进度和统计信息
- 完整的错误处理和日志记录
- 克隆项目
git clone https://github.com/your-username/audio-meta-fixer.git
cd audio-meta-fixer- 安装依赖
pip install -r requirements.txt- 开始使用
# 交互模式修复目录下所有音频元数据(推荐)
python audio_meta_fixer.py /path/to/your/music
# 交互模式修复单个音频文件
python audio_meta_fixer.py /path/to/your/song.mp3
# 列出音频文件元数据(查看当前状态)
python audio_meta_fixer.py /path/to/your/music --list
python audio_meta_fixer.py /path/to/your/song.flac --list
# 测试模式预览(安全)
python audio_meta_fixer.py /path/to/your/music --dry-run程序默认使用交互模式,可以处理单个文件或整个目录:
处理整个目录(包括子目录):
python audio_meta_fixer.py /path/to/music/directory处理单个音频文件:
python audio_meta_fixer.py /path/to/audio/file.mp3使用 --list 参数可以列出音频文件的元数据信息,不进行任何转换:
列出目录下所有文件的元数据:
python audio_meta_fixer.py /path/to/music/directory --list列出单个文件的元数据:
python audio_meta_fixer.py /path/to/audio/file.flac --list这个功能可以帮助你:
- 查看音频文件的所有元数据信息(标题、艺术家、专辑等)
- 检查元数据是否存在编码问题
- 了解音频文件的技术信息(时长、比特率、采样率、声道数)
- 在转换前先了解文件的当前状态
使用 --dry-run 参数可以预览将要进行的转换,而不实际修改文件:
测试目录处理:
python audio_meta_fixer.py /path/to/music/directory --dry-run测试单个文件处理:
python audio_meta_fixer.py /path/to/audio/file.mp3 --dry-run使用 --direct 参数可以启用直接模式,程序会自动处理所有转换而不询问用户:
直接模式处理目录:
python audio_meta_fixer.py /path/to/music/directory --direct直接模式处理单个文件:
python audio_meta_fixer.py /path/to/audio/file.mp3 --direct交互模式特点:
- 显示处理进度(当前文件数/总文件数)
- 遇到需要转换的内容时,会显示原始文本和转换结果,询问用户是否转换
- 提供3个选项:(y)默认转换、(n)不转换、(q)退出程序
- 程序会记住用户的选择,下次遇到相同内容时会自动应用已确认的转换
- 转换记录保存在
confirmed_conversions.json文件中
# 交互模式转换当前目录下的所有音频文件(默认)
python audio_meta_fixer.py .
# 交互模式转换单个音频文件
python audio_meta_fixer.py ~/Music/song.mp3
# 列出指定目录下所有音频文件的元数据
python audio_meta_fixer.py ~/Music --list
# 列出单个音频文件的元数据
python audio_meta_fixer.py ~/Music/song.flac --list
# 转换指定目录,测试模式(仍然是交互模式)
python audio_meta_fixer.py ~/Music --dry-run
# 转换单个文件,测试模式
python audio_meta_fixer.py ~/Music/song.m4a --dry-run
# 直接模式转换目录,不询问用户确认
python audio_meta_fixer.py ~/Music --direct
# 直接模式转换单个文件
python audio_meta_fixer.py ~/Music/song.ogg --direct
# 直接模式+测试模式(目录)
python audio_meta_fixer.py ~/Music --dry-run --direct
# 直接模式+测试模式(单个文件)
python audio_meta_fixer.py ~/Music/song.wav --dry-run --direct程序会转换以下常见的元数据字段:
- 标题(Title)
- 艺术家(Artist)
- 专辑(Album)
- 专辑艺术家(Album Artist)
- 注释(Comment)
- 流派(Genre)
程序会生成 metadata_conversion.log 日志文件,记录所有的转换操作和错误信息。
- 建议在转换前备份重要的音频文件
- 首次使用建议使用
--dry-run模式测试 - 程序会自动跳过已经是UTF-8编码的文件
- 智能检测并跳过损坏的元数据,避免错误转换
- 对于无法识别的文件格式,程序会记录警告信息并跳过
当前版本: 1.0.0
查看版本信息:
python audio_meta_fixer.py --versionClaude (Anthropic)
这个项目由 Claude AI 助手开发,旨在解决中文音频元数据编码问题,提升音乐爱好者的聆听体验。
从前有个程序员
欢迎提交 Issues 和 Pull Requests 来改进这个项目!
本项目采用 MIT License 开源许可证。