ETH官方钱包

前往
大廳
主題

使用樹莓派+Picoreplayer+LMS獲得純淨的音樂體驗(下)-playlist匯入與設定優化

Yukiarashi | 2024-10-27 00:36:04 | 巴幣 2 | 人氣 237

提醒對於任何使用或引用本篇文章資訊與操作導致之損失或損害,本人概不負責。

上篇
中篇

前言
由於我目前主要的Playlist是在Foobar2000上,
想將Playlist從Foobar2000匯出到LMS上使用,這邊先處理Playlist,
搞定後再來調整Picoreplayer的設定,讓聲音更好聽。


1.匯出Playlist
將Foobar2000 Playlist匯出存檔,如何匯出這邊就不多提,
因為每個人用的Foobar2000 Skin不見得一樣,
根據匯出的位置,m3u8檔案內容中的音樂路徑會有所不同,
使用notepad++或記事本打開檢查,可以看到下圖我個人匯出的開頭路徑是Albums,
以我的情境來說,只需要將Albums替換成music,就符合LMS的音樂檔案路徑並讀到音樂。


2.字串替換
此時可以先將m3u8檔傳到運行LMS的主機上,並在主機上使用sed指令將Albums替換成music
此處以normal.m3u8為檔名
sed -i 's/^Albums/\/music/g' normal.m3u8
替換完確認內容沒問題後,需將m3u8檔丟至docker volume對照的playlist資料夾下,
並檢查UID GID和權限是否可以讀到此資料夾和檔案。

? root@yuki-server ~ ll -n /exdisk/lms_playlist | grep normal
-rw------- 1 1000 1000 15K Oct 26 03:00 normal.m3u8

3.設定playlist資料夾
接著要到LMS網頁介面,點選右下角Settings

選擇Playlists Folder,再點右下角Apply來套用設定
接著因為中篇有裝過material skin,
從material skin的LMS首頁依序點選My Music -> Playlists
應該就能看到Playlist並且能使用了。

4.Shell Script+Cron job定期將m3u8內容轉換成LMS路徑
因為我的環境有設定自己的PC開機時,自動將資料抄寫到Server(也就是我的LMS主機)上的排程,
所以該m3u8檔會自動更新,這時只要寫簡單的Shell Script並設定cron job,
就能做到定期更新m3u8檔並複製到LMS的Playlist資料夾,且完成路徑轉換。
Shell Script內容
#!bin/bash

#Path
playlist_path=/exdisk/windows_file
lms_path=/exdisk/lms_playlist

#Filename
normal_filename=normal.m3u8
lms_normal_filename=lms_normal.m3u8

#Check if a file exists
if [ ! -f "$playlist_path/$normal_filename" ]; then
  echo "File does not exist, stop script."
  exit 1
fi

#Copy LMS+pi playlist
cp -a $playlist_path/$normal_filename $lms_path/$lms_normal_filename

#Convert m3u8 playlist
sed -i 's/^Albums//music/g' $lms_path/$lms_normal_filename

Cron job內容
00 03 * * * /usr/bin/bash /root/convert_m3u8.sh
這樣一來,每天凌晨3點Server就會將"normal.m3u8"複製到/exdisk/lms_playlist/
並將路徑資訊替換成LMS的,不用手動去處理,方便許多。


5.PiCorePlayer設定優化
使用和操作上都沒問題後,來調整PiCorePlayer設定,
讓播放出來的聲音更好聽,這部分網上也有教學,
以下是我參考後所做的設定:

5.1 關閉HDMI電源 & CPU Performance模式,
這邊要注意每個選項調整完都要按對應的Save才會生效,
至於Overclock開了我是聽起來沒差,就不開了。

5.2 關閉WiFi
一樣記得點Save

5.3 關閉USB電源
此步需要裝uhubctl,來到Main Page->Extensions
點選Available,下面找到uhubctl.tcz後,點選Load就裝起來了。
再來轉到Tweaks最底下,會看到User commands
由於我沒有用到USB,所以我是填入以下指令關閉所有USB電源
uhubctl -l 2 -a off
如果有用到USB,這步會需要指定Raspberry pi的USB編號做關閉
每調整一項PiCorePlayer設定,我都有聽個幾首測試是否有改變,
"個人聽起來"最有感的設定是將CPU調整成Performance模式,
其他的調整我就當作把省下來的電給CPU用。


結語
近期在搞的樹莓派+Picoreplayer+LMS就先到這邊告一段落,原本是想一篇寫完的,
但覺得會太長就拆成上 中 下來寫,這些設定大概在2024/09完成,
使用到現在除了LMS時不時遇到Bug會需要重啟之外,其他都很滿意,
現在先開心用,之後就看我會不會哪天受不了LMS的Bug,跑去研究Roon了XD。

Extra. 使用Playlist無法將歌曲加入queue的狀況
如果遇到m3u8檔怎麼點右側queue就是不會加入歌曲的狀況,先確認資料夾和檔案名稱是否正確
確認正確但狀況依舊的話,可以嘗試將LMS重新啟動看看,
會這樣建議是因為我個人正常用著有天遇到這狀況,
檢查Log發現跳很多有關perl的error,
但這error我也不知道怎麼搞定...(Version info:LMS 8.5.2、Perl 5.32.1)
直接執行docker compose down後再docker compose up就好了(重啟治百病XD)。

創作回應

相關創作

更多創作