之前说到在 Android 手机上安装 BubbleUPnP 软件就可以把手机变成 DLNA(uPnP)接收端从而播放从 NAS 上串流出来的音乐,结果前两天久违地想用这个功能,把 LG G7 开机接上去以后却死活在群晖的界面找不到 BubbleUPnP 模拟出来的 DLNA 接收端,后来折腾半天发现这个功能不但没有默认开启,还新增了一个免费版只能开启使用 20 分钟的限制——我记得以前只有播放列表不能超过多少首的限制来着。
用 BubbleUPnP 实现 DLNA 接收端播放这个方案我也是看别人的经验学到的,感觉这个限制在以前应该不存在,是作者某次升级了软件以后加了限制希望你们都去付费。软件么 5.99 美元买断,说高不高说低不低,我没有立刻下手,而是想办法去寻找一个替代的解决方案。
我想到了家里还有一台买来用来调试 OpenWRT 服务器、目前闲着没事可做的树莓派 4 Model B。
Volumio 是一个有名的专攻音乐播放功能的操作系统,可以在 x86 电脑和树莓派上安装,实现音乐的本地和远程播放。网上介绍和实现 Volumio 安装的文章很多,我这里就不重复了。
一般来说,因为树莓派自带 3.5mm 模拟输出的品质不忍直视,大多数人都会选择给树莓派配一个增强音质的 DAC 子板。
但是科学 HiFi 的我怎么能接受一两百块钱买这买一个不知底细的玩意,尤其是 Volumio 可是支持了 USB DAC 的。USB DAC 是什么概念呢,就是一般免驱装上就能出声的 USB 声卡,Volumio 都可以用。
从广受好评的 Apple Inc. 价格最低(?)的产品 USB-C 转 3.5 毫米耳机插孔转换器,到节奏坦克奏鸣曲 HD PRO,都是 USB DAC。只要通过一个转接头把这类 “小尾巴” 产品连到树莓派的 USB-A 口,Volumio 系统就能识别并使用它们进行模拟音频输出。
创新科技 Sound Blaster E5,也是 USB DAC。
甚至创新科技 Sound Blaster X-Fi Surround 5.1 Pro,还是 USB DAC,不仅能输出模拟音频,还能通过光纤输出数字音频给光纤解码器套娃玩。
这些不比淘宝上不知哪来的寨厂不知道是不是手工焊出来的树莓派专用 “HiFi” 子板强多了?不讲究的话用苹果或者戴尔的 USB-C 转 3.5mm 转接头,就算家里没有现成的,单买一个也就五十块钱,下限是能保证的。
最便宜是只要十五块一个的华硕 USB 小尾巴 DAC,用 ES9260Q(常见于华硕 ROG 主板的外置 DAC 等设备)芯片,粗测还可以,也能用,只是跟卖家说的一样,这个小尾巴不支持硬件调节音量所以还是有点局限,这个后面再说。
总之,从几百的高品质声卡到便宜的小尾巴,从模拟输出到数字输出,Volumio 都能通过 USB 提供各种丰俭由人的选择,除非强迫症一定要让声卡和树莓派结合成完整的一体,否则还有什么必要去选择杂牌树莓派专用 DAC 配件呢?
搞定硬件以后,软件的用法也扩展了。包括原本我希望用来替代 BubbleUPnP 的 DLNA (UPnP) 客户端在内,现在一共有三种用法:
一、DLNA (UPnP) 接收客户端
由 NAS 或者其他支持 DLNA (UPnP) 串流发射的设备做音源,Volumio 接收并解码传输到音箱
这种操作最方便的就是直接让 NAS 串流,毕竟 NAS 上有最大的存储空间和最容易访问的音乐库,然后让网页或者手机 DS Audio 软件进行遥控操作。由于 DLNA 串流是由 NAS 主动发送声音流媒体到接收设备,所以开始播放以后直接关闭网页或者 DS Audio 软件都是可以的,电脑或手机里再发出什么声音或者进行语音通话都不影响之前设定好的音乐播放。和本地播放再通过蓝牙或 WiFi 串流出去的方案相比,“发射后不管” 就是第三台设备遥控 NAS 串流给 DLNA 接收端的优点了。
二、AirPlay 接收客户端
由苹果设备串流发射做音源,Volumio 接收并解码传输到音箱
因为 Android 版 Apple Music 不支持 DLNA 流媒体播放,Apple Music 想要无线串流到 Volumio 只有用苹果设备 AirPlay 一种方式了。
AirPlay,本质上就是苹果的 DLNA,除了具备 DLNA 那样的一对一传输之外,从电脑(macOS 自带 的音乐或者 Windows 版 iTunes)和 NAS 通过 AirPlay 播放流媒体还可以一对多传输至全家的 AirPlay 音箱——DNLA 应该是没有原生支持这种用法,以至于共同播放、分组播放这些都是 Volumio 高级会员的付费功能。虽然 iOS 设备只能一对一传输(对音箱是这样的),但控制 NAS 让家里所有的 AirPlay 音箱同时播放也算是另一种曲线救国的方式。
Windows 版 iTunes 有内建 AirPlay 服务,可以通过复选框同时在多个 AirPlay 音箱和本机音频设备上输出。
点击群晖 Audio Station 的网页或者手机端的串流图标选择 “多个 AirPlay 设备” 也能同时把音乐投射到多个 AirPlay 音箱播放。
iOS 端哪怕播放本地音乐,一样只能单选一个音箱,但是选到苹果自家的电脑和盒子就出现了复选框可以一对多?
就算是一对一的播放,哪怕不讨论音质问题,在家中播放音乐这个场合下 AirPlay 和 DLNA 这样通过网络的串流传输还是比蓝牙方便的:蓝牙是一个点对点的协议,要连接蓝牙音箱(或耳机,下文省略)必须事先配对;而且大多数蓝牙音箱是一对一配对的,少数高端产品可以做到多对一,即数台播放器配对一个(或者一对)音箱,需要切换播放设备的话在另一台的蓝牙界面里点击连接音箱把正在连接的那台顶下来。AirPlay 和 DLNA 是局域网播放协议,安全认证早在加入局域网的时候就做好了,局域网里任何一台设备无需任何附加操作就可以随时连接无线音箱并替换之前正在串流的设备,而且这个连接操作在播放界面就能无缝完成。
三、台式音乐播放主机
由 Volumio 加载音乐文件并解码传输到音箱
安装了 Volumio 的电脑,本质上还是一台电脑。这台电脑可以通过局域网加载网络驱动器、加载媒体服务器上的音乐,当然还可以加载本地音乐。想要播放 USB 存储设备里的音乐,简单地插到树莓派的 USB 口便好;就算没有多余的 USB 存储设备,在局域网里访问 \\volumio 下面的 Internal Storage 文件夹就能把音乐文件复制到 Volumio 启动 SD 卡里的剩余空间里。当然,在有 NAS 的情况下我看不出任何使用本地文件的必要,通过 SMB 协议挂载 NAS 上的音乐文件存储目录然后扫描一遍就好。播放的控制可以通过网页或者手机端的 Volumio 客户端进行操作,本质上也是一种遥控。
需要注意的是不管本地还是远程目录,需要在专辑文件夹里存在不大于 5MB 的图片文件才能正确加载出封面。
那既然可以在 NAS 上打开 Audio Station 串流,为什么还要用 Volumio 加载 NAS 上的文件播放呢?我这里的用法是 Audio Station 和电脑的 iTunes 音乐库做文件镜像,存放的都是 AAC 和 MP3 等有损格式,但 Volumio 挂载的目录存放的是 Audio Station 里没有的无损文件,播放时可以带来额外的情绪价值。
另外要注意的是,无论 DLNA 还是 AirPlay,串流到 Volumio 都有两层音量设定,一层是在串流机的播放器上,另一层是在 Volumio 上;但是用 Volumio 主机播放音乐的话,唯一的音量控制就只在 Volumio 上。一般来说串流主机的播放器不太会开到 100% 音量,那么切换到 Volumio 上直接播放时音量极有可能超标,要记得提前关小。
而前述的华硕 USB DAC 和创新 Sound Blaster X-Fi Surround 5.1 Pro 并不支持硬件音量调节,那如果还想远程控制音量的话就要在 Volumio 的选项里打开软件音量控制才行。
在装好了这台 Volumio 音乐播放主机后,我的 LG G7 暂时处于吃灰状态。树莓派 4B 耗电极低(闲置时大约 4W,每月约 3 度电)且不带电池,可以长期开着当服务器没有心理负担,免去了给手机充电的麻烦且没有开机的等待过程,只需要打开音箱开关就可以立即进入播放状态——这还是因为我的 JBL Onbeat Venue 音箱会在闲置十分钟以后自动进入休眠状态所以才需要走到面前按一下电源开关,若非如此 “体贴” 的话操作更是方便,直接在手机或电脑上操作几下便可随时播放了。
可以想象,如果有一对漫步者 MR4 之类的性价比音箱,配合一台常开的 Volumio 主机就能变身为一台在 Sonos、Bose 那里价值数千元的无线智能音箱。毫无疑问,普通 3.5mm 输入的音箱选择面更广、达到同样音质的所需要付出的价格更低,升级它们只需要一台树莓派和价格从十几元到一两百元不等的 USB DAC。
我自己的这台 4GB 内存的树莓派 4B 在二手市场要接近 300 元,但如果选择树莓派 3B 或者 3B+ 就只要 120 到 150 元,跑 Volumio 的区别仅仅是 3B+ 提供 5GHz 的 Wi-Fi 而已;还有全新的 Zero 2W,也就 120 元左右,没有有线网卡和 5GHz WiFi,但是体积更小更省电……
也有很多人用闲置的电脑或者二手市场上的小型主机安装 x86 版的 Volumio,但很显然 x86 做到树莓派 4B 这个级别的耗电就很难了,更别说没有任何一台 x86 主机能做到树莓派的体积(别忘了给树莓派供电的电源也只有火柴盒大小),同时硬件兼容性也是树莓派占优——我几年前的 Intel 笔记本配 Intel AX200 无线网卡居然在 Volumio 上不能开启无线网络,找谁说理去?
其实在本文发稿时,我已经换了一张 SD 卡装了个 moode audio 又体验起来了。moode audio 系统虽然有界面全英文、串流时不能修改系统设置包括调节音量这些毛病,但是支持 AirPlay 2 可以让 iOS 同时串流到多个音箱,而且似乎更稳定一些,若是玩得好了就买个 Zero 2W 把音乐服务器纳入家中编制吧。