上次介紹了在我用 Docker 建立的音樂庫串流服務 Navidrome,其實還有幾個小小的東西沒有寫,包含解碼的設定,以及今天要講的主題 - 專輯與音樂人的封面圖片。
P2P 時代的遺毒
記得上大學買了人生第一台 iPod Nano 之後,有種很開心可以把自己有史以來的各種在 Foxy、Firefox、驢子上抓的音樂丟進去的快感,而由於這些歌曲都是來路不明的 MP3 檔案,自然在音樂 tag
上都沒有歌手、專輯,大多時候都是 file name 上的說明做備註,甚至有時候連歌曲名稱都有問題,例如 周杰倫-軌跡
、周杰倫-unknown-00-軌跡
、unknown artist-unknown album-00-track01
之後明顯很髒的資料。
當然這些事情在我使用了 itunes 之後有好轉,至少編輯上方便,但大多時候都還是要手動編輯歌曲,或上網找該專輯的圖片自己來丟上去。
在 Navidrome 內添加外部資料庫
在 2025 年,資料的獲得不再像過去那麼複雜了,試想你本來就可以在 Spotify 上獲得某個歌手的介紹、專輯名稱以及 Cover,那要不就直接拉 Spotify 的資料吧!
Navidrome 本身就已經有預設給 Last.me 以及 Spotify 的參數了,相關內容可以參考 官方文件,而以下稍微寫下並記錄我同樣用 docker 配置的過程:
Spotify
Spotify 的原理是你要建立一個 App,每次你的 Token 都是來打這個你已經設定好了 App 去要資料
- 先到 https://developer.spotify.com/ 登入後建立 App
- 建立 app 後,拿 client_id 與 secret
- 記下來,我先假設是這樣
ND_SPOTIFY_ID: spotify_id
ND_SPOTIFY_SECRET: spotify_secret
last.me
其實過程差不多,只是他 UX 引導比較糟,這裡直接給網址吧
- 註冊 Last.me
- 去 API 頁面建立 Token https://www.last.fm/api/account/create
- 把 APIKEY 與 Secret 資料記錄下來
ND_LASTFM_APIKEY: lastfm_api
ND_LASTFM_SECRET: lastfm_secret
Update 到 Navidrome 的 docker compose 上,重啟
去你的 Navidrome 資料夾,編輯 docker-compose.yml 檔案,在 environment 增加以下
內容:
environment:
ND_SPOTIFY_ID: spotify_id
ND_SPOTIFY_SECRET: spotify_secret
ND_LASTFM_APIKEY: lastfm_api
ND_LASTFM_SECRET: lastfm_secret
重啟 docker,完成!接著你的 Navidrome 應該會增加大量的 Cover Photo 以及藝人介紹資訊等內容。