Mopidy + ncmpcpp 打造 Spotify 客戶端
文章目錄
Photo by Abigail Keenan on StockSnap
你是否曾經想過在終端機聽 Spotify,本來以為 Spotify 只能在瀏覽器或是桌面客戶端使用,竟然還有這種方案,原本想說這方案可以替代 Linux 版的 Spotify 桌面客戶端,結果只能播放收藏的播放清單,也無法搜尋,不過 Mopidy 只是個串流伺服器,沒辦法要求這麼多,雖然無法達到預期效果,還折騰了我一夜,不過真的配好了播放本機音樂還挺不錯用的,一般人看見你用終端機播音樂一定會覺得你是位大神,也順便達到耍帥的作用了。
其實整套下來就是個 Server/Client 架構,Mopidy 當串流伺服器,ncmpcpp 是客戶端,所以播放音樂時如果退出 ncmpcpp 音樂還是會繼續播放。
Mopidy
mpd 的替代品,相較於 mpd 多了許多擴充功能,可以串流 Spotify, SoundCloud 等線上音樂服務,比較多人裝在樹莓派來做 mpd 串流伺服器,不僅支援 mpd 也支援 http,可以透過各種客戶端控制。
ncmpcpp
一款簡潔的 mpd 客戶端,同時兼容 Mopidy,提供音樂庫搜尋、過濾、檔案瀏覽器等功能,使用 ncmpcpp 必須指定 mpd 伺服器位址。
使用方式:
F1
: 使用說明#
: 當前連線伺服器資訊1
: 目前播放佇列2
: 檔案瀏覽器,可以在這裡新增歌曲到播放清單3
: 資料庫搜尋4
: 音樂資料庫5
: 播放清單編輯器6
: 標籤編輯器7
: 輸出選擇8
: 音樂可視化=
: 數位時鐘\
: 切換版面f
: 播放進度向前q
: 播放進度向後i
: 顯示歌曲資訊I
: 顯示歌曲藝術家資訊l
: 顯示歌詞(靜態歌詞)L
: 切換歌詞源(建議選 All)<
: 前一首>
: 下一首p
: 播放/暫停s
: 停止+
: 增大音量-
: 減小音量
更多 Key Binding 可以去看這個 Cheat Sheet。
安裝
這裡只介紹 Arch Linux 的安裝方法,先把 Mopidy 和 ncmpcpp 裝好。
|
|
設定
強烈建議將 Mopidy 作為系統服務執行,這樣比較不容易出錯,也可以保持其穩定性。
將 mopidy
加入 audio
組。
|
|
先建立一個範例設定檔。
|
|
如果建立途中發生 使用者帳戶已逾期
就更改 mopidy
使用者的過期日期為永不逾期,這個是大坑啊,找了好久資料才找到解決方法。
|
|
設定檔的位置在 /etc/mopidy/mopidy.conf
。
|
|
注意:設定檔修改後須重啟服務才會生效。
|
|
本機音樂瀏覽
Mopidy 設定檔中的 [file]
區塊取消註解,在 media_dirs
裡設定你想要瀏覽的目錄。
|
|
Spotify 模組
安裝 Mopidy 的 Spotify 的擴充套件,Arch 已經放在 aur 裡了。
|
|
加入 Spotify 模組的設定,比特率預設 160
,嫌音質不夠高的話可以改成 320
,client_id
和 client_secret
請從這裡獲取。
注意:Spotify 會員才能使用此模組
|
|
按 2
進入檔案瀏覽器界面應該能看見一個 Spotify 的選項,點進去有各類榜單,就是沒有自己的播放清單,不知道是不是 Bug?
用 PulseAudio 輸出音源
輸出建議設定 PulseAudio 來混合音道,使用 autoaudiosink
會有聲卡獨占的問題,如果想要音質好一點的可以設 alsasink
。
若要使用 PulseAudio 服務要先配置 PulseAudio 的 TCP Socket 監聽,編輯 /etc/pulse/default.pa
,寫入下面這行。
|
|
然後 Mopidy 設定檔輸出設定指定剛才設置的 PulseAudio 端口。
|
|
修改完設定後重啟 PulseAudio 和 Mopidy。
|
|
如果你不是在 X 環境下操作,請把 start-pulseaudio-x11
替換成 pulseaudio --start
。
音樂可視化
ncmpcpp 內建
ncmpcpp 之所以被譽為終端機的音樂播放神器其中一個原因就是內建音樂可視化功能,進入 ncmpcpp
後按數字鍵 8
就可以跳轉到 Music visualizer 界面。
音樂可視化需要在 ncmpcpp 設定檔設定,先建立 config 資料夾。
|
|
編輯 ~/.ncmpcpp/config
寫入:
|
|
然後新建 /tmp/mpd.fifo
,這個檔案是類比輸出裝置的 buffer。
|
|
cli-visualizer
用 ncmpcpp 內建的可視化界面常常出現 Could not open file "/tmp/mpd.fifo" for writing
的錯誤,所以我通常使用 cli-visulizer 來做音樂可視化,cli-visualizer 是 CLI 界面下的音樂可視化軟體,有多種可視化模式可以選擇,在 Arch 中一樣可以用 aur 安裝。
|
|
這個工具可以讀取當前音源,並即時畫出可視化圖形,如果用 PulseAudio 輸出,電腦其他音源也會被繪製出來,安裝好後無須設定,在終端中輸入 vis
即可開啟,缺點是如果終端機字體設太大像素就會很少。
使用方式:
space
: 切換模式s
: 切換立體聲/單聲道q
/Ctrl+c
: 退出 cli-visualizerc
: 切換顏色主題+
: 放大 10%-
: 縮小 10%
常用的按鍵就 s
和 Space
,剩下的功能不知道為什麼沒用。
立體聲效果:
單聲道效果:
還有其他不知如何形容的圖形:
效果展示
顯示當前歌曲歌詞,記得要將 ID3 標籤填寫完整搜到歌詞的機率才比較高。
我用 tmux 切割成兩個視窗,一邊顯示播放清單,另一邊顯示可視化圖形,當然你也可以用終端機自帶的視窗分割功能。
Reference
文章作者 Chun Yu
上次更新 2019-10-07