MusicBrainz Picard 批量修复MP3标签(解决Navidrome Unknown Album、中文乱码)

适用场景:短视频/网络单曲,MusicBrainz无官方元数据;文件名正常中文,但MP3内置ID3标签为空/GBK乱码,Navidrome扫描后大量显示[Unknown Album]、艺术家乱码。 原理:文件名 ≠ MP3内置ID3标签。Navidrome只读取音频内嵌ID3标签,不会直接使用文件名作为专辑、艺术家信息。

前置准备

  1. 停止 Navidrome 容器,防止音频文件被占用,标签写入失败。
  2. 准备好 MusicBrainz Picard。
  3. 网络单曲无法在MusicBrainz数据库匹配元数据,需要使用插件从文件名提取信息写入ID3标签。

步骤1:安装插件 Get Tags From Filename

  1. 打开 Picard → 顶部菜单【选项】→【插件管理器】
  2. 在插件列表找到 Get Tags From Filename,点击【安装】
  3. 安装完成后重启 Picard。
  4. 打开插件配置,设置文件名解析规则。
    • 若文件命名格式:歌曲名 - 歌手.mp3
      %title% - %artist%
    • 若文件命名格式只有歌曲名,无歌手:歌曲名.mp3
      %title%

步骤2:加载音频文件,提取文件名到标签

  1. 点击【添加文件夹】,导入存放MP3的目录。文件会进入「未识别出簇的文件」列表。
  2. 全选所有待处理文件。
  3. 顶部菜单【工具】→【Get Tags From Filename】,执行插件。

    插件会读取磁盘上的文件名,自动填充到右侧标签面板的标题、艺术家字段。 专辑字段插件无法自动获取,需要统一手动填写。

步骤3:统一填写专辑名称

这批网络单曲无独立专辑,统一设置专辑名称,避免Navidrome识别为Unknown Album。

  1. 保持全部文件选中。
  2. 在右侧标签面板找到【专辑】,填入合集名称,示例:网络单曲合集。

步骤4:修改Picard保存编码(关键,解决中文乱码)

顶部菜单【选项】→【保存】

  1. ✅ 勾选:写入 ID3v2.4(UTF-8)
  2. ✅ 勾选:嵌入封面图片到音频文件
  3. ❌ 取消勾选 ID3v2.3(GBK编码,Navidrome读取极易中文乱码)

步骤5:写入标签到MP3文件

  1. 保持文件全选,点击顶部【保存】。
  2. 保存成功判断:下方表格内,标签列 和 原始值列内容完全一致。

    只有执行保存,信息才会真正写入MP3内部ID3标签;仅预览修改不会改动音频文件。

步骤6:Navidrome重新扫描媒体库

  1. 启动 Navidrome 容器。
  2. 打开 Navidrome网页端,进入媒体库,执行【完全扫描】。
  3. 扫描完成,刷新页面,歌曲专辑、艺术家中文正常展示,不再出现[Unknown Album]。

测试建议

优先挑选1首歌曲单独测试,确认Navidrome识别正常后,再批量处理全部音频。 示例测试文件:Dạ Vũ 夜舞.mp3

  1. 插件提取标题、艺术家
  2. 填写专辑名
  3. 保存
  4. Navidrome完全扫描 验证页面展示效果。

常见问题

  1. 保存时报错无法写入文件

    原因:Navidrome容器未停止占用文件;NAS目录权限不足。 处理:停止Navidrome,检查目录读写权限。

  2. Picard预览中文正常,Navidrome依旧乱码

    原因:保存选项启用了ID3v2.3。 处理:切换为ID3v2.4 UTF-8,重新保存文件,再次全量扫描。

  3. 插件无法提取歌手信息

    原因:文件名分隔符和插件规则不匹配。 处理:修改插件解析规则,匹配当前文件名格式。

补充说明

MusicBrainz数据库没有收录短视频、翻唱、网络自制单曲,【查询】功能无法获取元数据。这类文件只能依靠插件读取文件名,批量补全ID3标签。