解鎖 MPD + ncmpcpp 終極輕量的音樂播放體驗!Arch Linux 的音樂播放利器!

MPD ( Music Player Daemon ) 與 ncmpcpp 這兩個程式,都是在終端機 ( terminal ) 底下操作的。

會選擇這工具的主要原因,是在嘗試音樂播放軟體的時候, MPD ( Music Player Daemon ) 超乎我的想像,在後面我會說明我聆聽的心得。

而且對於沒有安裝桌面環境的 Arch Linux 用戶來說,使用終端機播放音樂是相當方便的。

下面我會以 MPD + ncmpcpp 來做安裝與設定教學。


什麼是 MPD ( Music Player Daemon ) 與 ncmpcpp

MPD ( Music Player Daemon ) 是一個在電腦背景運作的,伺服器端 ( Server ) 音樂播放器守護程式。

它除了可以播放音樂外,MPD ( Music Player Daemon ) 也附帶音樂管理列表相關功能,但是要控制 MPD 還需要一個客戶端 ( Client ) 工具。

可以搭配 MPD ( Music Player Daemon ) 客戶端的工具相當多,這裡我選擇 ncmpcpp 這個工具。

其他的客戶端工具可以到 Arch Linux MPD wiki 進行瞭解。


安裝與設定 MPD ( Music Player Daemon )

直接使用指令安裝 MPD:

sudo pacman -Sy mpd

安裝好後複製全域設定檔到指定位置:

sudo cp /usr/share/doc/mpd/mpdconf.example /etc/mpd.conf

建立 MPD 需要的目錄:

mkdir -p ~/.config/mpd/
mkdir ~/.config/mpd/playlists
mkdir ~/Music

創建MPD 需要的檔案:

touch ~/.config/mpd/mpd.conf
touch ~/.config/mpd/database

修改 MPD 設定檔:

vim ~/.config/mpd/mpd.conf

添加設定到 mpd.conf:

music_directory         "~/Music"
playlist_directory      "~/.config/mpd/playlists"
db_file                 "~/.config/mpd/database"
log_file                "~/.config/mpd/log"
pid_file                "~/.config/mpd/pid"
state_file              "~/.config/mpd/state"
sticker_file            "~/.config/mpd/sticker.sql"
bind_to_address         "127.0.0.1"
bind_to_address         "~/.config/mpd/socket"
port                    "6600"
log_level               "default"
restore_paused          "yes"
auto_update             "yes"
auto_update_depth       "4"

input {
        plugin "curl"
#       proxy "proxy.isp.com:8080"
#       proxy_user "user"
#       proxy_password "password"
}

audio_output {
     type            "pipewire"
     name            "PipeWire Sound Server"
}

audio_output {
       type    "fifo"
       name    "Visualizer"
       path    "/tmp/mpd.fifo"
       format  "44100:16:2"
}

在 audio_output 這邊需要注意一下,如果你的裝置類型不是 pipewire。

需要根據自己的設定更改,這在安裝 Arch Linux 時需要留意。

如果你是按照這篇文章:使用archinstall 安裝 Arch Linux 的話,直接使用上面的 pipewire 即可。

ALSA 的設定:

audio_output {
        type          "alsa"
        name          "_ALSA sound card_"
        # Optional
        #device        "_iec958:CARD=Intel,DEV=0_"
        #mixer_control "PCM"
}

pulse 的設定:

audio_output {
        type            "pulse"
        name            "_pulse audio_"
}

安裝完成後啟動 MPD:

mpd

掛載 USB 外接硬碟

確認 USB 硬碟裝置:

lsblk

創建資料夾:

mkdir /mnt/music

將 USB 硬碟掛載上去( /dev/sda1 是我 USB 硬碟的名稱,這裡改成你的裝置名稱 ):

sudo mount /dev/sda1 /mnt/music

要移除掛載的裝置可以執行命令:

sudo umount /mnt/music

查看是否有正常掛載:

ls /mnt/music

需要修改 MPD 設定檔:

vim ~/.config/mpd/mpd.conf

將音樂所在目錄,改成新掛載的資料夾:

music_directory         "/mnt/music"

完成後需要重啟 MPD ( Music Player Daemon ) :

mpd --kill
mpd

安裝與設定 ncmpcpp

安裝 ncmpcpp:

sudo pacman -Sy ncmpcpp

創建需要的目錄:

mkdir -p ~/.config/ncmpcpp/lyrics

創建 ncmpcpp 設定檔:

touch ~/.config/ncmpcpp/config

修改 ncmpcpp 設定:

vim ~/.config/ncmpcpp/config

將下面的設定添加到 ncmpcpp/config:

ncmpcpp_directory = ~/.config/ncmpcpp
lyrics_directory = ~/.config/ncmpcpp/lyrics  
mpd_music_dir = ~/Music
mpd_host = localhost
mpd_port = 6600
mpd_crossfade_time = 5

#介面:
user_interface =                         "alternative"
alternative_header_first_line_format =     "$(white)─┤ $b$(magenta)%a$(end)$/b ├─$(end)"
alternative_header_second_line_format =    "$(16)%t (%y)$(end)"
alternative_ui_separator_color =         "cyan"

#顯示格式:
song_columns_list_format =                 "$L (10)[white]{n} $1│$7 (20)[magenta]{a} $1│$7 (20)[white]{b} $1│$7 (20)[magenta]{t} $1│$7 (20)[white]{l}"
now_playing_prefix =                     "$b"
centered_cursor =                         "no"
cyclic_scrolling =                         "yes"
mouse_list_scroll_whole_page =             "no"

#雜項設定:
autocenter_mode =                         "yes"
display_bitrate =                         "yes"
header_visibility =                     "yes"
statusbar_visibility =                     "yes"
progressbar_look =                         "▃▃▃"

#音樂可視化設定:
#visualizer_output_name =                 "FIFO"
#visualizer_in_stereo =                     "no"
#visualizer_fifo_path =                     "/tmp/mpd.fifo"
#visualizer_sync_interval =                 "10"
#visualizer_type =                         "spectrum"
#visualizer_look =                         "▋▋"

#顏色:
color1 =                                 "white"
color2 =                                 "red"
discard_colors_if_item_is_selected =     "yes"
main_window_color =                     "white"
header_window_color =                     "4"
progressbar_color =                     "cyan"
statusbar_color =                         "red"
volume_color =                             "4"
window_border_color =                     "white"
active_window_border =                     "4"
EOL

啟動 ncmpcpp:

ncmpcpp

細節說明

如果有遇到放在指定目錄的音樂檔案,搜尋不到的情況。
只需把資料庫檔案 ( ~/.config/mpd/database ) 移除後,重啟 MPD 讓它重建就可以了。


使用方法

1 – 目前播放列表
2 – 檔案目錄瀏覽器(滑鼠左鍵點擊或按空格可加入到播放清單)
3 – 資料庫搜尋
4 – 庫
5 – 播放清單編輯器
6 – 標籤編輯器
7 – 輸出選擇器
8 – 可視化
= – 鐘
F1 – 幫助
q – 退出
f – 向前看
b – 向後看
\ – 切換視圖
# – 顯示檔案位元率
i – 顯示歌曲訊息
I – 顯示藝術家訊息
l – 顯示/隱藏目前歌曲的歌詞
> – 下一首
< – 上一首
p – 播放/暫停
+ – 增加音量
- – 減小音量


結語

一直以來我都認為精簡作業系統,加上輕巧的音樂播放軟體,對播放的音質有絕對的影響。

這裡再次驗證了多年來我不斷嘗的感想。

因為在比較聆聽的時候,實際聽感比其他桌面環境的播放軟體,有著更多的細節,聽大編制的交響樂時,樂器清晰度也比以往更分明。

嘗試過之後,這會是我在 Arch Linux 下優先選擇的音樂播放工具。

如果你也有興趣的話,可以嘗試使用看看 MPD ( Music Player Daemon ) + ncmpcpp 來播放音樂。


訂閱電子報-新

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *