MPD 是一款免费的开源音频播放器,能够处理海量音乐库(数万首歌曲),速度极快,占用资源极少。
它采用服务器-客户端架构。只需在包含音乐数据库的电脑或笔记本电脑上安装并配置服务器包,然后使用同一台电脑上的客户端应用程序、智能手机、网页浏览器,甚至命令行工具来管理播放列表并控制音频播放。
MPD 支持通过 http 传输音频流,这意味着您可以同时在多个设备(例如智能手机、远程扬声器)上同步收听音乐。
步骤 1:安装 MPD 服务器端
MPD 在 Ubuntu 和大多数 Linux 系统软件库中均可用。
要在基于 Debian 和 Ubuntu 的系统中安装 mpd 守护进程包,只需打开终端 (Ctrl+Alt+T) 并运行命令:
sudo apt install mpd
如果安装失败,请尝试启动“软件和更新”实用程序,并确保在“可从 Internet 下载”部分下启用了“main”和“universe”,然后运行 sudo apt update 刷新包缓存。
如果嫌Ubuntu 中的 MPD 包旧,可以从软件网站下载最新版本,然后自行编译搭建,方法详见官网。
步骤 2:配置 MPD 服务器端
安装守护进程包后,您可以编辑以下任一文件来配置服务器:
~/.config/mpd/mpd.conf – 每个用户的配置。
/etc/mpd.conf – 系统范围的配置。
由于 Ubuntu 现在默认使用 PipeWire 声音服务器,建议使用每个用户的配置并将守护进程作为用户服务启动。
1.创建当前用户下的本地 mpd 目录。.config/mpd 目录并非开箱即用。因此,首先在终端中运行命令 (Ctrl+Alt+T) 创建该目录
mkdir -p ~/.config/mpd
同时在该目录中创建 playlists 子文件夹用于存储播放列表:
mkdir -p ~/.config/mpd/playlists
2.编辑每个用户的配置文件(推荐)。接下来,逐个运行以下两个命令,从 /etc 复制 conf 文件,并将所有权更改为当前用户.
复制配置文件:
sudo cp /etc/mpd.conf ~/.config/mpd/
修改权限:
sudo chown $USER:$USER ~/.config/mpd/mpd.conf
最后,运行以下命令通过 nano 命令行文本编辑器进行编辑:
nano ~/.config/mpd/mpd.conf
打开文件后,添加或启用(删除开头的 #),并编辑配置以下几行:
- “music_directory”用于指定歌曲的存放位置
- “playlist_directory”用于保存播放列表
- “db_file”用于加载/保存数据库。
找到对应行修改为实际路径
music_directory "/home/xxx/Music/"
playlist_directory "/home/xxx/.config/mpd/playlists"
db_file "/home/xxx/.config/mpd/tag_cache"
请将xxx替换为您的用户名(运行 whoami 命令可查看当前ubuntu用户名即可)。
接下来,编辑服务器状态和贴纸数据库的位置,以及运行 MPD 守护进程的用户:
state_file "/home/xxx/.config/mpd/state"
sticker_file "/home/xxx/.config/mpd/sticker.sql"
user "xxx"
另外,将xxx替换为您的用户名。
然后,设置地址和监听端口(默认值即可)。
bind_to_address "localhost"
port "6600"
对于每个用户的配置 (即修改.config/mpd/mpd.conf),将音频输出设置为“pipewire”:
audio_output {
type "pipewire"
name "PipeWire Output"
}
如果采用系统范围的配置 (即修改/etc/mpd.conf),请启用“pulse”,因为 pipewire 无法正常工作:
audio_output {
type "pulse"
name "My Pulse Output"
server "localhost"
}
要将音频流传输到多个设备,请启用并编辑“httpd”输出类型:
audio_output {
type "httpd"
name "My HTTP Stream"
# 编码器 "lame" # 可选,vorbis 或 lame
port "8802"
bind_to_address "192.168.0.104" # 可选,IPv4 或 IPv6
}
如果您想添加密码验证,请设置如下行:
password "12345abc@read,add,control,admin"
本例中,12345abc 是身份验证密码。完成后,按 Ctrl+S 保存更改,按 Ctrl+X 退出。注意:您可以相应地更改上述所有目录位置。但是,您设置的“用户”必须对“music_directory”拥有读取权限,并对上述其他目录拥有读写权限。
更多配置,请参阅文件内说明或官方文档。
步骤 3:配置 pipewire-pulse
注意:此步骤仅在将 mpd 作为系统服务运行时才需要(而不是以 –user 方式运行)。
本文强烈建议采用user运行,即上文中修改~/.config/mpd/下的配置文件。因此本步骤省略。
步骤 4:启动 MPD 守护进程
要将 MPD 作为用户服务运行(推荐),请运行以下命令:
systemctl --user enable --now mpd
其中 --user 表示将其启用为用户服务,--now 表示启用后立即启动服务。
由于服务可能由于任何错误配置而启动失败,请运行以下命令检查状态。
systemctl --user status mpd
如果出现任何错误,您可以重新运行步骤 2 中的 nano 命令(使用 -l 参数显示行号)来再次编辑配置文件。然后,重新启动 MPD 服务以重新加载更改:
systemctl restart --user mpd
运行正常可关闭客户端。
步骤 5:安装 MPD 客户端、连接并开始使用
最后,在本地计算机、远程计算机或移动设备上安装 MPD 客户端应用。MPD 网站上列出了一些客户端应用。
其中较为出名的有以下几个:
(1)cantata
基于qt的客户端,ubuntu库里就有,apt安装即可:
sudo apt install cantata
首次运行时需要配置参数,在下图的端口处、密码(12345abc)、文件夹路径处填上相关参数即可。
(2)Euphonica
Euphonica基于响应式 GTK4 LibAdwaita 用户界面,支持大多数 MPD 功能,从播放控制、队列重新排序和 ReplayGain 等基本功能,到输出控制、交叉淡入淡出和 MixRamp 配置等功能。自动从外部来源获取专辑封面、艺术家头像和(同步的)歌词(目前支持 Last.fm、MusicBrainz 和 LRCLIB)。所有外部获取的元数据均缓存在本地并保存在磁盘上,以避免不必要的 API 调用。内置可自定义的频谱可视化工具,可从 MPD FIFO 或系统 PipeWire 读取。
由于这些特质,使得Euphonica的体验较好,尤其在刮削封面这块。
安装可采用Flatpak:
flatpak install https://dl.flathub.org/repo/appstream/io.github.htkhiem.Euphonica.flatpakref
更新:
flatpak update io.github.htkhiem.Euphonica
卸载:
flatpak uninstall --delete-data io.github.htkhiem.Euphonica
完毕。