teulda v0.2.0
Windows 10 / 11

它不播放任何音樂。
只負責顯示。

teulda 不是音樂播放器。它不開啟檔案,也不解碼。它把 Windows 正在播放的東西 —— 串流、YouTube 或遊戲配樂 —— 放回二十年前的那個視窗,按鈕照樣能用。

免安裝執行 · 不需管理員權限 · 直接用你現有的 .wsz 面板

上圖是為說明版面而畫的示意。真實視窗長什麼樣,由 你選的面板 決定 —— teulda 不附帶任何面板素材。

指示燈 + 遙控器

這不是讓你再裝一個播放器

在你原本聽歌的地方繼續聽。teulda 會把聲音從任何來源接住,匯到同一個視窗。

SMTC 01 → 03

在你原本聽歌的地方繼續聽。teulda 會把聲音從任何來源接住,匯到同一個視窗。

01

播放仍由你的應用程式負責

Spotify、韓國各家 PC 用戶端(Melon · Genie · Bugs · FLO)、Chrome 與 Edge 裡的 YouTube,乃至遊戲啟動器的背景音樂。帳號和 DRM 依舊歸它們管,teulda 從不插手。

02

Windows 本來就知道

Windows 會把正在播放的內容登記到一個叫 SMTC 的視窗。鍵盤上的播放、暫停鍵之所以在任何應用程式裡都管用,就是因為它。

03

teulda 去讀那個視窗

取出曲名、演出者、播放進度和封面畫到面板視窗裡;你按視窗上的按鈕,它再原路傳回那個應用程式。

實測,不是猜的

韓國四大音樂用戶端,全部可用

這是整個產品的前提。如果 PC 用戶端不向 Windows 登記,使用者看到的就是一個空視窗。所以我們沒有猜,而是在每個應用程式裡真放了一首歌來測。

播放來源 曲名 進度 · 時長 可接受的操作
Melon · Genie · Bugs · FLO PC 用戶端 能拿到 能拿到 播放 · 暫停 · 拖曳
YouTube Music · Spotify 網頁版 —— 使用 Media Session 的網站 曲名 準確 播放 · 暫停 · 上一首 · 下一首 · 拖曳
瀏覽器 —— 只用 <audio> 的網站 頁面標題 準確 播放 · 暫停 · 拖曳

2026 年 9 月 14 日在真實 Windows 電腦上用發行版本實測。可用操作因應用程式而異 —— 應用程式沒登記的按鈕在 teulda 裡同樣是灰的。有些應用程式根本不傳送演出者名稱,那就只顯示曲名。

.wsz

二十年份的面板,早已做好了

經典 Winamp 面板留存下來的超過十萬個。teulda 直接讀那些 .wsz 檔案 —— 不轉換,也不重畫。

版權

我們不附帶面板

每一個都屬於畫它的人。讀懂一種檔案格式,和把別人的畫塞進自己的安裝包裡,是兩碼事。

容錯

不守規格的面板照樣畫得出來

進度條做成 307×5 而不是 307×10 的面板;字型圖在檔案中途被截斷的面板;region.txt 語法完全隨意的面板。teulda 有多少畫多少,只丟掉讀不出來的那一塊。

四個視窗

主視窗 · 等化器 · 播放清單 · 專輯封面

封面視窗在經典版裡並不存在,所以用 A 鍵開啟。它的邊框不是新畫的,而是用那套面板自己的播放清單切片拼出來的 —— 不管你換哪套面板,它看起來都像那套面板自帶的視窗。

一如當年

雙倍大小 · 摺疊模式 · 頻譜

頻譜條和示波器不是動畫。它們畫的是真正從你喇叭裡出來的聲音。

文字消失的問題

你的文字能顯示出來

經典面板裡的字型圖只有 ASCII。所以照原樣顯示時,中文、韓文、日文、西里爾字母的曲名會整塊消失。

直接用面板字型
(feat.HAEMOO)/(DIVEP

偏偏是你最想看的曲名和演出者不見了。十萬個面板裡絕大多數只帶 ASCII,所以換面板根本解決不了。

teulda
이 길 (feat. HAEMOO) / 디브퍼(DIVEPER)

只要有一個字畫不出來,那一整行就改用系統字型疊上去。純 ASCII 的曲名仍舊用面板自帶的字型 —— 那才是這個視窗該有的樣子。

曲名欄原本只有 6 像素高。teulda 只借用每套面板在它上下真正空著的那幾列(背景是照片的面板一列也借不到),文字按視窗倍率以實際大小繪製。字色則透過測量該欄背景亮度來決定。

新加入的

不再錯過剛剛溜走的那首歌

Spotify 永遠不會知道你在 YouTube 上聽了什麼。teulda 兩邊都看得見 —— 在任何地方按 Ctrl+Alt+S,此刻正在播的這首就會在這台電腦上留下一列。

S

哪怕視窗不在前面

你真正錯過的,是 打遊戲或寫東西時 溜走的那首。Ctrl+Alt+S 不管你在哪、在做什麼都管用。要是這個組合已經被別的程式占了,它會往下找一個沒被占的,並 把實際拿到的鍵寫在收藏視窗裡

自動

聽完一整首,它自己就留下了

不用按鍵。但 只有親眼看著它走到結尾才算 —— 歌快放完時才開啟視窗,不等於你聽過它。會和你親手挑的分開標記。

L

在收藏裡檢視,也能帶走

檢視收集到的內容、刪掉某一列、匯出為 CSV —— 存成 Excel 開啟時不會亂碼的格式。也可以整份複製,貼到任何地方。

只在這台電腦裡

根本沒有出去的路

你在何時聽了什麼,屬於個人資訊。處理這份紀錄的程式碼裡 沒有任何一行碰網路,而且有測試守著這一點。匯出只在你按下按鈕時才會發生。

「來源」一欄的應用程式名稱是 大家一起補的。 Windows 交出來的是 neowizinternet.234211C5E0 這樣的值,不是給人看的名字。知道哪個值對應哪個應用程式的,只有用那個應用程式的人,所以這張表放在儲存庫裡,表上沒有的值就原樣顯示。猜出來的名字更糟 —— 看自己紀錄的人根本無從察覺它是錯的。

앱 이름 알려주기

先說在前面

做不到的,和故意不做的

下載之前該知道的事,免得下完失望。藏著不說,最後也會變成 bug 回報回來。

等化器不會改變聲音

我們根本拿不到音訊串流,沒有地方掛濾波器。滑桿依然會動,是因為 看看這套面板把等化器視窗畫成什麼樣 才是這個視窗存在的意義。

播放清單看的是過去,不是將來

Windows 那個視窗只交給我們一樣東西:此刻正在播的這首。沒有佇列,也沒有播放清單。所以那個視窗是 已經播過的曲目紀錄,點某一行也不會跳過去。

kbps 那一格留空

我們不解碼檔案,無從得知它的編碼位元率。在同一格裡填一個意思不同的數字,那就是撒謊。 kHz 和單聲道/立體聲取的是輸出裝置的值。

最小化按鈕沒有接線

這個視窗不在工作列上,一旦最小化就沒辦法再叫回來。一個按了沒反應的按鈕,好過一個按了就讓程式消失的按鈕。

音量滑桿調的是系統音量

那個視窗既不回報音量也不接受音量,所以經典滑桿調的是 Windows 的主音量。左右平衡只做顯示,不會真的生效。

僅限 Windows

它直接呼叫 Windows 的媒體視窗。macOS 和 Linux 沒有這個視窗,移植過去也只會得到一個空視窗。
接下來要做的

現在是指示燈,接下來是聆聽紀錄

收集這件事已經能做了。接下來是 怎麼讀這些紀錄,以及跨服務認出同一首歌。

正在做

認出同一首歌

那個視窗不提供曲目 ID。所以第一件事是把 Song (feat. X)Song (Feat. X)Song (2024 Remaster) 歸成同一首 —— 這裡錯了,下面所有數字都會悄悄跟著錯。

正在做

把過往的紀錄搬進來

讀取 Last.fm 或 Spotify 給你的匯出檔案,把過去吸收進來。從空收藏起步,和從裝著十年紀錄的收藏起步,是兩個不同的產品。

之後

一個能看紀錄的介面

各服務的占比、按時段的聆聽,以及 你聽完的歌和三十秒內就跳過的歌 —— 這個數字沒有一家服務會給你看。

之後

傳送到 Last.fm · ListenBrainz

如果你本來就有 scrobble 紀錄,就往那邊送。用你的帳號,而且只在你打開它的時候。

之後

給直播用的字幕來源

它會持續把目前曲目寫進一個文字檔。讓 OBS 指向它就行了。

再往後

做面板

存世的有十萬個,可是 新做一個的路已經堵了二十年。 我們手裡有完整的座標表,所以能做出編輯器。

紀錄只留在這台電腦裡。 你在何時聽了什麼,屬於個人資訊。任何會離開這台機器的東西都得你親手開啟;不開啟,它哪兒也不去。

v0.2.0

解壓縮,執行,就這樣

不需要安裝程式,也不需要管理員權限。把 .wsz 檔案拖到視窗上就能換面板。

  1. 1

    把下載的 zip 解壓縮,執行 teulda.exe。不用安裝程式,也不用系統管理員權限。

  2. 2

    Winamp Skin Museum在新視窗開啟。挑一個喜歡的,按 Download skin,就會拿到一個 .wsz 檔。

  3. 3

    把那個 .wsz 拖到 teulda 視窗上。這就是安裝 —— 不用解壓縮,也不用放進哪個資料夾。

你會拿到
teulda-0.2.0-win64.zip下載約 35 MB,解壓縮後 81 MB · 無需另裝執行環境
執行環境
Windows 10 / 1164 位元
你需要準備
一個 .wsz 面板要是沒有,Winamp Skin Museum 裡有十萬個
操作
S 收藏 · L 收藏夾任何地方 Ctrl+Alt+S · D 雙倍 · W 摺疊 · A 封面 · Esc 關閉
已簽章,但 Windows 可能還會問一次。 這個版本以 PROJECTTEAMFORYOU 的名義簽章,並帶時間戳記。不過標準憑證本身不附帶信譽 —— 在下載量累積起來之前,SmartScreen 仍可能跳出「Windows 已保護您的電腦」。遇到時請點 其他資訊 → 仍要執行。發行頁列出了 SHA-256,你可以據此核對檔案是否就是我們建置的那個。

如果什麼都沒在播,視窗是空的才是對的。去放點什麼吧。