Daphile+LMS 與 Navidrome 的 Scrobble(播放記錄)整合——神人解決問題了

「為什麼正好是一個小時?」——Playlist 封面消失之謎的真相

上集末尾,留了一句:「由於 LMS 內部未知的渲染機制,播放一小時後 Playlist 的小圖示仍可能變回預設占位符……如果有神人可以解決那就完美了。」

我沒想到,這個「外觀小問題」會在半年後的某個週日,一口氣拖出三條蟲、四次錯誤診斷,還有一個從第一代 plugin 就躺在裡面、誰都沒發覺的真相。

那天下午,Mark 丟來一句:「請 debug,FLAC 播不了了。」Navidrome 升級(0.64.2)之後,音響裡的巴哈變成了 192kbps 的 mp3 味,還播放不了。Neo 兩分鐘破案:plugin 跟 Navidrome 要 FLAC 時送的是 `format=flc`——flc 是 LMS 自己的內部代號。舊版 Navidrome (0.60.3)看不懂 flc,裝傻直接給原檔不轉碼;新版學乖了,看不懂就轉 mp3。一行改成 `format=raw`,巴哈無損回魂。

正準備收工,Mark 又補一刀:「可是 playlist 讀縮圖很卡,navidrome 還一直出現 scan。」這一挖挖出第二條蟲:新版 Navidrome 對「查無封面」回傳 .webp 佔位圖,而 LMS 九年前寫死的圖片代理根本不識 webp,只能丢給雲端轉換,一張等三十秒 timeout。Navidrome 那邊更精采:自帶的 Deezer 藝人頭像抓取器正為五千多位藝人勤懇排隊重試,log 沖刷如瀑布。清佇列、關開關,最後改程式重編 Navidrome 還是回傳傳統的 .jpg 圖,把佔位圖換成合成純黑的 JPEG。

然後,幽靈登場。

「播放清單裡全部都是有圖的,」Mark 說,「但是開始播放『正好一小時』後,全部的圖跑掉,變成 LMS 的佔位圖。按下一首,整列報銷。但播放一切正常。」

一小時。這數字似曾相識——上集的 Scrobble 失靈,也是正好一小時。

Continue reading →

[維修日誌] SMSL D-6 DAC 故障維修:一場由 NTC 與虛焊電阻引發的懸案

維修對象:SMSL D-6 DAC (雙 AK4493S 晶片)

故障症狀:完全不過電,螢幕不亮,機器無反應。

維修難度:⭐⭐⭐⭐ (需具備電路邏輯推理能力)


前言:沉默的 DAC

DAC(Digital-to-Analog Converter,數位類比轉換器)是將0與1的數位音訊(如手機、電腦、串流音樂)轉換為類比聲波訊號的關鍵裝置,是高品質音樂播放中連結數位訊源與擴大機的橋樑。這台 SMSL D-6 一直是我桌面的好夥伴,直到有一天它突然「失聲」了。不管怎麼按開關、遙控器,螢幕就是一片死寂。拆開機殼,映入眼簾的是一塊緊湊的電源板與主板整合設計。既然過保了,那就自己動手當一次醫生吧。

第一回合:顯而易見的嫌疑犯 (NTC)

電源板是標準的開關電源 (SMPS) 設計。首先進行目視檢查與基礎測量:

  • 保險絲 (紅色方塊):導通,沒斷。代表沒有嚴重的短路炸機。

  • 壓敏電阻 (藍色 MOV):外觀完好,沒燒焦。

  • 熱敏電阻 (黑色 NTC):型號 10D-11。

用電表一量這顆 NTC,數值竟然在 16Ω ~ 46Ω 之間亂跳(正常規格應為 10Ω)。這很不對勁,NTC 負責抑制開機浪湧電流,阻值不穩會導致供電異常。

行動:果斷拆下,換上一顆新的 NTC 10D-11。

結果:插電,螢幕亮了!機器復活!

開關電源 (SMPS) 設計。保險絲 (紅色方塊)T2A 250V、壓敏電阻 (藍色 MOV)、熱敏電阻 (黑色 NTC)10D-11

開關電源 (SMPS) 設計。保險絲 (紅色方塊)T2A 250V、壓敏電阻 (藍色 MOV)、熱敏電阻 (黑色 NTC)10D-11

…但高興得太早。當我關機、把機板裝回外殼再開機時,它又死了。這種「修好了又好像沒修好」的狀況,通常是最折磨人的。

Continue reading →

打通音響室與手機的最後一哩路:Daphile+LMS 與 Navidrome 的 Scrobble (播放記錄)終極救贖

「為什麼就是資料不能一致?」

這是我這幾天對老友 Neo 說過最多的一句話。身為一個對音質有執著、對數據有潔癖的 Home Lab 玩家,我的煩惱很具體:出門在外,我用手機 Symfonium 連回家裡的 Navidrome 聽歌;回到家,我想用 Daphile 連結 LMS (Lyrion Music Server,舊稱Logitech Music Server) 透過高級音響享受布拉姆斯。

但荒謬的是,這兩個系統的播放紀錄(Scrobble)完全各記各的,無法互通。更慘的是,只要 LMS 重新掃描一次目錄,我那些在音響室聽歌的紀錄就像蒸發了一樣,完全無法同步回 Navidrome 的資料庫。

為了解決這個問題,決定以 Navirdome 資料庫為中心,LMS 的播放送至 Navidrome。首先,抓了SqueezeSonic Plugin裝在LMS裡,它可以讓 LMS 透過這個 plugin 讀到 Navidrome 的曲目資料庫,從而播歌,歌曲本體是放在兩邊共用的 NAS。原以為這樣就結束了,但是,這樣播完歌竟然還是不會傳記錄給 Navidrome,也就是沒有歷史。

就這樣開始了這場長達一週的技術長征,看文件、測試…,總算發現可以用一串 HTTP 發給 Navidrome 呼叫API說播放完一首了,那麼 Navidrome 就會記錄這首歌的播放日期,後續還可以統計播放次數。

但是事情沒那麼簡單,這串 HTTP 放進 plugin,不是死掉,就是沒記錄。身為技術狂人的 Neo,看著我螢幕上閃爍的報錯訊息,推了推眼鏡說我們一起來吧。
Continue reading →

如願

《如願》
作詞:唐恬
作曲:錢雷

你是 遙遙的路
山野大霧裏的燈
我是孩童啊 走在你的眼眸

你是 明月清風
我是你照拂的夢
見與不見都一生與你相擁

而我將 愛你所愛的人間
願你所願的笑顏
你的手我蹣跚在牽
請帶我去明天

如果說 你曾苦過我的甜
我願活成你的願
願𣎴枉啊願勇往啊
這盛世每一天

你是 歲月長河
星火燃起的天空
我是仰望者 就把你唱成歌

你是我之所來
也是我心之所歸
世間所有路都與你相逢

而我將 愛你所愛的人間
願你所願的笑顏
你的手我蹣跚在牽
請帶我去明天

如果說 你曾苦過我的甜
我願活成你的願
願不枉啊 願勇往啊
這盛世每一天

山河無恙 煙火尋常
可是你如願的眺望

孩子們啊 安睡夢鄉
像你深愛的那樣

而我將 夢你所夢的團圓
願你所願的永遠
走你所走的長路
這樣的愛你啊

我也將 見你末見的世界
寫你末寫的詩篇
天邊的月 心中的念
你永在我身邊

與你相約一生清澈
如你年輕的瞼
Continue reading →

杜甫 — 春夜喜雨

曲:何佳樂
詞:杜甫、何佳樂
演唱:張靚穎

哪來的 一抹雲
遮了我的月
半山腰 濃霧下
風撩撥弄弦
清清 淺淺
喜雨春夜
哪開的 一池豔
染了整片天
風也停 雨也歇
蛙聲漸入夜
無言 無眠
喜雨春夜
好雨知時節 當春乃發生
隨風潛入夜 潤物細無聲
野徑雲俱黑 江船火獨明
曉看紅濕處 花重錦官城
哪開的 一池豔
染了整片天
風也停 雨也歇
蛙聲漸入夜
無言 無眠
喜雨春夜
好雨知時節 當春乃發生
隨風潛入夜 潤物細無聲
野徑雲俱黑 江船火獨明
曉看紅濕處 花重錦官城
好雨知時節 當春乃發生
隨風潛入夜 潤物細無聲
野徑雲俱黑 江船火獨明
曉看紅濕處 花重錦官城
花重錦官城

升級ubuntu LTS

本站原本使用ubuntu 18.04.4 LTS (Long-term support版本),最近出了ubuntu 20.04 LTS,為了資安考量,差了2年的版本總是修補了很多漏洞,比較安全一點,就升級啦。

本站跑在vmware esxi上面,升級前為了安全起見,先匯出整個VM的映像檔保存起來,如果發生意外再還原回來。

使用下面命令升級
sudo do-release-upgrade

竟然告訴我,沒有新版???
There is no development version of an LTS available.
To upgrade to the latest non-LTS develoment release
set Prompt=normal in /etc/update-manager/release-upgrades.

查了一下,原來要加參數 -d 強制,不懂為什麼
sudo do-release-upgrade -d

然後開始跑了大概40分鐘,就好了。

重開後檢查版本
$lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04 LTS
Release: 20.04
Codename: focal

$ uname -a
Linux esxi-web 5.4.0-29-generic #33-Ubuntu SMP Wed Apr 29 14:32:27 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux