teulda v0.2.0
Windows 10 / 11

Ничего не воспроизводит.
Только показывает.

teulda — не плеер. Он не открывает файлы и ничего не декодирует. Он берёт то, что Windows уже играет — Spotify, YouTube, саундтрек игры — и возвращает это в то самое окно двадцатилетней давности, вместе с работающими кнопками.

Работает без установки · Без прав администратора · Со своими скинами .wsz

Окно выше — схема, нарисованная чтобы объяснить расположение. Как оно выглядит на самом деле, решает выбранный вами скин: teulda не распространяет графику скинов.

Индикатор и пульт

Это не ещё один плеер, который нужно ставить

Слушайте там же, где слушаете сейчас. teulda ловит звук откуда бы он ни шёл и собирает всё в одном окне.

SMTC 01 → 03

Слушайте там же, где слушаете сейчас. teulda ловит звук откуда бы он ни шёл и собирает всё в одном окне.

01

Играет ваше приложение

Spotify и корейские десктопные приложения (Melon, Genie, Bugs, FLO), YouTube в Chrome или Edge, даже музыка игрового лаунчера. Аккаунты и DRM остаются их делом — teulda туда не лезет.

02

Windows об этом уже знает

Windows регистрирует всё играющее в службе под названием SMTC. Именно поэтому клавиши воспроизведения и паузы работают в любом приложении.

03

teulda читает эту службу

Он берёт название, исполнителя, позицию и обложку, рисует их в окне скина, а нажатия кнопок отправляет обратно в приложение.

Измерено, а не предположено

Все четыре крупных корейских приложения работают

На этом держался весь продукт. Если настольное приложение не регистрируется в Windows, его пользователи увидят пустое окно. Поэтому мы не гадали, а включили по песне в каждом и замерили.

Где играло Название Позиция · длина Принимаемые команды
Приложения Melon · Genie · Bugs · FLO Приходит Приходит Play · пауза · перемотка
YouTube Music, Spotify Web — сайты с Media Session Название трека Точно Play · пауза · назад · вперёд · перемотка
Браузер — сайт с обычным тегом <audio> Заголовок страницы Точно Play · пауза · перемотка

Измерено 14 сентября 2026 года на реальном ПК с Windows, сборкой для распространения. Набор команд зависит от приложения — кнопка, которую приложение не зарегистрировало, неактивна и в teulda. Некоторые приложения вовсе не присылают исполнителя, тогда видно только название.

.wsz

Двадцать лет скинов уже созданы

Сохранилось более ста тысяч классических скинов Winamp. teulda читает эти файлы .wsz как есть — без конвертации и перерисовки.

Авторские права

Скины не поставляются вместе

Каждый принадлежит тому, кто его нарисовал. Читать формат файла и продавать чужую графику внутри своей загрузки — разные вещи.

Терпимость

Скины, нарушающие спецификацию, тоже рисуются

Скин, у которого полоса прогресса 307×5 вместо 307×10. Скин, у которого лист шрифта обрывается на середине файла. Скин, чей region.txt не следует никакому синтаксису. teulda рисует столько, сколько есть, и отбрасывает только нечитаемый кусок.

Четыре окна

Главное · эквалайзер · плейлист · обложка

Окна с обложкой в классике не было, поэтому оно открывается клавишей A. Его рамка не нарисована заново — она собрана из плиток плейлиста того же скина, так что при любом скине окно выглядит его собственным.

Как было

Двойной размер · свёрнутый режим · визуализатор

Полосы и осциллограф — не анимация. Они рисуются по звуку, который действительно выходит из ваших колонок.

Когда буквы пропадают

Ваш алфавит отображается

В шрифтовых листах классических скинов есть только ASCII. Поэтому название на корейском, японском, китайском или кириллице просто теряет эти буквы.

Шрифт скина как есть
(feat.HAEMOO)/(DIVEP

Исчезает именно то, что вы хотели прочитать — песня и исполнитель. Большинство из тех ста тысяч скинов несут только ASCII, так что смена скина ничего не решает.

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

Если в листе нет хотя бы одного символа, вся строка рисуется системным шрифтом. Названия из одного ASCII сохраняют шрифт скина, как и раньше — именно так это окно и должно выглядеть.

Поле названия высотой шесть пикселей. teulda занимает только те строки, что скин действительно оставил пустыми сверху и снизу (скин с фотографией там не даёт ни одной), и рисует буквы в настоящем размере под масштаб окна. Цвет подбирается по измеренной яркости фона.

Только что добавлено

Не терять песню, которая только что прошла

Spotify никогда не узнает, что вы слушали на YouTube. teulda видит и то и другое — нажмите Ctrl+Alt+S откуда угодно, и играющая песня оставит строку на этом ПК.

S

Даже когда окна нет перед глазами

Теряется та песня, что проходит мимо, пока вы играете или пишете. Ctrl+Alt+S работает где угодно и за каким угодно занятием. Если этой комбинацией уже владеет другая программа, teulda спускается до свободной и пишет доставшуюся клавишу в окне библиотеки.

Автоматически

Дослушайте до конца — сохранится само

Нажимать ничего не нужно. Но только если он видел, как песня дошла до конца: открыть окно, когда трек уже заканчивается, — не то же самое, что послушать его. Помечается отдельно от выбранного вручную.

L

Просмотреть и забрать с собой

Посмотрите, что набралось, удалите строку, выгрузите в CSV — записано так, чтобы Excel открыл без каши из символов. Или скопируйте весь список и вставьте куда угодно.

Только на этом ПК

Наружу ходу нет

Что и когда вы слушали — персональные данные. В коде, который ведёт запись, нет ни строки, касающейся сети, и это удерживает тест. Выгрузка происходит потому, что вы нажали кнопку.

Имена приложений в столбце «откуда» заполняются сообща. Windows выдаёт что-то вроде neowizinternet.234211C5E0 — это не читаемое имя. Какой идентификатор чей, знает только тот, кто этим приложением пользуется, поэтому таблица лежит в репозитории, а всё, чего в ней нет, показывается ровно так, как пришло. Угаданное имя было бы хуже: читая собственную запись, ошибку не заметишь.

앱 이름 알려주기

Скажем сразу

Чего он не может и чего намеренно не делает

То, что стоит знать до загрузки, чтобы потом не разочароваться. Замалчивание лишь превращает это в баг-репорты.

Эквалайзер не меняет звук

Аудиопоток к нам не попадает, поэтому фильтр ставить некуда. Ползунки всё равно двигаются, потому что увидеть, как этот скин нарисовал своё окно эквалайзера, — и есть весь смысл этого окна.

Плейлист смотрит назад, а не вперёд

Служба Windows выдаёт одно: песню, что играет сейчас. Ни очереди, ни плейлиста. Поэтому то окно — запись уже прозвучавшего, и щелчок по строке никуда не перескочит.

Поле kbps остаётся пустым

Мы не декодируем файл, так что узнать его битрейт кодирования неоткуда. Поставить в то же поле число с другим смыслом — это ложь. Показания kHz и моно/стерео берутся с устройства вывода.

Кнопка сворачивания не подключена

Окна нет на панели задач, поэтому свёрнутое вернуть было бы нечем. Кнопка, которая ничего не делает, лучше кнопки, от которой приложение исчезает.

Ползунок громкости — системный

Служба не сообщает громкость и не принимает её, поэтому классический ползунок двигает общую громкость Windows. Баланс лево/право показывается, но не применяется.

Только Windows

Он напрямую обращается к медиаслужбе Windows. В macOS и Linux такой службы нет, так что перенос дал бы лишь пустое окно.
Что дальше

Сегодня индикатор, дальше — история прослушивания

Сбор работает. Дальше — как читать собранное и узнавать ту же песню, когда она переходит из сервиса в сервис.

В работе

Узнавать одну и ту же песню

Служба не отдаёт идентификатор трека. Поэтому первая задача — свести Song (feat. X), Song (Feat. X) и Song (2024 Remaster) в одно: ошибка здесь тихо испортит все цифры ниже.

В работе

Забрать то, что уже есть

Прочитать файлы выгрузки, которые дают Last.fm или Spotify, и вобрать прошлое. Начать с пустой библиотеки и начать с десятью годами внутри — это разные продукты.

Затем

Экран, чтобы это читать

Доля по сервисам, прослушивание по часам и какие песни вы дослушали, а какие пропустили за тридцать секунд — цифра, которую вам не покажет ни один сервис.

Затем

Отправка в Last.fm · ListenBrainz

Если вы уже ведёте историю скробблов, всё уйдёт туда. Под вашей учётной записью и только когда вы это включите.

Затем

Источник титров для стрима

Он постоянно пишет текущую песню в текстовый файл. Укажите на него в OBS — и всё.

Позже

Создание скинов

Их сто тысяч, но дорога к созданию нового закрыта уже двадцать лет. У нас есть полная таблица координат, так что редактор мы построить можем.

Запись остаётся на этом ПК. Что и когда вы слушали — персональные данные. Всё, что покидает машину, включаете вы сами; не включите — никуда ничего не уйдёт.

v0.2.0

Распаковать, запустить — всё

Ни установщика, ни прав администратора. Перетащите файл .wsz на окно, чтобы сменить скин.

  1. 1

    Распакуйте скачанный архив и запустите teulda.exe. Ни установщика, ни прав администратора.

  2. 2

    Winamp Skin Museum откроется в новом окне. Выберите понравившийся, нажмите Download skin — и получите файл .wsz.

  3. 3

    Перетащите этот .wsz на окно teulda. Это и есть установка — ничего не распаковывать, никуда не копировать.

Что вы получите
teulda-0.2.0-win64.zipОколо 35 МБ при загрузке, 81 МБ после распаковки · отдельная среда выполнения не нужна
Где работает
Windows 10 / 1164-разрядная
Что понадобится
Один скин .wszЕсли его нет, в Winamp Skin Museum их сто тысяч
Клавиши
S сохранить · L библиотекаCtrl+Alt+S откуда угодно · D двойной размер · W свернуть · A обложка · Esc закрыть
Подписано, но Windows может спросить ещё раз. Эта сборка подписана от имени PROJECTTEAMFORYOU и снабжена меткой времени. Однако обычный сертификат не приносит репутации: SmartScreen может показать «Система Windows защитила ваш компьютер», пока не наберётся достаточно загрузок. Тогда выберите Подробнее → Выполнить в любом случае. На странице релиза указан SHA-256, чтобы вы могли проверить, что файл — тот самый.

Если ничего не играет, пустое окно — правильный результат. Включите что-нибудь.