9.5 音频播放器

FreeBSD 操作系统支持多种音频播放器,本节将介绍几款常用播放器的安装配置和使用方法。

Audacious

安装 Audacious

  • 使用 pkg 二进制包管理器安装:

# pkg install audacious audacious-plugins

注意

audacious-plugins 插件包是 Audacious 主程序运行的必要依赖,不安装该插件包则无法正常启动 audacious 主程序。

  • 或者使用 Ports 源码编译安装:

# cd /usr/ports/multimedia/audacious/ && make install clean
# cd /usr/ports/multimedia/audacious-plugins/ && make install clean

使用

.m4a(杜比 AC‑4 编码)、.flac(无损音频压缩编码)、.av3a(AVS2/AVS3 编码)等音乐格式进行兼容性测试:

技巧

经测试验证,Audacious 仅原生支持 .flac 格式,目前不支持 .m4a.av3a 等编码格式。

VLC

VLC 播放器的安装等方法可参见其他相关章节。需要说明的是,FreeBSD 中的 ffmpeg 多媒体框架默认构建配置未启用对 libuavs3d(该库提供 AVS2/AVS3 解码支持)的编译支持,本文不再展开相关的重新编译配置方法。

经过实际测试,VLC 播放器可以正常播放 AC‑4 编码的 m4a 格式音频:

用 MPD 播放 DSD

Music Player Daemon(MPD)是一款灵活、强大且可扩展的音乐播放器守护进程系统,可运行于服务器或个人计算机上,并通过多种客户端程序进行远程控制。

MPD 的主要功能特性包括:支持多种音频格式解码、采用客户端—服务器分离架构、提供完善的播放列表管理、支持流媒体传输以及具备跨平台运行能力等。

准备

需要准备硬件支持 DSD(Direct Stream Digital,直接比特流数字)格式的声卡或 DAC(Digital-to-Analog Converter,数模转换器),以及一段 DSD 编码的音频文件用于测试。

以下配置说明基于 FreeBSD 14.0 操作系统,外置 DAC 使用海贝 R3 作为示例设备(其他类似声卡的配置方法基本相同),并采用 OSS(Open Sound System)音频驱动。

安装

或者通过 Ports 源码编译安装:

硬件设置

首先查看当前系统声卡和音频设备状态:

在本示例中要使用的是 pcm2 设备,其对应的设备文件路径为 /dev/dsp2,下文配置中会使用该路径。

可以使用 sysctl -d dev.pcm.2 命令查看相关硬件参数的详细含义,摘录关键的三项参数如下:

按照如下所示进行参数设置(可将这些配置写入 sysctl.conf 文件以实现系统重启后的永久生效):

参数说明:

  • 由于使用的是 OSS 音频驱动,Music Player Daemon 只能采用 DoP(DSD over PCM)传输模式,而 DoP 模式要求必须启用 bit-perfect 比特完美模式。

  • 采样率(vchanrate):DSD 音频的采样率为 44.1 kHz 的整数倍,因此不应设置为 48 kHz 的整数倍,否则可能产生音频杂音;在硬件条件允许的情况下应设置为尽可能高的数值,此处示例设置为 352.8 kHz。

  • dev.pcm.2.play.vchanmode 虚拟通道模式参数说明:

    • 0(fixed,固定模式):在该模式下,音频设备使用固定的采样率和格式处理多路音频流。

    • 1(passthrough,直通模式):在该模式下,音频设备尽可能保持输入音频流的原始采样率和格式,不进行额外的转换处理。

    • 2(adaptive,自适应模式):在该模式下,音频设备会根据需要自动适配并转换输入音频流的采样率和格式。

技巧

可以用 dmesg 命令查看内核日志中记录的硬件支持的可用采样率。在播放非 DSD 文件时,采样率设置为与音频文件本身采样率相同(或其整数倍)为宜,这样可以避免重采样过程造成的音质损失。需要注意的是,采样率并非越高越好,可以通过多次尝试找到最适合当前硬件配置的设置。

查看内核消息中与 pcm2 声卡相关的日志:

基本设置

Music Player Daemon(musicpd)的配置文件为 /usr/local/etc/musicpd.conf

其中默认使用的部分目录结构如下:

上述目录需要自行创建。

修改 /usr/local/etc/musicpd.conf 文件,在 "Default OSS Device" 一节后面增加一节:

技巧

可以指定多个输出设备,并在各类客户端中按需启用或禁用相应的输出设备。

开启 musicpd 服务

客户端使用

可以使用 ncmpc(字符界面)、MaximumMPD(iPhone)等多种客户端,客户端选择较为丰富。

PC 端的 GUI 客户端建议使用 Cantata(pkg install cantata)。

命令行环境下建议安装 mpc(pkg install musicpc),适合用于绑定桌面环境的全局快捷键。

最后更新于