ncmpcpp - Arch Linux 中文维基

跳至內容

# ncmpcpp

出自 Arch Linux 中文维基

翻譯狀態：

- 本文（或部分內容）譯自 Ncmpcpp，最近一次同步於 2025-10-03，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

相關文章

- MPD

Ncmpcpp 是一個 mpd 客戶端（與 mopidy 兼容），其 UI 與 ncmpc 非常相似，但它提供了新的實用功能，例如：支持對音樂庫的正則表達式搜索、對擴展的音頻格式的支持、項目過濾、播放列表排序以及在本地音樂庫上的文件系統瀏覽器。

ncmpcpp/mpd 以客戶端/伺服器關係工作，因此您需要能在系統上運行 mpd 才能使用 ncmppp

## 安裝

安裝 ncmpcpp包 軟體包，或者開發版本 ncmpcpp-gitAUR。

## 基本配置

ncmpcpp 的 shell「GUI」是高度可定製的，可以根據自己的喜好編輯 `$XDG_CONFIG_HOME/ncmpcpp/config` 來定製。如果在安裝後尚未創建 `$XDG_CONFIG_HOME/ncmpcpp/config`，只需複製示例配置，修改所有者並至少編輯以下三個配置選項：

- mpd_host - 應指向 mpd 所在的主機，如果在同一台計算機上，可以是「localhost」、「127.0.0.1」或「::1」。要使用密碼連接，請設置為「password@host」
- mpd_port - mpd 的默認值應為 「6600」
- mpd_music_dir - 應與 `mpd.conf` 中的「music_directory」中指定的路徑值相同

如需靈感，可以參閱以下資源：

- `/usr/share/doc/ncmpcpp/config` 中的示例配置文件。
- 分享您的 .ncmpcpp/config 與屏幕截圖的論壇線程

## 啟用音頻可視化

對於音頻可視化，請在 `/etc/mpd.conf` 或 `~/.config/mpd/mpd.conf` 中添加以下幾行來生成用於可視化的快速傅立葉變換數據：

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

注意：對於正常的音頻輸出，可能需要額外添加一個 `audio_output` 片段。具體細節請見Music Player Daemon#配置音頻

下面的幾行也需要被添加到 `$XDG_CONFIG_HOME/ncmpcpp/config` 中

    visualizer_data_source = "/tmp/mpd.fifo"
    visualizer_output_name = "my_fifo"
    visualizer_in_stereo = "yes"
    visualizer_type = "spectrum"
    visualizer_look = "+|"

- visualizer_type - 將可視化設置為 `spectrum`/`ellipse`/`wave_filled` 分析儀或 `wave` 形式。
- visualizer_look - 設置可視化工具的外觀（字符串長度必須恰好是 2 個字符：第一個用於 `wave`，第二個用於`spectrum`/`ellipse`/`wave_filled`）

注意：如果遇到了同步問題，將 `mpd` 配置中 `buffer_time` 的值修改為 100000 或更低.

如果使用 mopidy, 則可視化是由 gstreamer 的 udpsink 來處理。修改 `mopidy.conf` 中的 `[audio]` 塊中的 `output` 為：

    output = tee name=t ! queue ! autoaudiosink t. ! queue ! audio/x-raw,rate=44100,channels=2,format=S16LE ! udpsink host=localhost port=5555

這會將音頻數據轉發到埠 `5555`。要使 `ncmpcpp` 從此埠讀取數據，請相應地更改其 `visualizer_data_source`：

    visualizer_data_source = "localhost:5555"

## 提示和技巧

### 重新映射快捷鍵

可以通過在 npmpcpp 中按 `F1` 來獲得快捷鍵和其綁定的功能列表。只需將 `/usr/share/doc/ncmpcpp/bindings` 複製到 `$XDG_CONFIG_HOME/ncmpcpp/` 並對該文件進行編輯，即可重新映射任何默認快捷鍵。

### 從文件名自動設置標籤，反之亦然

在標籤編輯器中可以選擇一個包含音樂的目錄，然後選擇中間部分的 `Filename` 選項。這將打開一個小窗口，其中包含兩個選項：`Get Tags from Filename` 和 `Rename files`。 如果選擇`Get Tags From Filename`，則會顯示一個包含兩個窗格的彈出窗口。在左側的窗格中可以輸入如何從文件名中提取所選信息的模式，還可以選擇 `Preview` 來預覽結果。而在右側的窗格中可以看到包含所有可能用於提取信息的關鍵字的圖例。

一個簡單的示例是模式：`%a - %t`。如果音樂文件是根據（藝術家 - 標題）的格式命名的，則此模式將提取對應信息並為文件設置標籤。

另一個選項 `Rename Files` 則完全相反。它從音頻文件中獲取標籤並根據標籤創建文件名。

### 歌曲更改時通知

可以在 `execute_on_song_change` 命令中使用 notify-send 來在歌曲更改時（以及 ncmpcpp 啟動時）發出通知。這取決於是否安裝並配置了桌面通知程序。例如：

    execute_on_song_change = notify-send "Now Playing" "$(mpc --format '%title% \n%artist% - %album%' current)"

#### 帶專輯封面的通知

可以使用此腳本使得歌曲更改的通知能帶有當前播放歌曲的專輯封面。默認情況下，專輯封面的預覽文件將存儲在 `$XDG_CONFIG_HOME/ncmpcpp/previews` 中並縮放到 128x128。預覽文件名是以 base64 編碼的專輯名稱，因此不應保存重複的預覽。

假設 `~/.local/bin` 在 `$PATH` 中，請創建（並使其可執行）

    ~/.local/bin/songinfo

    #!/bin/sh

    music_dir="$HOME/Music"
    previewdir="$XDG_CONFIG_HOME/ncmpcpp/previews"
    filename="$(mpc --format "$music_dir"/%file% current)"
    previewname="$previewdir/$(mpc --format %album% current | base64).png"

    [ -e "$previewname" ] || ffmpeg -y -i "$filename" -an -vf scale=128:128 "$previewname" > /dev/null 2>&1

    notify-send -r 27072 "Now Playing" "$(mpc --format '%title% \n%artist% - %album%' current)" -i "$previewname"

並將下內容添加到 ncmpcpp 配置中：

    execute_on_song_change = songinfo

## 另見

dotshare.it 配置[失效連結 2025-08-16 ⓘ]

分類：​

- 音樂
- 終端應用程式
- 包含失效連結的頁面

ncmpcpp
新增話題