自从我购买了罗技现已过时的 Squeezebox Touch 以来,我就一直是 Squeezebox 的粉丝,我的家人至今仍在使用它。
Squeezebox Touch 提供了一个家庭友好的界面来访问我们的音乐库,可以直接在设备上访问,也可以通过一系列移动应用程序访问。罗技在 2012 年停止了它的开发,但我很高兴他们将 Squeezebox 的服务器软件开源为 Logitech Media Server,并提供了在物理 Squeezebox 设备上使用的开源代码。

SqueezeBox Touch,Steve Ellis,CC BY-SA 4.0
大约一年前,我决定为我的家庭办公室配备一些像样的音响,并想重新使用旧的 Raspberry Pi 1 Model B 作为音源。理想情况下,我想要一些与我们现有的 Squeezebox 生态系统兼容的东西,并寻找了各种选项。Logitech Media Server 很快成为我的选择。用于管理音频库的 Logitech Media Server 软件由社区更新,其中包含许多增强功能和错误修复(有关最新版本的信息,请访问 Slimdevices 论坛及其 Wiki)。
以下是我创建接近发烧级体验的三个步骤,您几乎可以在任何版本的 Raspberry Pi 上使用它。
阶段 1:概念验证
虽然 Raspberry Pi Model B 配备了标准的 3.5 毫米立体声音频插孔,但它的频率响应有限,并且容易受到很多干扰。后来的型号并没有真正改进这一点,但这绝对足以测试 Pi 作为 SqueezeBox 客户端。

Steve Ellis,CC BY-SA 4.0
基线硬件和软件
- 带外壳的 Raspberry Pi 1 Model B
- 128MB SD 卡
- 能够输出 1A 电流的 USB 充电器
- 3.5 毫米立体声音频线
- 网线
- 旧的笔记本电脑扬声器
- piCorePlayer 软件

Steve Ellis,CC BY-SA 4.0
PoC 阶段的一个主要目标是重新使用旧的备用设备——我猜我使用的 Altec Lansing 桌面扬声器大约有 20 年历史了,而 128MB SD 卡是我能找到的最小的备用卡。(后来我换成了 1GB SD 卡,因为 128MB 卡的可靠性有问题。)我还选择了物理网线,因为设备将以无头模式运行(没有屏幕),并且通过物理以太网电缆的 DHCP 易于实现和测试。另一个常见问题是 USB 电源质量差或不可靠,因此使用了 1 安培的电源。
我非常喜欢尽可能采用以设备为中心的方法,piCorePlayer 提供了一个微型的 Linux 构建版本,其中集成了 Squeezelite 软件客户端,用于 Logitech Media Server,并且易于安装。在底层,它是基于 TinyCore 的 Linux 在 RAM 中运行,并且仅在备份配置更改时才挂载存储。这使其非常能够抵抗断电。对于音频输出,它支持 3.5 毫米立体声插孔、HDMI 音频以及一系列 USB 数模转换器 (DAC)。此外,如果您想要更发烧级的体验,还有各种 I2C DAC,它们可以直接插入 Raspberry Pi。
我下载了 最新版本的 piCorePlayer 并将其安装到 SD 卡上;请注意,对于更新的 Pi,您需要使用 microSD 卡。此外,Raspberry Pi 不支持从 USB 设备启动。我使用 dd 通过 Linux 笔记本电脑上的读卡器将映像写入 SD 卡。
sudo dd if=piCorePlayer3.20.img of=/dev/mmcblk0 bs=16M
可选地,某些发行版现在附带了映像刻录工具,例如 Fedora Media Writer。

Steve Ellis,CC BY-SA 4.0
启动后,Pi 通过 DHCP 找到了一个 IP 地址,我可以通过浏览器连接以完成配置。
在 Squeezelite 的设置下,我将音频输出设置为模拟音频,然后单击保存。然后我为我的播放器指定了一个名称,该名称被 SqueezeCenter 服务器软件检测到,然后再次单击保存。

初始 PiCorePlayer 配置,Steve Ellis,CC BY-SA 4.0
使用我的 Squeezer Android 移动客户端,我现在可以在我的网络上看到两个 Squeezebox 客户端,旧的 Squeezebox Touch 和我的家庭办公室 piCorePlayer,我可以从我的音乐库中选择和播放音频。这是一个快速而简单的测试,但我确实遇到了一些音频问题。偶尔,如果我敲击或移动 Pi,扬声器中会出现嗡嗡声,并且音频质量不太理想。

Steve Ellis,CC BY-SA 4.0
阶段 2:USB 音频适配器
由于在阶段 2 中我仍然试图重新使用现有硬件,所以我抓取了一个旧的 USB 音频适配器,它随罗技耳机一起提供,希望这能提供比板载 3.5 毫米插孔更可靠的音频体验。

Steve Ellis,CC BY-SA 4.0
USB 适配器被 Pi 自动检测到。通过浏览器,我只需要将音频输出更改为 USB,并将输出设置更改为 front:CARD=Headset,DEV=0。单击保存后,我通过 USB 适配器在我的 20 年旧扬声器上获得了更可靠的音频。
在 piCorePlayer 网站上有一个关于各种 USB 设备的 很棒的指南;我已经更新了它,包括了罗技适配器的 USB ID。
阶段 3:发烧级音质?

Steve Ellis,CC BY-SA 4.0
我有一些备用的书架式扬声器,它们比笔记本电脑扬声器好得多,但没有电源来驱动它们。在这个阶段,我本可以使用支持 HDMI 的小型放大器并避免使用 USB 和 3.5 毫米输出,但我听说过带有内置 USB DAC 的小型放大器,并决定探索这条路线。
在阅读了大量正面评价后,我从当地供应商那里购买了一个 Topping VX1 放大器。这是一款精美的设备,功率足以满足小型家庭办公室环境的需求。USB DAC 可以被现代 Linux 内核自动检测到,并且可以与 piCorePlayer 很好地配合使用。

Steve Ellis,CC BY-SA 4.0

Steve Ellis,CC BY-SA 4.0
后续步骤:有阶段 4 吗?
您可能想知道,如果我从头开始,我是否会再次以相同的方式进行操作。
基本上是这样。如果我购买硬件,我会考虑使用像 Pi Zero 这样的设备。这个设备有一些很棒的发烧级附加组件,而且它的外形尺寸非常小。
对于放大器 DAC,我希望使用类似于我的老朋友 Bdale Garbee 正在开发的设备。 这些小型设备 将 PCM2705C USB DAC 与 TPA3118D2 D 类音频放大器结合在一起,可以作为 Topping VX1 放大器的替代品,提供一个简单、低成本且更加开放的解决方案。有关 Bdale 解决方案的更多信息,请参阅他在 linux.conf.au 2016 年的 演示文稿 或访问他的 项目网站。
如果我不是 Squeezebox 用户,我可能会考虑基于音乐播放器守护进程 (MPD) 的解决方案,也许使用像 Mopidity 这样的东西。
我正在考虑购买一个触摸屏,以提供更完整的类似 Squeezebox Touch 的体验。有一个完全开源的 Squeezebox UI 实现,它与 Pi 的触摸屏兼容。此外,我的女儿很快就会长大,不再使用她目前的立体声音响,这可能会提供一个机会,让我可以使用 Pi Zero 构建另一个与 Squeezebox 兼容的前端。
但现在,我正忙于享受我的家庭办公室中出色的音频质量,同时为 Opensource.com 撰写这篇文章,没有时间考虑下一步是什么。
5 条评论