如何使用 Armbian 为音乐服务器供电

逐步指导,用 Armbian 替换不再维护的 Linux 音乐服务器发行版。
471 位读者喜欢这篇文章。
open source music with piano keys background

Opensource.com

一段时间以来,Archphile 一直是我家用音乐服务器的首选 Linux 发行版。我非常遗憾地宣布,Archphile 似乎已经停止维护,或者至少其 网站 表明如此。

这种情况促使我考虑新的音乐服务器发行版。一方面,有很多选择,例如 KodiOpenELECAudiophileLinuxVoyage MPD,或者我甚至可以尝试安装我最喜欢的通用发行版的服务器版本。但是,还有一个额外的细节需要考虑——硬件。就我而言,我有两台 CuBox-i4Pro 电脑,专门购买用作家用音乐服务器。虽然它们不是奇怪的专用硬件,但也不是无处不在的 Raspberry Pi 变体。因此,我需要找到一个发行版,最好是适合音乐播放的,可以在 CuBox 上运行的发行版。我再次尝试了 Volumio(在 Archphile 之前,这是我的首选)。我喜欢新的用户界面以及安装后看到的内容,但不幸的是,我遇到了 一个致命的错误

在我的探索过程中,我对 CuBox 了解得更多。我已经知道它使用了 U-Boot,但在我的研究中,我开始看到一些评论,让我意识到这个黑色小盒子有一些略微不寻常的地方。Gentoo Linux wiki 条目 非常具有启发性(对于该发行版来说通常是这样),例如,它解释了主线支持仅在 2017 年 1 月才到来。我开始明白,这与为最新的台式机寻找最新的发行版不太一样。

最终,我决定尝试 Armbian

为 CuBox-i4Pro 获取 Armbian

Armbian 下载页面 展示了一个“流氓画廊”,其中展示了该发行版运行的基于 ARM 的计算机。CuBox 列在最后,点击它会弹出 下载选项。我决定选择服务器选项,并且我注意到两者都基于主线内核。

那里出现的评论“音频在并非所有设备上都有效”让我犹豫了一下,但只有一种方法可以确定。(顺便说一句,赞扬 Armbian 团队提供了一个简洁、简单、信息丰富的下载页面。)

准备步骤建议使用 Etcher,但我决定使用我的系统磁盘的实用程序代替。从其菜单中,我选择了“恢复磁盘映像”,并从恢复子窗口中选择了 Armbian 映像

Armbian_5.25_Cubox-i_Ubuntu_xenial_next_4.9.7.img

请注意,确保目标是 SD 卡而不是系统驱动器**非常重要**!!**不要**将 Armbian 映像写入您的系统驱动器。

我的磁盘实用程序给了我一张 SD 卡,其中包含一个分区和一大堆可用空间,但是精美的 Armbian 入门文档 承诺系统将在首次启动时扩展以占用可用空间。幸运的是,我当时有头脑选择了一张不错的快速 SD 卡;我能够实现持续 75 MB/秒的写入速度,这预示着系统响应会很好很迅速。

安装 SD 卡并启动 Armbian

在 CuBox 中安装 SD 卡非常简单,尽管相对于 CuBox 的方向,它似乎是倒置插入的,这有点奇怪。

由于 Armbian 提供了工作控制台,我将 USB 键盘和 HDMI 电缆插入了 Cubox 的背面。我还连接了以太网电缆和来自外部硬盘的 eSATA 电缆,我准备好了。

令我非常欣慰的是,一切都完全按照 Armbian 文档中的说明进行。再次,我对维护者表示敬意。做得好!

一旦我创建了我的用户 ID,我就可以立即通过 SSH 登录。此屏幕截图显示了它的外观。

logging in to CuBox with Armbian

我继续按照说明进行操作,更新软件,并设置固定的 IP 地址。最后,我使用了 ssh-copy-id 进行基于密钥的身份验证。

此时,我拥有了一个基本的工作系统。现在我需要安装 音乐播放器守护进程 (MPD) 并让音乐播放起来...

安装 MPD 并挂载音乐驱动器

我使用 apt 安装了 MPD。事实证明,MPD 带来了很多其他软件包——我不明白为什么 MPD 需要 DejaVu 核心字体,但无论如何...

installing MPD

这一切都以直接的方式进行。

接下来,我设置了挂载点并挂载了包含我的音乐文件的硬盘。

Setting the mount point

幸运的是,我的音乐文件归用户 MPD 组音频所有,因此我无需在此处进行任何更改。但是,由于我希望在启动时挂载此驱动器,因此我需要更改 /etc/fstab,使其包含一行(在本例中,是以 /dev/sda1 开头的行),指示系统挂载该设备

instructing the system to mount the device

最后,我必须告诉 MPD 音乐的位置。有两种方法可以做到这一点:可以更改 MPD 配置以反映音乐的位置,或者可以将默认位置链接到音乐的实际位置。出于某种原因,第二种方法似乎是最常见的;这可能是为了允许多个位置用于分布在系统中的音乐。我决定采用这种方法。

linking MPD to the music location

接下来,是时候通过编辑文件 /etc/mpd.conf 来配置 MPD 了。手册页 mpd.conf(5) 是了解此配置的绝佳资源,因为它包括对配置参数的合理描述,并且按主题组织良好。ArchLinux wiki 像往常一样,对此任务提供了出色而详细的描述,MPD 用户文档 也是如此。还有许多其他指南。

幸运的是,我有一个非常简单的用例。按照 MPD 用户文档逐步进行,我将默认音乐目录位置保持为

music_directory         "/var/lib/mpd/music"

并保持 MPD 的默认行为,即遵循音乐目录中的符号链接

#follow_outside_symlinks        "yes"

(请注意,上面行首的 # 将其变成注释,这意味着“不要更改行为”)。

我目前不需要更改数据库插件或邻居插件的默认配置。我的 MPD 安装程序预配置了 curl 输入插件,我保持原样。同样,我不打算配置任何解码器插件,因此,根据用户文档,我跳过了有关解码器插件的部分,直接进入音频输出。

关于音频输出,我的需求非常具体。我总是使用通过 USB 连接的外部数模转换器 (DAC),并以其原始比特率和字深度播放脉冲编码调制 (PCM) 音乐文件。我使用 第一代 Schiit Fulla,这是一个廉价的组合 DAC/耳机放大器,是我几年前购买的。此外,我的 DAC 专门用于 MPD 的音乐播放,因此我不希望进行任何软件混音、重采样或任何其他输出流。这就是通常所说的“比特完美播放”。在 MPD 用户指南中,有一个关于此设置的 简短章节

鉴于这些要求,高级 Linux 声音架构 (ALSA) 输出插件非常适合我的需求。如果我选择正确的输出设备,它会将我的音乐原封不动地传递到 DAC。为了确定输出设备,我使用了 aplay 命令

using the aplay command to determine the output device

由于我不想要任何转换,因此我选择了设备 hw:CARD=Schiit,DEV=0。我还想知道 MPD 的设备编号,所以我再次使用了 aplay

using the aplay command to determine the device number

上面两个屏幕的组合告诉我,我可以将设备称为 hw:1,0

然后我必须调整音频输出部分的默认配置

default configuration of the audio output section

我需要设置输出设备并关闭混音器和重放增益处理程序。我还想更改名称。然后我的音频输出部分看起来像这样

audio output section after changing the name

继续阅读 MPD 用户指南,我不需要任何过滤器、播放列表插件(目前是这样)、修复音频格式设置(因为我希望我的 DAC 处理原始文件),也不需要修改 其他设置

就是这样。安装 mpc MPD 客户端并使用该命令更新 mpd 的数据库非常方便

Updating MPD's database

此时,可以使用 mpc 检查数据库是否已加载

Using mpc to check that the database is loaded

听起来差不多——6,535 首歌曲可以播放。是时候尝试一下了,首先使用 mpc

playing a song

听起来棒极了!现在清理物理混乱,并将其连接到厨房放大器和扬声器!

connecting to speakers

还有音乐...

在我结束之前,我需要推荐一首音乐:Quantic 和 Nidia Gongoro 的 Curao,可在 Bandcamp 上购买,有黑胶唱片、CD 或 FLAC 下载。很棒的非洲哥伦比亚音乐!我订购了 LP,它以黄色黑胶唱片的形式送达,并嵌入了绿色泼墨。听起来太棒了,尤其是第 2 面结尾处那些震撼大地的鼓声。当然,在对艺术家友好、对 Linux 友好的 Bandcamp 上购买东西总是很棒的。

Chris Hermansen portrait Temuco Chile
自从 1978 年毕业于不列颠哥伦比亚大学以来,我几乎一直与某种计算机为伴。自 2005 年以来,我一直是全职 Linux 用户,从 1986 年到 2005 年一直是全职 Solaris 和 SunOS 用户,在此之前是 UNIX System V 用户。

评论已关闭。

© . All rights reserved.