music-analyze
Сводит лайки Яндекс.Музыки и SoundCloud в один список, чистит перезаливы и считает топы исполнителей, альбомов и жанров.
- Python
- MusicBrainz
- Last.fm
- HTML
Поищите «tramvai» или «lagoon», покрутите случайный трек, раскройте строку
всё, что ты лайкнул на Яндекс.Музыке и SoundCloud, свалено в одну кучу и посчитано
- Треков
- 4 255
- Лайков
- 4 684 до склейки
- Дублей схлопнуто
- 429
- Исполнителей
- 1 585
- Жанров
- 246
- Часов музыки
- 226
Кого больше всего
По числу лайкнутых треков. Жми на строку — вывалятся все треки.
Какие альбомы
По числу лайкнутых треков с альбома. Альбом известен у 81% треков: Яндекс отдаёт его почти всегда, SoundCloud — только когда заливающий не стёр теги. 502 альбома набрали больше одного лайкнутого трека.
Под что живёшь
Теги из MusicBrainz и Last.fm — не то, что вписал заливающий.
Как менялся вкус
Каждый трек посчитан один раз — по году, когда ты лайкнул его первым. Тыкни в столбик, чтобы отфильтровать всё выше.
2023639 тр.
- 1Tin Lagoon18
- 2Moth Lantern15
- 3Velvet Static12
- 4Полярная Ночь10
- 5Hollow Saints9
- 6Wraith Garden8
2024812 тр.
- 1Полярная Ночь14
- 2Moth Lantern14
- 3Tin Lagoon12
- 4Velvet Static10
- 5Северный Ветер9
- 6Kestrel Unit9
2025851 тр.
- 1Полярная Ночь16
- 2Tidepool Radio14
- 3Северный Ветер12
- 4Kestrel Unit11
- 5Tin Lagoon10
- 6Лунный Трамвай9
20261 953 тр.
- 1Северный Ветер26
- 2Полярная Ночь24
- 3Лунный Трамвай21
- 4Tidepool Radio20
- 5Kestrel Unit18
- 6Tin Lagoon18
Где что лежит
Сколько треков живёт только на одной площадке, а сколько — на обеих.
Как это посчитано
Откуда данные
Лайки сняты прямо из залогиненной сессии: SoundCloud через api-v2, Яндекс через api.music.yandex.ru. Ни пароли, ни токены никуда не сохранялись.
Чистка перезаливов
Из названий выкинуты [FREE DL], (prod. by …), @упоминания, #теги и номера дорожек. Исполнитель берётся из ID3, потом из схемы «Артист — Трек», и только в последнюю очередь из имени аккаунта.
Возврат авторства
Если трек всё ещё числился за блогом, название сверялось со словарём исполнителей из достоверных метаданных — по целым словам, иначе «ROT» забирал себе «Rotation».
Склейка площадок
Один трек, если похоже название, совпал исполнитель и длительность разошлась не больше 7 секунд. «Полярная Ночь» и «POLYARNAYA NOCH» — один артист. Ремикс остаётся отдельным треком.
Жанры
Теги из MusicBrainz и Last.fm по каноническому имени; Deezer и iTunes — на подхвате. Собственный «жанр» площадки идёт последним.
Цвета
Раскраска полосок — просто наклейки. Значение несут длина полосы и число рядом, а не цвет.
- Что делал
- Сбор данных, чистка, отчёт
- Год
- 2026
- Лайка
- 4 684
- Дублей склеено
- 429
Что умеет
- Лайки с двух площадок в одном списке
- Одинаковые треки склеиваются
- Жанры из MusicBrainz и Last.fm
- Отчёт с поиском и фильтрами
Как устроено
- Python без сторонних библиотек
- Мусор в названиях снимают правила, а не ручная правка
- Ответы внешних сервисов кешируются
Что стоит знать
- Личный инструмент, не сервис
- Яндекс читается из открытой сессии в браузере
- Репозитория пока нет
Обсудить похожую задачу
Нужно что-то похожее? Напишите, и я скажу, сколько времени это займёт.