之前『使用 mp3agic 读写 MP3 的 ID3 标签』提到了我最近在整理本地音乐库,有些朋友也想自行搭建,但苦于音源难以获取,而我的音乐库过于庞大,不适合分享,所以今天来讲讲我的方法论,以作参考。
希望搭建本地音乐库的朋友相信都饱经各音乐软件的版权折磨,更倾向于白嫖入库,但作为互联网上的老手艺人,我在经历了多番尝试之后,最终选择的方案仍然是:给音乐软件充会员。
这听起来很离谱,既然充了会员,那么何苦浪费时间搭建本地音乐库?
网络上的音乐破解工具数不胜数,但经过我的测试,大多数工具都存在音源更新慢、破解成功率低等问题,这就会导致需要浪费大量的时间在寻找音源上。
而充值音乐软件的会员,则是通过较低的金钱成本来降低时间成本。
以『QQ 音乐』为例,按照自动续费的价格,目前每月 15 元即可开通绿钻豪华版,享受 300 首歌的下载额度,并且可以随时取消,还是比较划算的。

而且这些音乐软件本身都做了较好的搜索、分类、批量下载等功能,能够大大节省我们的处理时间。
当音乐库搭建得差不多之后,我们就可以随时暂停续费,攒够一波需要下载的音乐时再重新开通即可。
经过多年的攻防,目前几乎所有的音乐软件都对音频文件做了加密,在版权上来说,这是合理的。但这又会产生另外一个问题,在这个音乐软件上下载的音频,就只能使用该音乐软件来播放,更何况在现在短视频发达的年代,我希望给自己的视频配个 BGM 时却发现下载的音频无法使用,那么我下载似乎就没有意义了。
既然攻防是一直迭代的,那么我们就可以寻找一些古早版本的音乐软件来破解。
同样还是以『QQ 音乐』为例,我目前测试 V7.9.1.0 在 macOS 下仍可正常运行。

这个版本虽然已经对音频文件进行了一定程度的加密,但网上也已经流传了一些破解方案,比较流行的仓库 @unlock-music/unlock-music 已经被 DMCA(Digital Millennium Copyright Act,千禧年数字著作权法案)下架,不过仍有自托管的仓库,同时 Github 上也有一些预构建版本,可自行搜索。
我目前使用的是由 @Sorkai 维护的公益镜像,它使用了 PWA 技术,即使没有网络也可以使用,只需将加密的音频文件拖进去,就可以转换为未加密的 OGG 文件。

但我的音乐库统一采用 MP3 格式的音频文件,所以还需要做一次转换,这个相对来说比较简单,只需要用到 FFmpeg,FFmpeg 是一个用于处理多媒体内容(如音频、视频、字幕及相关元数据)的开源工具,它的功能非常强大。
安装完成后,只需要执行以下命令即可完成转换:
➜ ffmpeg -i input.ogg output.mp3
单个文件转换效率太低,所以我就写了一个可以在 macOS 上执行的简易脚本,用于批量转换:
#!/bin/bash
# 设置要转换的音频文件夹路径
input_folder="/Users/Liarr/Desktop/ogg"
output_folder="/Users/Liarr/Desktop/mp3"
# 创建输出文件夹(如果不存在)
mkdir -p "$output_folder"
# 遍历输入文件夹中的所有音频文件
for file in "$input_folder"/*; do
# 获取文件名和扩展名
filename=$(basename -- "$file")
extension="${filename##*.}"
filename_without_ext="${filename%.*}"
# 转换为 MP3 格式
ffmpeg -i "$file" "$output_folder/$filename_without_ext.mp3"
done
echo "转换完成!"
只需要将需要转换的 OGG 文件放在输入目录,执行脚本之后就会批量生成 MP3 文件到输出目录。
如果命令对于你来说过于复杂,也可以使用一些开发者自行构建的在线 FFmpeg 服务,比如 @xiguaxigua/ffmpeg-online,同样也是将文件拖进去即可,只是效率确实不如本地执行快。

这样就得到了一个 MP3 文件,再使用『MusicBrainz Picard』将标签和封面打进去,一切大功告成。
