它不播放任何音乐。
只负责显示。
teulda 不是音乐播放器。它不打开文件,也不解码。它把 Windows 正在播放的东西 —— 网易云、YouTube 或游戏配乐 —— 放回二十年前的那个窗口,按钮照样能用。
免安装运行 · 无需管理员权限 · 直接用你现有的 .wsz 皮肤
上图是为说明布局而画的示意。真实窗口长什么样,由 你选的皮肤 决定 —— teulda 不附带任何皮肤素材。
这不是让你再装一个播放器
在你原本听歌的地方继续听。teulda 会把声音从任何来源接住,汇到同一个窗口。
在你原本听歌的地方继续听。teulda 会把声音从任何来源接住,汇到同一个窗口。
播放仍由你的应用负责
Spotify、韩国各家 PC 客户端(Melon · Genie · Bugs · FLO)、Chrome 与 Edge 里的 YouTube,乃至游戏启动器的背景音乐。账号和 DRM 依旧归它们管,teulda 从不插手。
Windows 本来就知道
Windows 会把正在播放的内容登记到一个叫 SMTC 的窗口。键盘上的播放、暂停键之所以在任何应用里都管用,就是因为它。
teulda 去读那个窗口
取出曲名、艺人、播放进度和封面画到皮肤窗口里;你按窗口上的按钮,它再原路传回那个应用。
韩国四大音乐客户端,全部可用
这是整个产品的前提。如果 PC 客户端不向 Windows 登记,用户看到的就是一个空窗口。所以我们没有猜,而是在每个应用里真放了一首歌来测。
| 播放来源 | 曲名 | 进度 · 时长 | 可接受的操作 |
|---|---|---|---|
| Melon · Genie · Bugs · FLO PC 客户端 | 能拿到 | 能拿到 | 播放 · 暂停 · 拖动 |
| YouTube Music · Spotify 网页版 —— 使用 Media Session 的网站 | 曲名 | 准确 | 播放 · 暂停 · 上一首 · 下一首 · 拖动 |
浏览器 —— 只用 <audio> 的网站 |
页面标题 | 准确 | 播放 · 暂停 · 拖动 |
2026 年 9 月 14 日在真实 Windows 电脑上用发布版本实测。可用操作因应用而异 —— 应用没登记的按钮在 teulda 里同样是灰的。有些应用根本不发送艺人名,那就只显示曲名。
二十年份的皮肤,早已做好了
经典 Winamp 皮肤留存下来的超过十万个。teulda 直接读那些 .wsz 文件 —— 不转换,也不重画。
我们不附带皮肤
每一个都属于画它的人。读懂一种文件格式,和把别人的画塞进自己的安装包里,是两码事。
不守规格的皮肤照样画得出来
进度条做成 307×5 而不是 307×10 的皮肤;字体图在文件中途被截断的皮肤;region.txt 语法完全随意的皮肤。teulda 有多少画多少,只丢掉读不出来的那一块。
主窗口 · 均衡器 · 播放列表 · 专辑封面
封面窗口在经典版里并不存在,所以用 A 键打开。它的边框不是新画的,而是用那套皮肤自己的播放列表切片拼出来的 —— 不管你换哪套皮肤,它看起来都像那套皮肤自带的窗口。
双倍大小 · 折叠模式 · 频谱
频谱条和示波器不是动画。它们画的是真正从你音箱里出来的声音。
你的文字能显示出来
经典皮肤里的字体图只有 ASCII。所以照原样显示时,中文、韩文、日文、西里尔字母的曲名会整块消失。
偏偏是你最想看的曲名和艺人不见了。十万个皮肤里绝大多数只带 ASCII,所以换皮肤根本解决不了。
只要有一个字画不出来,那一整行就改用系统字体叠上去。纯 ASCII 的曲名仍旧用皮肤自带的字体 —— 那才是这个窗口该有的样子。
曲名栏原本只有 6 像素高。teulda 只借用每套皮肤在它上下真正空着的那几行(背景是照片的皮肤一行也借不到),文字按窗口倍率以实际大小绘制。字色则通过测量该栏背景亮度来决定。
不再错过刚刚溜走的那首歌
Spotify 永远不会知道你在 YouTube 上听了什么。teulda 两边都看得见 —— 在任何地方按 Ctrl+Alt+S,此刻正在播的这首就会在这台电脑上留下一行。
哪怕窗口不在前面
你真正错过的,是 打游戏或写东西时 溜走的那首。Ctrl+Alt+S 不管你在哪、在干什么都管用。要是这个组合已经被别的程序占了,它会往下找一个没被占的,并 把实际拿到的键写在收藏窗口里。
听完一整首,它自己就留下了
不用按键。但 只有亲眼看着它走到结尾才算 —— 歌快放完时才打开窗口,不等于你听过它。会和你亲手挑的分开标记。
在收藏里查看,也能带走
查看收集到的内容、删掉某一行、导出为 CSV —— 保存成 Excel 打开时不会乱码的格式。也可以整份复制,粘到任何地方。
根本没有出去的路
你在何时听了什么,属于个人信息。处理这份记录的代码里 没有任何一行碰网络,而且有测试守着这一点。导出只在你按下按钮时才会发生。
“来源”一栏的应用名是 大家一起补的。 Windows 交出来的是 neowizinternet.234211C5E0 这样的值,不是给人看的名字。知道哪个值对应哪个应用的,只有用那个应用的人,所以这张表放在仓库里,表上没有的值就原样显示。猜出来的名字更糟 —— 看自己记录的人根本无从察觉它是错的。
做不到的,和故意不做的
下载之前该知道的事,免得下完失望。藏着不说,最后也会变成 bug 报告回来。
均衡器不会改变声音
播放列表看的是过去,不是将来
kbps 那一格留空
最小化按钮没有接线
音量滑块调的是系统音量
仅限 Windows
现在是指示灯,接下来是收听记录
收集这件事已经能做了。接下来是 怎么读这些记录,以及跨服务认出同一首歌。
认出同一首歌
那个窗口不提供曲目 ID。所以第一件事是把 Song (feat. X)、Song (Feat. X) 和 Song (2024 Remaster) 归成同一首 —— 这里错了,下面所有数字都会悄悄跟着错。
把过往的记录搬进来
读取 Last.fm 或 Spotify 给你的导出文件,把过去吸收进来。从空收藏起步,和从装着十年记录的收藏起步,是两个不同的产品。
一个能看记录的界面
各服务的占比、按时段的收听,以及 你听完的歌和三十秒内就跳过的歌 —— 这个数字没有一家服务会给你看。
发送到 Last.fm · ListenBrainz
如果你本来就有 scrobble 记录,就往那边送。用你的账号,而且只在你打开它的时候。
给直播用的字幕源
它会持续把当前曲目写进一个文本文件。让 OBS 指向它就行了。
做皮肤
存世的有十万个,可是 新做一个的路已经堵了二十年。 我们手里有完整的坐标表,所以能做出编辑器。
记录只留在这台电脑里。 你在何时听了什么,属于个人信息。任何会离开这台机器的东西都得你亲手打开;不打开,它哪儿也不去。
解压,运行,就这样
不需要安装程序,也不需要管理员权限。把 .wsz 文件拖到窗口上就能换皮肤。
- 1
把下载的 zip 解压,运行
teulda.exe。不用安装程序,也不用管理员权限。 - 2
Winamp Skin Museum 会在新窗口打开。挑一个喜欢的,按 Download skin,就会得到一个
.wsz文件。 - 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关闭
如果什么都没在播,窗口是空的才是对的。去放点什么吧。