本文最后更新于:2025年6月5日 晚上
MusicBrainz 是一个开放的音乐元数据数据库,被誉为音乐领域的“维基百科”。本文记录使用方法。
简介
MusicBrainz 是一个开放的音乐元数据数据库,在这里,除了常见的艺术家、音乐封面、发行时间,还额外包括了发行状况、发行地区、一切有所关联的外部网站、专辑的介绍(维基)等其他元数据。这些数据是来自世界各地的音乐爱好者们自发新建、补充和上传的,使得 MusicBrainz 颇有「音乐百科全书」的意味。
以下是对其核心特点、功能以及发展历史的详细介绍:
核心定位
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 账号
为了能完整体验 MusicBrainz 的功能,这里建议注册一个账号。
注册 MusicBrainz 账号很简单,访问 https://musicbrainz.org/register 按要求填写即可。
安装 Picard
- 客户端安装(Win / Mac)
访问客户端下载页面可以安装相应操作系统的客户端:
- Ubuntu 下 PPA 安装客户端
1 |
|
之后可以在应用程序中启动 picard
- Docker 安装
有的人担心客户端容易引发问题, 我也找到了 Docker 版的安装仓库:
1 |
|
容器部署后访问 IP:5800 可以进入 MusicBrainz 的 Web UI 界面
这里可以进行 Nginx 反向代理, 通过 https 进行远程访问.
切换中文
默认安装完成是英文界面,可以通过选项修改为中文:
修改为 中文(大陆),重启应用 ( docker 重启容器) 即可
界面与设置
界面
这里引用 初之音 大佬的介绍.
Picard 的用户界面, 可以分为四个区域。
根据功能的不同,我简单地将其划分为四个区域:
- 原始音乐区:顾名思义,该区放置尚未索引的原始音乐文件。通过左上方「添加文件夹」或「添加文件」,或者将音乐直接拖动到这个区域
- 获取元数据区:这里显示的是从 MusicBrainz 上获取到的专辑信息或独立录音,专辑很好理解,独立录音会在后文解释
- 原始标签区:音乐自带的原始的 ID3 信息,都展示在这个区域
- 新标签区:从 MusicBrainz 获取到的元数据展示在该区域,可与「原始标签区」对比
设置
点击顶部菜单栏中的 选项,选择 选项。
来到 选项 界面。
需要设置的项目有:
- 常规
- 标签
- 专辑封面
- 重命名文件
- 指纹
- 高级
- 网络
常规
在常规一项的设置中,我们需要登录 MusicBrainz 账号。
点击【MusicBrainz 账号】一栏内的登录按钮,会弹出授权码的填写窗口。
同时会自动打开网页,提示你授权。如果你预先在浏览器内登录过账号,那么界面是这个样子的。
点击【Allow access】同意连接,会弹出授权码,将这串字符复制粘贴到 MusicBrainz 的登录授权窗口,点击 OK 即可完成登录。
标签
标签一般无需改动,但如果是从 网易云音乐 上下载的歌曲,会内嵌一个名为 description
的标签,内容为 163 key(Don't modify):L64FU3W4YxX3ZFT…………
。
这个标签主要是用于网易云快速识别歌曲,一般来说是无伤大雅的。但如果你有强迫症,可以选择【清除现有标签】并【保留嵌入的图片】。
专辑封面
你可以额外勾选【将封面保存为单独的文件】,但由于 MusicBrainz 上的封面不一定比你音乐内嵌的图片清晰度高,所以需要在后续识别音乐的时候手动选择是否替换。
封面的尺寸,我选择的是【完整尺寸】,一般情况下默认的【1200 像素】就足够了,毕竟有时候完整尺寸的封面会有 10m 这么大。
重命名文件
既然是整理音乐,那么必然希望整理后的音乐能按特定格式存放到特定位置。因此勾选【保存时移动文件】,并设置好目标目录。
此外,勾选【移动额外的文件】保证你在上一步设置中保存的封面图片能被一并移动。
【保存时重命名文件】需要配合下面的文件命名脚本。我选择的是【预设 2】,因为我不会编辑脚本。
这个预设下得到的文件格式为:专辑艺术家\专辑名称\音轨.标题
。
如果你想自定义文件保存的位置和命名方式,可以参考官方论坛的 这篇 讨论。
点击【编辑文件命名脚本】,可以自定义重命名的格式。
1 |
|
点击【脚本】,新增一个,填好标题,填入上述脚本,保存后就行。
效果是在音乐前加上形如 1-
的分碟序号:
1 |
|
如果你需要用上专辑的注释,那么只要这样:
1 |
|
效果是:
1 |
|
指纹
Picard 中内置了 AcoustID,这是一项基于开源的声学指纹算法构建的免费音乐记录标识服务。
Picard 的扫描功能就是使用音频指纹来鉴别音乐文件。
虽然扫描是不用登陆的,但提交指纹需要登录 AcoustID。本着人人为我,我为人人的精神,来配置一下 AcoustID 的 API 密钥。点击【获取 API 密钥】,会自动跳转到 AcoustID 的网站。
直接使用 MusicBrainz 的账号进行登录。
之后将生成的 API 密钥填入设置项中即可。
高级
由于 MusicBrainz 网站位于国外,如果你的网络访问不顺畅的话,可以勾选【网络代理】并填入代理的配置。
在设置完成后,一定不要忘了保存!
音乐整理
添加音乐
,通过 add folder 添加音乐到 Picard, 网页端可以最大化
查询
导入音乐,点击 查询 按钮,等待结果。
如果你对自己的音乐资源十分自信,那么效果应该像下图这样,所有歌曲完美匹配。
你也可以先将音乐整理为「簇」,再进行查询。簇的作用是识别音乐文件中属于同一专辑的音乐,并集合为一个「簇」,也就是文件夹的意思。对簇进行查询操作,如果匹配出错可以及时发现。
只不过,直接查询会有一个很大的隐患:匹配出错。因为查询的效果是:(使用文件名)在 MusicBrainz 查询所选项目。
MusicBrainz 并不是全能的。当某首歌在 MusicBrainz 中没有元数据,而歌名又与另一首有元数据的歌一致时,就会被误匹配上去。或者,匹配到同专辑的另一个版本去。
这时就需要用到「扫描」了。
扫描
扫描:当场上音乐存在 AcoustID 可识别的音频指纹时,可精确匹配到对应专辑。
扫描虽精确,但也会出现无法匹配到专辑的情况。比如演示中的音乐匹配到了一个名为 standalone recordings 的专辑。
我们需要先来理解何为「standalone recordings」(独立录音)。
在 MusicBrainz 中,每首歌在初次提交的时候,都会自动生成一首 standalone recordings,你可以为这个录音添加上详细的作曲、作词、谱曲等。之后再提交包含这首音乐的专辑,你可以直接链接到这首 recordings 而不用重复提交信息。这就是 standalone recordings 的实际作用。
但我们整理音乐的使用过程中搜到 standalone recordings 肯定是不行的,因此需要对该录音进行「在浏览器中查询」的二次搜索。
替换 / 保留封面
在之前的准备工作中,我们已经设置了自动替换封面。
但假如现在音乐封面你很是喜欢,亦或是封面分辨率要比数据库里的高,那么你可以选择保留原封面不替换。
在显示封面的区域右键就可以了。
如果本地 ID3 没有内嵌封面,数据库也没有封面,就需要我们自己去找封面上传了。
邮件该专辑,点击「在浏览器中查询」。
保存
确保专辑全部命中数据库,且封面也下载下来之后,右键专辑,保存。或者直接按菜单栏里的保存也行。
提交 AcoustID
如果在整理的过程中,提示要你 提交 AcoustID,那么我们只要先生成一遍 ID,再提交即可。
上传元数据
假如某张专辑 MusicBrainz 尚未有元数据呢?那么就由我们自己来上传!
收集数据
以这张 鈴木愛理 于 2022 年 12 月 23 日发行的专辑「heart notes」为例,该专辑 96.0kHz/24bit 版本的 mora 购买地址为:https://mora.jp/package/43000100/ESXX02709B00Z_96/ 。
从该页面中,我们可以提取出以下用于提交到 MusicBrainz 的元数据:
- 专辑名称:heart notes
- 演唱者:鈴木 愛理
- 标签:Sony Music Labels Inc.
- 发售日:2022.12.23
- 专辑收录歌曲数量:全1曲
- 专辑总时长:04:17
- 音乐数据:Hi-Res|FLAC|96.0kHz/24bit
网页保留在后台备用,不要关闭,方便复制粘贴。
提交专辑
回到 picard 中,对该音乐文件右键,选择「将文件提交为专辑…」。
为什么不是提交为独立录音呢?关于「独立录音」,MusicBrainz 中是这么解释的:
Standalone recordings (previously called non-album tracks) are recordings which are not linked to a release.
独立录音(以前称为非专辑曲目)是指未链接到发行版的录音。
简单地理解就是,「独立录音」就是指未发行为专辑的歌曲。一般情况下很少见,所以我们直接提交为专辑就好。
跳转到网页,点击 Continue 继续,开始提交该专辑。
完善数据
MusicBrainz 将添加专辑的行为称作 Add Release,这个页面完整的截图如下。
通过上图我们可以直观地看到,这些元数据被细分为四个部分:Release information 发行信息、Release event 发行事件、Additional information 附加信息、External Links 外部链接。
接下来,我会按从上到下的顺序,一一解释这些框中该填写什么数据。
Release information
Artist
Title 标题我们保持不动,从 Artist 开始。点按框中的搜索按钮,使用「鈴木 愛理」来搜索数据库中现有的角色。搜到第一个「鈴木愛理」便是了。
选中之后,Artist 这一栏底色会变为绿色。
Release Group
接着,修改 Release Group 发布组,你可以理解为「集合」。这位歌手的这张专辑的所有版本,都会被添加到这个集合。
由于 MusicBrainz 中,鈴木愛理没有这张名为「heart notes」的专辑,我们保持不动就行,MusicBrainz 会自动创建一个新的集合。
但假如已经有这张专辑的集合了,你就需要点按框中的搜索按钮,将搜索到的正确的匹配项选中。
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 填入专辑的发行日期,Country 填入专辑发行的国家或地区。
Barcode 专辑的条形码。如果你上传的专辑是实体专辑,填入专辑盒子上的条形码,否则勾选不存在条形码。
Packaging 专辑的包装形式。实体专辑的话那包装真是能玩出花来。一般就留空,或则参考官方的包装示例。
Label、Cat.No
Label 直译为标签,或指 Record Label 音乐厂牌,一般理解成唱片公司。像「Sony Music Labels Inc.」就是索尼音乐的厂牌。
填入之后会自动搜索,一般选择第一个,选择你认为最合适的那个就好。没错,因为厂牌很乱。
反正后面可以再修改。
Cat.No 为专辑编号。实体专辑一般有个编号,数字版也有。
Additional information
Annotation 意为注解,这里需要填入自由文本,也就是经过你改写的专辑介绍,需要用第三方的绝对中立的口吻。如果对自己的语言组织能力不是很自信,建议留空。
Disambiguation 意为消歧义。如同我上面的举例,加入这些专辑除了版本其他都一毛一样,那就需要标注它们之间的区别,啥首发限定片场限定,一般专辑会有官方的注释。这里我们填入「96.0kHz/24bit」用以消歧义。
External Links
外部链接我们填入专辑的购买地址,或者有其他流媒体源,比如 Spotify、Apple Music 或者是网易云音乐等。
歌词
使用 音乐标签(MusicTag)从网易云音乐上抓取歌词。
官网:https://www.cnblogs.com/vinlxc/p/11347744.html
设置自动匹配标签的时候,只选择歌词,写入方式改成存到文件就可以了。
这软件非常好用,如果有人想看我可以找个时间水一下用法。
另外,有个名为 ZonyLrcToolsX 的歌词下载工具,我还没有实测过,有兴趣的话可以自己试试。
参考资料
文章链接:
https://www.zywvvd.com/notes/environment/nas/musicbrainzubuntu/musicbrainzubuntu/
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信支付

支付宝支付