强迫症患者的专辑管理方案
写在开头
作为一个强迫症患者,对于音乐专辑的管理始终是我折腾的点,所有的折腾无非想满足以下几点:
- 本地化的音乐
- 元信息准确,完整
- 统一的命名与格式
- 漂亮的专辑海报页面
- 随时可收听
现在基本搭建好了处理的流程,现拿出来与大家分享
音乐专辑的发掘
这一步是比较个性化的,依赖个人的喜好。我一般喜欢选定一个歌手,挑选出该歌手的一张专辑收听,并决定是否要保存下来。在滴答清单上保存着一个歌手列表,使用的音乐软件是 Spotify。
音乐专辑的下载
在这里有一个很有趣的组合,我下载音乐是从 AppleMusic 下载的,主要原因是我之前一直在用 AppleMusic,并找到了一个 AppleMusic 音乐下载器,付费开通了使用权。后来改用了 Spotify,也没必要再花钱开通一个 Spotify 下载器了。此外,AppleMusic 可以通过不同的网址访问任意一个国家的曲库,曲库也更全。
我一般直接访问 AppleMusic 美国页面,网址在这里。搜索自己想下载的专辑,复制网址。进入 AppleMusic 专辑下载器,点击这里,直接粘贴链接,即可下载(该网站完整使用需要付费)。
专辑的规范化
一般情况下,下载器下载的专辑信息比较完善,专辑歌曲完整,歌曲的元信息完整。但免不了有时会出现问题,比如歌曲缺失,歌曲的元信息缺失,封面缺失等等。此外,即使信息完善,但有时候我们想用自己设定的歌名或者歌手名(比如将“G.E.M. 邓紫棋“改成”邓紫棋“),手动修改也比较麻烦,因而在这一部分我写了一个 python 脚本,专门用来规范化歌曲信息。脚本的下载方式在这里,里面的设置偏个性化,可以按照自己的习惯进行修改。简单来说,专辑压缩包解压后,复制专辑路径,然后运行该脚本即可。
输入自己自定义的歌手名和专辑名 ➔ 如果没有专辑歌曲总数信息需要输入 ➔ 如果没有专辑年份信息需要输入 ➔ 有缺失歌曲需要单独手动下载 ➔ 用1 <song1_newname>;2 <song2_newname>
的格式对歌曲名字进行单独修改 ➔ 删除掉所有歌曲中统一的部分(如"Live")➔ 最后就能得到漂亮的专辑元信息与文件名
展示效果如下
专辑的存储
专辑的存储采用“本地+云端”的方式进行,云端使用的是国内的 123 网盘,如果参照后续的管理方式,123 网盘需要开启 webdav 功能,当然,这需要开通 123 网盘会员。
专辑的管理
这部分本人用的是自部署的 Navidrome,这需要一台服务器或者 NAS。我用的是 VPS,存储空间不大,所以需要通过 webdav 挂载 123 网盘上的音乐文件到 VPS 上,使用的工具是rclone
。
在 VPS 上安装rclone
,并配置好相应的设置。
apt install rclone |
依次选择
n(new remote) ➔ name(rclone) ➔ 55(WebDAV) ➔ url ➔ user_name ➔ password ➔ enter
挂载网盘,为了让挂载更稳定,创建守护进程,创建/etc/systemd/system/rclone-123.service
文件
[Unit] |
启动 rclone 服务
systemctl daemon-reload |
安装navidrome
软件,用docker compose
来安装
services: |
如果想要听歌统计,歌手图片功能,请自行申请 spotify-api 和 lastfm-api。
最后的网络部分是把应用放到 npm(nginx proxy manager)的网络中,方便反向代理,没有该网络的可删除或替换成自己的网络。
反向代理过程简述:
- 域名指向服务器 IP
- npm 中设定域名转发到 navidrome 的 4533 端口上,并开启 https
- 通过域名访问 navidrome
访问 navidrome,注册管理员账户,即可查看漂亮的海报墙
专辑的收听
在 PC 端上用 navidrome 的网页端收听当然可以,但是在手机端就显得很简陋了,因而我使用“音流”app 来连接 navidrome 服务器,音流是一款做的很漂亮的音乐播放器,输入 navidrome 的域名,用户名和密码即可收听。
如果要在 PC 端上收听的话,建议配上 Boom3D 软件,音效调节更方便。