本文最后更新于:2025年6月5日 晚上

MusicBrainz 是一个开放的音乐元数据数据库,被誉为音乐领域的“维基百科”。本文记录使用方法。

简介

MusicBrainz 是一个开放的音乐元数据数据库,在这里,除了常见的艺术家、音乐封面、发行时间,还额外包括了发行状况、发行地区、一切有所关联的外部网站、专辑的介绍(维基)等其他元数据。这些数据是来自世界各地的音乐爱好者们自发新建、补充和上传的,使得 Mu­sicBrainz 颇有「音乐百科全书」的意味。

以下是对其核心特点、功能以及发展历史的详细介绍:

核心定位

MusicBrainz 的主要目标是收集和整理全球范围内的音乐元数据,并以开放、免费的方式提供给公众使用。它是一个社区化的项目,依靠全球志愿者的贡献来维护和扩展数据库内容12。

主要功能

  • 音乐元数据存储:MusicBrainz 存储了包括艺术家、专辑、歌曲、发行时间、封面图片等在内的丰富音乐信息。
  • 开放性与自由使用:用户可以免费访问和使用 MusicBrainz 的数据,甚至可以直接下载整个数据库。所有数据均以 CC0 协议发布,允许用户自由使用和修改3。
  • API 支持:MusicBrainz 提供了强大的 API,允许开发者根据需要访问和查询数据库中的信息,用于音乐推荐系统、搜索引擎或其他应用45。
  • 社区化编辑:MusicBrainz 的数据由全球志愿者共同维护,任何人都可以注册并参与编辑和贡献数据,确保信息的准确性和完整性2。

发展历史

MusicBrainz 最初于 1999 年作为一个名为“CD Index”的工具开始开发,目的是帮助用户管理自己的 CD 收藏。在阿姆斯特丹的一次会议后,项目被更名为 MusicBrainz,并逐渐发展为一个开放的音乐数据库。如今,它已成为全球最大的音乐元数据资源之一67。

开放性与使用场景

MusicBrainz 的开放性使其在多个领域得到了广泛应用:

  • 音乐推荐系统:基于用户的听歌历史和偏好,推荐相似或相关的歌曲4。
  • 音乐搜索引擎:通过 API 或直接访问数据库,快速查找歌曲、专辑和艺术家信息5。
  • 跨平台支持:例如,通过 Docker 镜像服务器,用户可以在不同平台上运行 MusicBrainz 数据库

官方网站: https://picard.musicbrainz.org/

客户端下载: https://picard.musicbrainz.org/downloads/#linux

第三方 docker 化仓库: https://github.com/mikenye/docker-picard/tree/master

安装与准备

注册 MusicBrainz 账号

为了能完整体验 Mu­sicBrainz 的功能,这里建议注册一个账号。

注册 Mu­sicBrainz 账号很简单,访问 https://musicbrainz.org/register 按要求填写即可。

安装 Picard

  • 客户端安装(Win / Mac)

访问客户端下载页面可以安装相应操作系统的客户端:

  • Ubuntu 下 PPA 安装客户端
1
2
3
sudo add-apt-repository ppa:musicbrainz-developers/stable
sudo apt update
sudo apt-get install picard

之后可以在应用程序中启动 picard

  • Docker 安装

有的人担心客户端容易引发问题, 我也找到了 Docker 版的安装仓库:

1
2
3
4
5
6
7
8
9
version: '3'
services:
picard:
image: mikenye/picard:latest
ports:
- "5800:5800"
volumes:
- "/path/to/config:/config:rw"
- "/path/to/music:/storage:rw"

容器部署后访问 IP:5800 可以进入 MusicBrainz 的 Web UI 界面

这里可以进行 Nginx 反向代理, 通过 https 进行远程访问.

切换中文

默认安装完成是英文界面,可以通过选项修改为中文:

修改为 中文(大陆),重启应用 ( docker 重启容器) 即可

界面与设置

界面

这里引用 初之音 大佬的介绍.

Pi­card 的用户界面, 可以分为四个区域。

根据功能的不同,我简单地将其划分为四个区域:

  • 原始音乐区:顾名思义,该区放置尚未索引的原始音乐文件。通过左上方「添加文件夹」或「添加文件」,或者将音乐直接拖动到这个区域
  • 获取元数据区:这里显示的是从 MusicBrainz 上获取到的专辑信息或独立录音,专辑很好理解,独立录音会在后文解释
  • 原始标签区:音乐自带的原始的 ID3 信息,都展示在这个区域
  • 新标签区:从 MusicBrainz 获取到的元数据展示在该区域,可与「原始标签区」对比

设置

点击顶部菜单栏中的 选项,选择 选项

来到 选项 界面。

需要设置的项目有:

  • 常规
  • 标签
  • 专辑封面
  • 重命名文件
  • 指纹
  • 高级
    • 网络
常规

在常规一项的设置中,我们需要登录 Mu­sicBrainz 账号。

点击【MusicBrainz 账号】一栏内的登录按钮,会弹出授权码的填写窗口。

同时会自动打开网页,提示你授权。如果你预先在浏览器内登录过账号,那么界面是这个样子的。

点击【Allow access】同意连接,会弹出授权码,将这串字符复制粘贴到 Mu­sicBrainz 的登录授权窗口,点击 OK 即可完成登录。

标签

标签一般无需改动,但如果是从 网易云音乐 上下载的歌曲,会内嵌一个名为 description 的标签,内容为 163 key(Don't modify):L64FU3W4YxX3ZFT…………

这个标签主要是用于网易云快速识别歌曲,一般来说是无伤大雅的。但如果你有强迫症,可以选择【清除现有标签】并【保留嵌入的图片】。

专辑封面

你可以额外勾选【将封面保存为单独的文件】,但由于 Mu­sicBrainz 上的封面不一定比你音乐内嵌的图片清晰度高,所以需要在后续识别音乐的时候手动选择是否替换。

封面的尺寸,我选择的是【完整尺寸】,一般情况下默认的【1200 像素】就足够了,毕竟有时候完整尺寸的封面会有 10m 这么大。

重命名文件

既然是整理音乐,那么必然希望整理后的音乐能按特定格式存放到特定位置。因此勾选【保存时移动文件】,并设置好目标目录

此外,勾选【移动额外的文件】保证你在上一步设置中保存的封面图片能被一并移动。

保存时重命名文件】需要配合下面的文件命名脚本。我选择的是【预设 2】,因为我不会编辑脚本。

这个预设下得到的文件格式为:专辑艺术家\专辑名称\音轨.标题

如果你想自定义文件保存的位置和命名方式,可以参考官方论坛的 这篇 讨论。

点击【编辑文件命名脚本】,可以自定义重命名的格式。

1
2
3
4
%albumartist%/
%album%/
$if($gt(%totaldiscs%,1),%discnumber%-,)
$num(%tracknumber%,2). %title%

点击【脚本】,新增一个,填好标题,填入上述脚本,保存后就行。

效果是在音乐前加上形如 1- 的分碟序号:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
原神 - 佚落迁忘之岛 Islands of the Lost and Forgotten
├── 1-01. Island of Crystal and Pearl 海祇之岛.flac
├── 1-02. Illuminated Coral Palace 溢彩华庭.flac
├── 1-03. Peaceful Wishes 和平的祝愿.flac
├── 1-04. A Tranquil Town 远离尘嚣.flac
├── 1-17. Savory Treat 俗世佳肴.flac
├── 1-18. Narukami-Bayashi 鸣神囃子.flac
├── 1-19. In a Cautious Way 谨言慎行.flac
├── 1-29. A Memorable Fancy 温情的遥忆.flac
├── 1-30. Ruu's Melody 阿瑠的歌.flac
├── 2-13. The Long Dark Night 长夜难明.flac
├── 2-14. A Dim Echo of the Past 昔时颓响.flac
├── 2-15. In the Brink of Time 狭间的萦思.flac
├── 2-16. Drift Along the Lethe 沉流之航.flac
├── 2-17. Now and Forevermore 无明无夜.flac
├── 2-18. At Dawn and Dusk 昏晓流易.flac
├── 2-19. Tales of Woe 哀致渊永.flac
├── 2-22. Hope or Nostalgia 祈望与乡魂.flac
├── 3-01. Chrysalis Suspirii 哀息之茧.flac
├── 3-02. Saltatio Favillae 燃烬之舞.flac
├── 3-03. Bane of Ambitions 薙除杂妄.flac
├── 3-04. Thunderings of the Merciless 雷霆的威光.flac
├── 3-05. The Almighty Violet Thunder 稻光神鸣.flac
├── 3-06. Combat Beneath the Waves 寒光裂涛.flac
├── 3-07. Undersea Encounters 鲸波鼍浪.flac
├── 3-08. No Turning Back 背水一战.flac
├── cover.jpg
└── cover.png

如果你需要用上专辑的注释,那么只要这样:

1
2
3
4
%albumartist%/
%album%$if(%_releasecomment%, \(%_releasecomment%\),$noop())/
$if($gt(%totaldiscs%,1),%discnumber%-,)
$num(%tracknumber%,2). %title%

效果是:

1
2
3
4
5
6
7
8
9
10
glory days (24bit_96kHz)
├── 01. glory days.flac
├── 02. 君色シグナル.flac
├── 03. ステラブリーズ.flac
├── 04. カラフル。.flac
├── 05. 桜色ダイアリー.flac
├── 06. glory days -Instrumental-.flac
├── 07. カラフル。 -Instrumental-.flac
├── 08. 桜色ダイアリー -Instrumental-.flac
└── cover.jpg
指纹

Pi­card 中内置了 AcoustID,这是一项基于开源的声学指纹算法构建的免费音乐记录标识服务。

Pi­card 的扫描功能就是使用音频指纹来鉴别音乐文件。

虽然扫描是不用登陆的,但提交指纹需要登录 AcoustID。本着人人为我,我为人人的精神,来配置一下 AcoustID 的 API 密钥。点击【获取 API 密钥】,会自动跳转到 AcoustID 的网站。

直接使用 Mu­sicBrainz 的账号进行登录。

之后将生成的 API 密钥填入设置项中即可。

高级

由于 Mu­sicBrainz 网站位于国外,如果你的网络访问不顺畅的话,可以勾选【网络代理】并填入代理的配置。

在设置完成后,一定不要忘了保存

音乐整理

添加音乐

,通过 add folder 添加音乐到 Picard, 网页端可以最大化

查询

导入音乐,点击 查询 按钮,等待结果。

如果你对自己的音乐资源十分自信,那么效果应该像下图这样,所有歌曲完美匹配。

你也可以先将音乐整理为「」,再进行查询。簇的作用是识别音乐文件中属于同一专辑的音乐,并集合为一个「簇」,也就是文件夹的意思。对簇进行查询操作,如果匹配出错可以及时发现。

只不过,直接查询会有一个很大的隐患:匹配出错。因为查询的效果是:(使用文件名)在 Mu­sicBrainz 查询所选项目。

Mu­sicBrainz 并不是全能的。当某首歌在 Mu­sicBrainz 中没有元数据,而歌名又与另一首有元数据的歌一致时,就会被误匹配上去。或者,匹配到同专辑的另一个版本去。

这时就需要用到「扫描」了。

扫描

扫描:当场上音乐存在 AcoustID 可识别的音频指纹时,可精确匹配到对应专辑。

扫描虽精确,但也会出现无法匹配到专辑的情况。比如演示中的音乐匹配到了一个名为 standalone recordings 的专辑。

我们需要先来理解何为「stand­alone record­ings」(独立录音)。

在 Mu­sicBrainz 中,每首歌在初次提交的时候,都会自动生成一首 stand­alone record­ings,你可以为这个录音添加上详细的作曲、作词、谱曲等。之后再提交包含这首音乐的专辑,你可以直接链接到这首 record­ings 而不用重复提交信息。这就是 stand­alone record­ings 的实际作用。

但我们整理音乐的使用过程中搜到 stand­alone record­ings 肯定是不行的,因此需要对该录音进行「在浏览器中查询」的二次搜索。

替换 / 保留封面

在之前的准备工作中,我们已经设置了自动替换封面。

但假如现在音乐封面你很是喜欢,亦或是封面分辨率要比数据库里的高,那么你可以选择保留原封面不替换。

在显示封面的区域右键就可以了。

如果本地 ID3 没有内嵌封面,数据库也没有封面,就需要我们自己去找封面上传了。

邮件该专辑,点击「在浏览器中查询」。

保存

确保专辑全部命中数据库,且封面也下载下来之后,右键专辑,保存。或者直接按菜单栏里的保存也行。

提交 AcoustID

如果在整理的过程中,提示要你 提交 AcoustID,那么我们只要先生成一遍 ID,再提交即可。

上传元数据

假如某张专辑 Mu­sicBrainz 尚未有元数据呢?那么就由我们自己来上传!

收集数据

以这张 鈴木愛理 于 2022 年 12 月 23 日发行的专辑「heart notes」为例,该专辑 96.0kHz/24bit 版本的 mora 购买地址为:https://mora.jp/package/43000100/ESXX02709B00Z_96/

从该页面中,我们可以提取出以下用于提交到 Mu­sicBrainz 的元数据:

  • 专辑名称:heart notes
  • 演唱者:鈴木 愛理
  • 标签:Sony Music Labels Inc.
  • 发售日:2022.12.23
  • 专辑收录歌曲数量:全1曲
  • 专辑总时长:04:17
  • 音乐数据:Hi-Res|FLAC|96.0kHz/24bit

网页保留在后台备用,不要关闭,方便复制粘贴。

提交专辑

回到 pi­card 中,对该音乐文件右键,选择「将文件提交为专辑…」。

为什么不是提交为独立录音呢?关于「独立录音」,MusicBrainz 中是这么解释的:

Stand­alone record­ings (pre­vi­ously called non-al­bum tracks) are record­ings which are not linked to a re­lease.

独立录音(以前称为非专辑曲目)是指未链接到发行版的录音。

简单地理解就是,「独立录音」就是指未发行为专辑的歌曲。一般情况下很少见,所以我们直接提交为专辑就好。

跳转到网页,点击 Con­tinue 继续,开始提交该专辑。

完善数据

Mu­sicBrainz 将添加专辑的行为称作 Add Release,这个页面完整的截图如下。

通过上图我们可以直观地看到,这些元数据被细分为四个部分:Re­lease in­for­ma­tion 发行信息、Re­lease event 发行事件、Ad­di­tional in­for­ma­tion 附加信息、Ex­ter­nal Links 外部链接。

接下来,我会按从上到下的顺序,一一解释这些框中该填写什么数据。

Release information

Artist

Title 标题我们保持不动,从 Artist 开始。点按框中的搜索按钮,使用「鈴木 愛理」来搜索数据库中现有的角色。搜到第一个「鈴木愛理」便是了。

选中之后,Artist 这一栏底色会变为绿色。

Release Group

接着,修改 Release Group 发布组,你可以理解为「集合」。这位歌手的这张专辑的所有版本,都会被添加到这个集合。

由于 Mu­sicBrainz 中,鈴木愛理没有这张名为「heart notes」的专辑,我们保持不动就行,Mu­sicBrainz 会自动创建一个新的集合。

但假如已经有这张专辑的集合了,你就需要点按框中的搜索按钮,将搜索到的正确的匹配项选中。

Primary Type

Type 指的是专辑的类型,Primary Type 指该专辑的一级分类。

一级分类主要有一下五种:

  • Album:唱片时长超过 30 分钟或不同歌曲数量超过 6 首歌
  • Single:唱片时长在 20 分钟内或歌曲数量为 1-3 首歌(不包含同一首歌的不同版本)
  • EP:唱片时长在 30 分钟内或歌曲数量为 3-5 首歌(不包含同一首歌的不同版本)
  • Broadcast:广播
  • Other:其他
Secondary Types

Secondary Types 指该专辑的二级分类。「这张唱片首先是专辑,其次是原声带」说的就是这回事。

二级分类总类也比较多,这里我只说我用到过的类型:

  • Compilations:精选辑,歌曲相对较多,选歌都是热门歌曲,或者封面上有Greatest Hits、Best Of 等字样。有些艺人已经发行多张单曲或散曲,但由于种种原因,并未发行过正式专辑,所以会出现艺人在没有发行专辑的时候,先发行一张精选辑
  • Soundtrack:原声带,指「Original Sound Track」,缩写为 OST,意为「影视原声音乐大碟」或「原声带」,影视剧、游戏、动画等用到的背景音乐,都属于 Soundtrack
  • Remix:混音,指基于现有歌曲的原始版本,经过重新混音、重新编写歌词等操作形成的另一种版本
Status

Status 指该专辑的状态

  • Official:官方
  • Promotion:用于宣传用的音乐,比如常见的 PV (Promotional video)
  • Bootleg:盗版
  • Pseudo-Release:伪发布,或者是尚未完全释出的音乐
  • Withdrawn:撤销
  • Cancelled:取消
Language

Language 指该专辑的语言

Script

Script 直译是脚本,但在这里应该是指上面所选语言使用的文字

Release event

Date、Country、Barcode、Packaging

Date 填入专辑的发行日期,Coun­try 填入专辑发行的国家或地区。

Bar­code 专辑的条形码。如果你上传的专辑是实体专辑,填入专辑盒子上的条形码,否则勾选不存在条形码。

Pack­ag­ing 专辑的包装形式。实体专辑的话那包装真是能玩出花来。一般就留空,或则参考官方的包装示例

Label、Cat.No

La­bel 直译为标签,或指 Record La­bel 音乐厂牌,一般理解成唱片公司。像「Sony Mu­sic La­bels Inc.」就是索尼音乐的厂牌。

填入之后会自动搜索,一般选择第一个,选择你认为最合适的那个就好。没错,因为厂牌很乱。

反正后面可以再修改。

Cat.No 为专辑编号。实体专辑一般有个编号,数字版也有。

Additional information

Annotation 意为注解,这里需要填入自由文本,也就是经过你改写的专辑介绍,需要用第三方的绝对中立的口吻。如果对自己的语言组织能力不是很自信,建议留空。

Disambiguation 意为消歧义。如同我上面的举例,加入这些专辑除了版本其他都一毛一样,那就需要标注它们之间的区别,啥首发限定片场限定,一般专辑会有官方的注释。这里我们填入「96.0kHz/24bit」用以消歧义。

外部链接我们填入专辑的购买地址,或者有其他流媒体源,比如 Spo­tify、Ap­ple Mu­sic 或者是网易云音乐等。

歌词

使用 音乐标签(Mu­sic­Tag)从网易云音乐上抓取歌词。

官网:https://www.cnblogs.com/vinlxc/p/11347744.html

设置自动匹配标签的时候,只选择歌词,写入方式改成存到文件就可以了。

这软件非常好用,如果有人想看我可以找个时间水一下用法。

另外,有个名为 ZonyL­rc­ToolsX 的歌词下载工具,我还没有实测过,有兴趣的话可以自己试试。

参考资料



文章链接:
https://www.zywvvd.com/notes/environment/nas/musicbrainzubuntu/musicbrainzubuntu/


“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付

MusicBrainz 音乐元数据百科数据库
https://www.zywvvd.com/notes/environment/nas/musicbrainzubuntu/musicbrainzubuntu/
作者
Yiwei Zhang
发布于
2025年5月18日
许可协议