正如我在上一篇文章中描述的那样,当我使用基于 Linux 的电脑听音乐时,我会将音乐通过专用的数模转换器(DAC)。为了确保音乐文件中的比特能够无损地传输到 DAC,而不会被电脑上的中间软件(如音频混音器)不必要地干扰,我喜欢将音乐播放器直接指向 ALSA 为外部设备提供的 hw 接口(或者,如果必要,则指向 plughw 接口)。
因此,当我听说新的音乐播放器时,我做的第一件事就是弄清楚如何配置输出设备。在评测了相当多的基于 Linux 的音乐播放器的过程中,我开始看到一种模式。
首先,相当一部分播放器依赖于 GStreamer 来播放音频。正如其网站所说,GStreamer 是一个多媒体框架,允许构建媒体处理组件的任意管道。就我而言,alsasink 插件可以在管道中使用,如下所示
gst-launch-1.0 -v uridecodebin uri=file:///path/to/my.flac ! audioconvert ! audioresample ! autoaudiosink
在默认的 ALSA 音频输出设备上播放文件 /path/to/my.flac
。请注意管道中使用了 audioresample
组件——这是我不想要的东西之一!此外,我不想使用 ALSA 默认输出——我想选择设备。
基于 GStreamer 的音乐播放器在输出的可配置性方面有所不同。一方面,像 QuodLibet 这样的播放器提供了精确配置输出的能力。另一方面,像 Rhythmbox 这样的播放器使用默认音频设备,这意味着——就我所知,无论如何——混音和重采样将会发生。例如,《PulseAudio 完美设置指南》解释说
使用现代 GStreamer 媒体框架的应用程序(如 Rhythmbox 或 Totem)可以通过 gst-pulse(GStreamer 的 PulseAudio 插件)来使用 PulseAudio…
然后展示了如何使用 gconftool
来启用它
gconftool -t string --set /system/gstreamer/0.10/default/audiosink pulsesink
到目前为止,我只找到了少数几个基于 GStreamer 的音乐播放器,它们允许我构建我想要的专用输出连接:QuodLibet、Guayadeque 和 Gmusicbrowser。这三款都是很棒的音乐播放器,但就我的使用而言——一旦配置好——我更喜欢 Guayadeque。
其次,还有另一组不使用 GStreamer 的播放器,它们采取不同的途径来将数据传输到输出设备。这些播放器的一个子组是 MPD 音乐服务器后端的客户端。在使用 MPD 后端的播放器中,Cantata 是 我最喜欢的,遥遥领先。当然,MPD 作为服务器的好处是它可以被其他设备控制,例如基于 Android 的手机或平板电脑。因此,对于连接到家庭立体声音响或影音中心的音乐播放器,MPD 是我的首选。
在我尝试过的支持我的用例的非 MPD、非 GStreamer 音乐播放器中,我真的很喜欢 Goggles Music Manager。
有了这些背景知识,让我们来看看一些对我来说是新的播放器。
Museeks 音乐播放器
Museeks 音乐播放器在 GitHub 上以源代码或二进制文件(.deb、.AppImage、.rpm、amd64 或 i386)的形式提供。快速浏览了一下代码,我看到 Museeks 是一个 Electron 应用程序,这让我觉得有点意思。.deb 文件安装没有问题,启动后我看到了 Museeks 用户界面,我发现它既简单又吸引人。

点击“音频”选项卡后,我看到的唯一选项是更改播放速率,这对我不感兴趣。在进一步在线搜索后,我在 GitHub 上提出了一个 issue,询问此事,并得到了 Pierre de la Martinière 的快速而友好的回应,他说他觉得这很有趣,并且会研究一下。因此,目前,在没有配置输出能力的情况下,我将暂停使用这款看起来很有趣的播放器。
LPlayer 音乐播放器
LPlayer 音乐播放器也在 GitHub 上提供,并且也作为 Ubuntu PPA 提供。我使用了后者来安装当前版本,安装过程没有问题。LPlayer 提供了一个非常简单的用户界面:音频文件(音乐或其他)从文件系统加载到当前播放列表中,让人想起 VLC。我不介意这种组织方式,但我更喜欢更广泛的、基于标签的音乐浏览器。然而,轻量级播放器有其自身的魅力,所以我继续进行了评估。
这是加载了两首曲目的 LPlayer 主屏幕

“设置”控件提供正在播放曲目的当前位置、播放速度、“消除静音”和“连续播放”选项以及图形均衡器,但没有输出设备配置。

一些源代码调查显示 LPlayer 使用 GStreamer。我决定联系作者 Lorenzo Carbonell,看看他对在应用程序内配置 GStreamer 播放管道的想法有什么看法。在收到他的回复之前,我将把这款小巧的播放器搁置一旁。(顺便说一句,Linux 粉丝们,Carbonell 先生有一个非常棒的西班牙语 Linux 博客,El Atareao-Linux para Legos)。
Elisa 音乐播放器
根据 KDE 社区网站,Elisa 音乐播放器旨在“与 KDE 社区的 Plasma 桌面提供非常好的集成,同时不影响对其他平台的支持”。总有一天,我需要设置一个 KDE 桌面,以便在原生环境中尝试一下这些东西,但这不在本次评测的计划之内。
我查看了 “Try It” 说明,以了解我如何,嗯,尝试一下它。根据该页面,我的选择是:1) 尝试 Flatpak,2) 安装 ArchLinux 并使用可用的 AUR,或 3) 安装 Fedora,因为“通常会打包发行版”。基于这些选项,我认为是时候尝试一下 Flatpak 了……
me@mymachine:~/Downloads$ sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
me@mymachine:~/Downloads$ sudo flatpak remote-add --if-not-exists kdeapps --from https://distribute.kde.org/kdeapps.flatpakrepo
flatpak install kdeapps org.kde.elisa
Required runtime for org.kde.elisa/x86_64/master (org.kde.Platform/x86_64/5.9) is not installed, searching...
Found in remote flathub, do you want to install it? [y/n]:
嗯,让我想想,org.kde.Platform
… 也许我不想引入所有这些东西。我想我也要暂停使用这款播放器,直到我有时间设置一个 KDE 环境。
本轮结论
嗯,实际上并没有太多结论,除了 Museeks 和 LPlayer 再次印证了我的印象,即对于许多 Linux 音乐播放器来说,能够无损地将音乐数据传递到 DAC 并不是主要的设计目标。这真的很遗憾,因为有很多不错到优秀的低成本 DAC 与 Linux 兼容,并且在将数字信号转换为美妙的模拟信号方面做得非常出色。
别忘了音乐
我再次购买了音乐下载,这次是在 7digital 的 Linux 友好商店。我购买了 Fela Kuti 的三张很棒的专辑,CD 音质 FLAC 格式:《Opposite People》、《Roforofo Fight》和《Unnecessary Begging》。这个人创作了太多伟大的音乐!这些文件的音质总体上相当不错,这是一种享受。《Opposite People》可以追溯到 1977 年,《Roforofo Fight》到 1972 年,《Unnecessary Begging》到 1982 年。
我还购买了 Trentemøller 2016 年的专辑《Fixion》。自从我第一次接触到 The Last Resort 以来,我就喜欢他的作品。这部 视频纪录片 提供了一个关于 Trentemøller 和他的音乐的有趣视角,他的音乐非常独特;我喜欢他对吉他的运用,有时会让人联想到 60 年代的冲浪音乐。7digital 上的版本是 96KHz/24bit 的,所以我买了那个版本。
6 条评论