前言

在流媒体音乐为主流的今天,如果你像我一样忍受不了一堆广告、臃肿的音乐 APP,可以构建一个纯粹、高品质的本地音乐库

本文将分享一套个人实践过的本地音乐方案,核心在于「音乐文件 + 本地播放器」组合,在末尾会介绍如何处理音源响度不一致的问题

音乐获取

想要下载到最匹配的音乐,我们先要搞清楚自己需要什么音质,这一步自己选择即可

如何下载?推荐几个网站:

爱听音乐网

GD 音乐台

💡 下载后,建议将歌曲名称统一为「歌手名 - 歌曲名」(如:周杰伦 - 以父之名),然后放入统一的文件夹,便于后续播放器扫描以及自己日常管理

我创建了 Music 文件夹并放入
我创建了 Music 文件夹并放入

元数据编辑

什么是音乐的元数据?可以理解为音频文件中的一个个标签,如歌词、专辑封面等都是一个个元数据

有些歌曲下载后会没有歌词或者信息不全,此时我们可以自己把想要的信息嵌入到音频文件中

需要用到「音乐标签」APP,可以自动从网络上获取该歌曲的歌词、封面等信息,并嵌入到音频文件中

可以改歌曲所有信息
可以改歌曲所有信息

播放器

推荐使用「Salt Player」(椒盐音乐),这个播放器支持手机、电脑版(电脑端可以通过 Steam、Microsoft Store 购买,其中 Steam 版支持显示正在听的状态),页面简洁、动画流畅自然,下载后可以到「设置」中扫描音乐

手机端播放页面
手机端播放页面

电脑端 - dark
电脑端 - dark

电脑端 - light
电脑端 - light

电脑端播放页面
电脑端播放页面

Steam 正在听状态
Steam 正在听状态

响度调整

完成上述步骤后,你可能会遇到一个常见问题:不同歌曲的播放音量大小不一致。这是因为每首歌在制作时的响度(Loudness)不同

那么,流媒体平台是如何做到播放时音量统一的?

它们会使用一套名为响度标准化(Loudness Normalization)的技术:服务器会分析每一首歌曲的响度值(通常以 LUFS 为单位),并为其计算一个回放增益(ReplayGain)标签

播放时,播放器会根据这个标签动态调整每首歌的音量,从而实现平衡

在本地,我们可以使用专业音频工具「foobar2000」来为整个音乐库计算并写入统一的 ReplayGain 标签

此操作只是向音频文件元数据中写入标签,而非直接修改原始的音频波形数据,因此音质本身无损

添加音乐库文件夹
添加音乐库文件夹

添加 RG 标签
添加 RG 标签

大部分支持 ReplayGain 的播放器(包括我推荐的 Salt Player)读取这些标签后,即可实现音量统一播放,此时 Salt Player 下面会有一个增减分贝的标识

成功
成功