Navidrome——个人听音乐完全解决方案

为什么要下载到本地?
过去我十分纠结,究竟是用网易云音乐听歌?还是QQ音乐?还是用虾米音乐……后来开始了解到Spotify、AppleMusic、YouTubeMusic之类的平台,或者是专门用来听古典音乐的Tidal和Qobuz……
每一个我都体验过,但是总有不尽如人意的地方。
最核心的原因——这些平台都是“不完整的”。
版权问题
尤其是版权方面,很多平台根本不可能听到某些很棒的版本,譬如我经常在YouTube上看Kassia的特效钢琴视频,她的演奏有相当一部分没有上架网易云。
又或者是Sergio Fiorentino演绎的Chopin Andante Spianato & Grande Polonaise Brillante op.22,几乎很少有平台可以直接搜到与之相关的版本。
更常见的,甚至网易云连周杰伦都听不到,有段时间甚至让我尝试用咪咕音乐听歌 [^1]。
当下的音乐没有版权,这还不是最危险的。最危险的是,你花钱开通了各种会员,今天还能听到的音乐,明天就会提示版权过期,甚至音乐直接从你的歌单中悄无声息的消失。
失去初心的广告软件
同时,当下的音乐平台越来越臃肿,他们塞入各种各样的广告在软件里,就是为了让你在听歌的同时,能够为他们消费。这形成了一种很畸形的关系:用户在乎的是音质如何,能听的歌多不多;但是背后却是无数双眼睛盯着你,把你看作是一串数字(收益率、点击率、在线时长……)。
譬如Spotify最初就并非一门心思投入做流媒体音乐平台,他们最初的计划只是做一个能卖广告的网站,恰好音乐可以承担这一载体而已。Spotify最近的热门歌曲排行榜前50名里,有6首都是AI生成的,他们甚至直言不讳地承认平台内投入了大量的AI音乐,只要AI音乐带来的收益能够超过传统音乐,他们就会毫不犹豫地打压音乐创作者。
你也可以详细对比这些流媒体平台和我稍后将会介绍的软件,其臃肿程度差别有多大。
防用户机制
音乐平台们,为了防止用户可以愉快地听音乐,大部分下载的档案都是含有DRM的加密档案。它并不是我们常见又通用的mp3、flac、wave格式。
原因也很简单,如果你可以开通会员就把音乐下载下来自由播放,那么下个月你很可能就不再开通会员了,因为你想听的音乐已经被下载好了,自然就再为他们付费了。
这是很荒诞的场景,他们一边允许你把音乐串流到手机上,但是一边在想方设法给这些数据进行加密。(怕你不听,又怕你爽听)
甚至他们一直以来试图整合并推行的社区生态、广播、视频……这些都是为了让你建立起对软件的依赖性。直到有一天,你发现自己想要换到其他软件,成本会变得高昂。
该怎么办?
所以我十分建议所有人把音乐下载到本地,然后搭建自己的串流平台。这样做的好处很多:
-
音乐版权永远不会过期,只要硬盘不坏,文件就永远都在。(文件有效期长久)
-
可以自己改封面,修正错误信息,按自己的方式分类。(自由度高)
-
没有广告,没有吞存储空间的怪兽。(界面干净)
-
能添加任何音频到库,能自己决定AI音乐要不要出现在库里。(曲库丰富干净)
-
不被追踪听歌记录和访问记录,不被平台当作“一串数字”。(隐私性强)
当然,这并不意味着我会建议你立马删除所有的音乐流媒体串流平台。而是我希望你把他们当作你认识曲目来源,然后通过自己的方式收集自由格式的文件(譬如NaxosMusicLibrary、CD、InternetArchive),这样你才会真正拥有这些音乐。
Navidrome
我自己目前把Navidrome搭建在了我的NAS上(你也可以选择租赁自己的VPS搭建),365天全天待机,然后通过Tailscale(内网穿透工具),让我的所有设备可以通过互联网访问,这样就实现了和流媒体平台听歌完全相同的体验。
换句话说,以前给你串流的是第三方商业平台,而搭建了Navidrome之后,给自己串流的是自己的平台。这类平台也非常多:Gonic、QM-Music、Koel、LMS……而我选择Navidrome也主要是因为,其专辑管理的方式很适合我这种习惯老派听歌方式的人。
上述的几个平台都支持Subsonic API,简单解释来说就是:Navidrome只是一个实现功能的平台,而支持Subsonic API协议的软件可以成为Navidrome的壳,也就是前端和后端的区别。
(因为搭建好以后,只能在某个你设定端口的网页上浏览,你仍然需要一个软件来得到漂亮的UI,后台也能持续播放的体验,更多功能……)
我推荐的各操作系统平台:
- Windows
- Linux
- iOS
- Android
(例图为Pysonic)
I am Linux.
I am macOS.
I am Linux.
Music Tag+MusicCenterForPC
但是仅仅有了Navidrome还不够,因为常常劝退我们的是错误的音频信息,以及手动修正的麻烦。
所以我们需要一些能够修改音频文件信息的工具+自动搜刮音频信息的工具。
一般我会先把音乐下载下来,最常见的是利用网易云直接下载整张专辑(至于我怎么把他变成MP3文件的,是魔法),然后用MusicCenterForPC检查并修改“专辑艺术家”这个标签。如果整张专辑是相同艺术家的,那么就不用修改,如果不是,那么就改成一样的。
我收藏的大部分音乐没有歌词,所以我也不需要歌词。如果你真的很需要,那么有三种方式:
-
直接用支持Subsonic且自带歌词搜刮功能的播放软件。
-
用Music Tag自动搜刮歌词嵌入文件,整个过程一键完成。
-
手动寻找lrc格式的歌词文件,保存到文件相同目录。(Navidrome不支持lrc格式文件)
大部分时候,这些从流媒体平台串流的音乐的信息准确率都很不错,你只需要稍微修补一下就可以直接用(严格来说还是漏洞百出,但是只要稍加调整,就会得到优质的音乐文件)。

总结
到这里,我们就完整地得到了一个自己听歌的解决方案。
文中的Navidrome和Music Tag都是搭建在Docker容器里,这样可以方便我全设备通过网页访问。而MusicCenterForPC和一众支持Subsonic的软件则都可以直接找到安装包。
至于搭建的教程,我相信看这篇文章聪明的你们,只需要去Bilibili或者YouTube上随便搜寻一下,就能找到无数的教程,我再此就不做相同的赘述了。
[^1]:中国移动旗下的【咪咕音乐】是周杰伦音乐版权的核心合作平台之一。