Raspberry Pi 筆記(74):音樂播放服務器Mopidy

試著將Pi當作一個音樂播放服務器,找了一下可用的套件,覺得 Mopidy 還不錯,他是用 Python 編寫而成的,除了可播放本地磁碟的音樂檔外,還可以聽 Spotify、SoundCloud 及 Google Play Music 等的音樂。或是使用 Web 方式方式,在任何手機、平板或電腦上編輯播放列表。因為 Mopidy 具有 HTTP 服務器,加上可擴充套件的特性,讓 Mopidy 成為知名的 Music Player Daemon (MPD),也是一個自由和開放的音樂播放器服務器。


[安裝Mopidy]

添加檔案的GPG密鑰
$ wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
將apt-get存儲庫添加到軟件包來源中
$ sudo wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/buster.list
更新並升級後
$ sudo apt-get update && apt-get upgrade
安裝 mopidy
$ sudo apt-get install mopidy
執行 Mopidy
$ mopidy
這時會在 /home/pi/.config/mopidy 目錄下產生一個 mopidy.conf 設定檔,如要啟動 HTTP 服務,就要修改設定檔,指令如下。
$ cd /home/pi
$ nano .config/mopidy/mopidy.conf
開啟 mopidy.conf 檔案後,找到 [http] 這段文字,將前面的註解刪除。hostname 那一行要記得改成 Pi 的 IP。
[http]
enabled = true
hostname = 192.168.1.104
port = 6680
static_dir =
zeroconf = Mopidy HTTP server on $hostname
allowed_origins =
csrf_protection = true


按下 Ctrl +  X ,再按 Y ,按下 Enter 存檔離開。
重新執行 Mopidy
$ mopidy
使用瀏覽器,連線 Pi 的IP,需加上特定 Port 6680。
http://192.168.1.104:6680/mopidy/
如看到以下畫面,表示已經成功安裝。

執行以下指令可顯示目前 mopidy 設定檔內容
$ sudo mopidyctl config


[設定開機時啟動Mopidy服務]

如要在 Pi 開機時,自動執行 mopidy ,需將 mopidy 設定為服務,這時 mopidy 會讀取 /etc/mopidy目錄下的設定檔,修改方式如下:
$ sudo nano /etc/mopidy/mopidy.conf
加上[http]那段文字,如下圖:

按下 Ctrl +  X ,再按 Y ,按下 Enter 存檔離開。

將 mopidy 設定為服務
$ sudo systemctl enable mopidy
使用 systemctl 啟動/停止/重啟 modipy 服務
$ sudo systemctl start mopidy
$ sudo systemctl stop mopidy
$ sudo systemctl restart mopidy
顯示目前 mopidy 的狀態是否為啟動狀態
$ sudo systemctl status mopidy
如要看 mopidy 的日誌,可以執行以下指令
$ sudo journalctl -u mopidy

[安裝mopidy擴充套件]

可用的 mopidy 擴充套件,包括他音樂源、混音器、控制面板或Web客戶端等,可在 mopidy 的 擴充網站 查到。

每個擴充套件的頁面,會有 Github 的原始程式及安裝說明,選擇一個介面還不錯的 MusicBox-Webclient 當作安裝範例,點選 Mopidy-MusicBox-Webclient,如下圖紅色框,點選該紅色框,進入下一畫面,可以看到擴充套件的相關說明,包括套件描述、安裝方法、設定方法等資訊。

以下簡要說明一下安裝的方法:
(1) 執行安裝指令
$ sudo python3 -m pip install Mopidy-MusicBox-Webclient
(2) 修改設定檔
$ sudo nano /etc/mopidy/mopidy.conf
開啟設定檔,在最後加上 Github 網站的說明文字:

(3) 重新起動 mopidy 服務
$ sudo systemctl restart mopidy
(4) 使用瀏覽器連線,可以看到多了一項服務

(5) 點選 musicbox_webclient,可看到以下介面
如果使用 Android 行動裝置的朋友,可在Google Play 商店下載安裝 Mopidy App。

[問題排除]

我上傳了幾個 mp3 檔案到 home/pi/Music 目錄內,透過網頁播放歌曲時,完全沒有聲音。找了一下問題是因為設定檔的問題。我是使用 3.5mm 的音源座輸出,需要將設定檔中audio那段的 output 從 autoaudiosink 改成 alsasink ,如果是 HDMI 輸出,則不需更改。修改設定檔指令:
$ sudo nano /etc/mopidy/mopidy.conf
開啟設定檔後,在[audio]那段進行修改,如果沒有這一段,可以從 /home/pi/.config/mopidy/mopidy.conf 將以下這段文字複製到 /etc/mopidy/mopidy.conf檔案中。
[audio]
mixer = software
mixer_volume = 75
output = alsasink
buffer_time = 10
重新連線網頁,播放歌曲,已經可以正常聽到聲音了。

[參考資料]

Post a Comment

較新的 較舊