Как я доделал функции за Яндекс.Музыкой
Можно ли без официального API создавать плейлисты и удалять дубликаты? Статья описывает расширение для браузеров на Chromium. Преследуя цель добавить новые функции на сайт Яндекс.Музыки.
Мой первый крупный опыт работы с JavaScript и что из этого вышло. В решении не используется библиотека от MarshalX, не запрашивается логин/пароль.
Небольшая предыстория. Проект является просто хобби. Это должно прояснить мои решения и качество кода. На протяжении нескольких лет активно пользовался Яндекс.Музыкой, курировал тему на 4PDA. Отсюда мне известны некоторые больные точки сервиса, которые Яндекс либо игнорирует, либо не может позволить себе сделать ввиду гиковой направленности.
Функционал
Наибольшее количество функций связано с созданием плейлистов и работой с ними, в том числе модификации.
В качестве источника треков выступают:
- Раздел новых релизов. Как правило, не новый пользователь, получает в этом разделе только персональный набор релизов от отслеживаемых исполнителей и близких к ним в виде синглов и альбомов. Расширение позволяет собрать все треки в один плейлист.
- Last.fm. Расширение позволяет импортировать различные рекомендации сервиса. Например, плейлист «Соседи» будет содержать треки, которые слушают пользователи с похожим музыкальным вкусом. Плейлист «Микс» поделит треки как на ранее прослушиваемые, так и новые рекомендации. Кроме того, есть топ прослушиваний за период и любимые треки.
Стена рекомендаций. Ранее Яндекс.Музыка предлагала ленту рекомендаций по адресу /feed. На текущий момент страница недоступна. Но некоторые API по-прежнему отвечают. Среди источников: треки малоизвестных исполнителей, давно не прослушиваемое, недельный чарт и другое.- Без категории. На страницы исполнителя доступна команда сбора дискографии за некоторый период. Например, все треки исполнителя за 2 года; Еще один плейлист «Мои дизлайки», собирает все известные дизлайки, но не в порядке добавления; Плейлист «Из истории» подбирает случайные треки из истории прослушиваний самого Яндекс.
Под работой и модификацией подразумевается:
- Создать похожий плейлист. Текущий набор треков передается Last.fm, ответ фильтруется по заданному значению схожести, который также считает Last.fm.
- Поиск дубликатов. Треки с одинаковым id удаляются, схожие названия перемещаются наверх списка на пользовательскую модерацию. Остальные треки остаются на своем месте.
- Фильтр треков. Позволяет удалить: диз/лайки; неоригинальные версии треков (mix, radio, cover и прочее); недавно игравшее; названия с кириллицей; вычесть треки другого плейлиста.
- Сортировка. Не временная, удаляет треки и вставляет заново с новым порядком по исполнителю или названию.
- Лайкер. Массовая постановка/снятие диз/лайка на все треки плейлиста.
- Экспортер. Формирует текстовый список в виде «исполнитель — трек», который можно отдать другого сервису. Например, перенести в Spotify.
Принцип работы
Текущая страница проверяется по url. Если для нее есть функционал, происходит поиск ключевого элемента страницы, к которому добавляется элемент от расширения (кнопка и выпадающий список). Реагируя на клик, обрабатывающий код, как правило, выводит уведомление (для длительных операций).
Операции, связанные с модификацией, требуют freshCsrf. Его можно получить выполнив GET-запрос на /api/v2.1/handlers/auth. Параметры для запроса можно узнать из консоли разработчика по фильтру XHR. Оттуда были получены и все прочие адреса. Буквально методов тыка, ручных кликов по сайту.
Постарался максимально сократить разрешения — это ограниченный набор адресов, связанный с Яндекс.Музыкой и last.fm, чтобы иметь возможность совершать запросы, а также picsum.photos для загрузки случайных обложек к плейлистам.
Все используемые данные пользователя никуда не передаются и никак не хранятся. За исключением передачи логина с запросами к last.fm.
Ссылки
Расширение доступно в Chrome Web Store
Исходный код на GitHub вместе с обратной связью
15 скрытых функций «Яндекс.Музыки», о которых вы могли не знать
Мы рассказали о неочевидных возможностях Apple Music и YouTube Music. Пришло время посмотреть, какие скрытые функции есть в «Яндекс.Музыке», втором по популярности платном стриминге у читателей «Афиши Daily».
Включите темную тему
Самое лучшее в темной теме «Яндекс.Музыки» — она есть и в приложении, и на сайте. Если будете на вечеринке ставить музыку с ноутбука, оцените, насколько удобно — свет от экрана не бьет в глаза.
Как это сделать
В приложении зайдите в «Мою музыку» — настройки — «Темная тема». На сайте зайдите в «Мою музыку» — настройки — «Прочее» — «Темная тема»
Подробности по теме
15 функций Apple Music, о которых вы могли не знать
Ищите песню по строчке
Для тех, кто не помнит ни имени музыканта, ни названия песни, но почему-то знает какую-то случайную строчку. «Яндекс.Музыка» найдет песню по строчке, если в каталоге есть ее текст. Иногда песня ищется по напеву, например, «эрондондон» поможет найти песню «Get Low» из Need for Speed: Underground.
Слушайте редакторские и умные плейлисты
В «Яндекс.Музыке» три вида плейлистов: составленные пользователями, редакторами стриминга и алгоритмами. Последних четыре, и они уникальны для каждого слушателя: «Плейлист дня», «Дежавю», «Премьера» и «Тайник». Чем больше песен вы слушаете, чем больше лайкаете или дизлайкаете, тем более интересными они будут. Остальные составлены или редакторами «Яндекс.Музыки», например как «Хайп», или пользователями, например как сборники канала «Всякая годная попса».
Ищите в стриминге музыку, которую услышали в такси
Мобильное приложение распознает музыку, прямо как Shazam, и узнает даже ту песню, которой нет в библиотеке. Но если она есть в сервисе, «Яндекс.Музыка» сразу предложит добавить ее в медиатеку и сохранит в отдельный плейлист.
Как это сделать
В поиске в приложении нажмите на иконку с микрофоном
Настраивайте рекомендации, не заходя в приложение
Конечно, в «Яндекс.Музыке» есть радио. Оно включает треки или по жанру, занятию, настроению, новизне, или на основе каких-то альбомов, треков и плейлистов. Если понравился альбом или плейлист, а треки в нем закончились, включите радио — оно построит бесконечный поток песен по треклисту альбома или плейлиста. Это делается или в приложении для iOS, или на сайте. Треки в радио лайкают и дизлайкают — это повлияет на музыку, которую приложение предложит в будущем. Но самое удобное — лайкать и дизлайкать с экрана блокировки.
Как это сделать
Нажмите на иконку «гамбургера» на плеере и выберите, что сделать с текущим треком. Но работает это только с радио
5 крутых функций Яндекс.Музыки, которые стоит попробовать в 2023 году
После ухода Spotify, Deezer и других западных сервисов из России у пользователей стало немного меньше музыки. Несмотря на это, отечественные компании продолжают баловать подписчиков новинками и делать свои приложения круче. Например, Яндекс.Музыка сейчас популярна как никогда хотя бы по той причине, что подписку можно оплатить безо всяких проблем, а приложение для Айфона и Айпада в разы удобнее, чем тот же Apple Music. За последние месяцы в нем как раз появились крутые функции, которые вы наверняка могли пропустить. Рассказываем, как их включить, чтобы удобно слушать Яндекс.Музыку.
Вот несколько крутых новых фишек Яндекс.Музыки, которые точно стоит попробовать
Как искать музыку в Яндекс.Музыке
Не так давно в Яндекс.Музыке было переосмыслено Радио, вместо которого появилась «Моя волна» — бесконечный поток треков, который опирается на предпочтения пользователя. Вы можете запустить ее на главном экране приложения, на компьютере или на Яндекс.Станции, предварительно выбрав, какую музыку хотите послушать. Например, что-то грустное, меланхоличное, от российских исполнителей. Или, наоборот, что-то танцевальное и энергичное — от западных.

«Мою волну» теперь можно запустить через поисковую строку
Теперь это можно сделать немного проще: если вы слушали треки из своей коллекции и внезапно решили что-то найти, нажав на «Поиск», можете просто ввести слово настроение, по которому нужно включить музыку. Например, ввести «Грустное» или «Энергичное» и в самом верху списка у вас появится кнопка для запуска «Моей волны». То есть, вместо того, чтобы искать какой-то определенный трек, проще включить поток музыки по настроению!
Слушать спокойную музыку без слов

Можно запустить поток треков без слов, чтобы сконцентрироваться
Кстати, с недавних пор «Моя волна» имеет отдельную настройку «Без слов». Она идеально подойдет, если вам нужна инструментальная музыка без вокала. Отличие этой фишки в том, что в поток треков не будет примешиваться все подряд — алгоритмы будут определять, есть ли в треках голос, и отсекут их. Подборка будет состоять из лаунжа, эмбиента и треков других спокойных жанров, которые идеально подходят для работы или расслабления перед сном. Рекомендую попробовать!
Виджеты для Яндекс Музыки на Айфон
В iOS 16 Apple добавила возможность размещать виджеты на экране блокировки: среди них есть не только погода и входящие сообщения с электронной почты, но даже шагомер для просмотра пройденного расстояния! Разбавить этот и любой другой набор иконок на локскрине поможет виджет «Моя волна»!

Включить музыку теперь можно прямо с экрана блокировки
Просто нажимаете на него и разблокируете Айфон, после чего вас перекинет в Яндекс.Музыку и бесконечный поток треков запустится автоматически. Что удобно: если «Моя волна» уже играет, то при нажатии у вас моментально будет открываться само приложение, а воспроизведение не будет запускаться заново. Добавить Яндекс.Музыку на экран блокировки очень просто.
- Включите экран и удерживайте его.
- Затем нажмите «Настроить» внизу.
- Теперь выберите экран блокировки и нажмите на строку с виджетами.
- Выберите из списка треугольный значок с логотипом Яндекс.Музыки.
Кстати, буквально на днях Яндекс добавил виджет «Моей волны» для главного экрана Айфона. Он выглядит точь-в-точь как основная страница Яндекс.Музыки! Правда, он статичный, поэтому абстрактная анимация двигаться не будет. Но в виджете все равно есть польза: во-первых, он моментально запускает воспроизведение, а во-вторых — оставляет Айфон разблокированным, пока открыт экран с ним. Добавить его очень просто.

Вот так теперь выглядит виджет «Моей волны» для экрана «Домой»
- Удерживайте экран «Домой».
- Нажмите «+» в левом верхнем углу.
- В списке найдите Яндекс.Музыку и выберите виджет «Моя волна».
Как включить плавный переход в Яндекс Музыке

Кроссфейд заглушает заканчивающийся трек и плавно запускает следующий
В одном из недавних обновлений в настройках Яндекс.Музыки появился параметр «Кроссфейд», который еще и включился по умолчанию. Но это даже хорошо: теперь появился плавный переход между песнями! То есть, примерно за 5 секунд до окончания звук «затухает» и запускается следующая композиция, что позволяет избежать паузы между треками. Включите его, зайдя в Коллекцию и выбрав «Кроссфейд» в настройках.
Где посмотреть дизлайки в Яндекс Музыке
Благодаря тому, что вы ставите «Мне нравится» на треки в Яндекс.Музыке, алгоритмы точнее определяют ваши предпочтения. Правда, иногда песня или исполнитель незаслуженно получают дизлайк, в результате чего его треки все реже появляются в подборках новой музыки или в «Моей волне». Убрать дизлайк в Яндекс.Музыке можно через специальный раздел.

Убрать дизлайк с трека или исполнителя стало намного проще
- Зайдите в приложение и нажмите на иконку профиля вверху.
- Выберите «Посмотреть дизлайки»: у вас отобразится вкладки с треками и исполнителями.
- Просто нажмите на три точки и еще раз нажмите «Не нравится», чтобы убрать дизлайк и вернуть треки в рекомендации.
Кстати, получить бесплатную подписку на Яндекс.Музыку очень просто. Прочтите нашу статью о том, как это сделать — способ по-прежнему работает!
Создание, изменение и удаление плейлистов в приложении «Музыка» на Mac

Можно создавать плейлисты для определенного настроения, объединять песни на определенную тему или группировать песни для записи на CD.

Рядом с созданными Вами плейлистами отображается значок плейлиста .
Siri. Произнесите, например:
- «Играй плейлист Любимые песни Анны»;
- «Включи плейлист «25 популярнейших»».
Также можно создать смарт-плейлист, который автоматически обновляется в соответствии с заданными Вами критериями, или создать плейлист Genius, содержащий музыку из медиатеки, похожую на выбранную песню.
Примечание. Некоторые функции недоступны в плане подписки Apple Music Voice. Подписка Apple Music и подписка Apple Music Voice доступны не во всех странах и регионах. См. статью службы поддержки Apple Доступность мультимедийных сервисов Apple.
Создание пустого плейлиста

- В приложении «Музыка» на Mac выберите «Файл» > «Новый плейлист». Новый плейлист появится в разделе «Плейлисты» в боковом меню.
- Введите название плейлиста.
Добавление объектов в плейлист
- В приложении «Музыка»
на Mac нажмите «Слушать», «Обзор» или любой другой пункт в разделе «Медиатека» в боковой панели, чтобы отобразить песни, которые можно добавить в плейлист. - Чтобы добавить композиции в плейлист, выполните любое из указанных действий.
- Перетяните объект из любого раздела медиатеки в плейлист в боковом меню.

- Удерживая клавишу Control, нажмите объект. Выберите «Добавить в плейлист», затем выберите нужный плейлист (или используйте панель Touch Bar).
- Перетяните объект из любого раздела медиатеки в плейлист в боковом меню.
Совет. Чтобы добавить песни в плейлист, не добавляя их в медиатеку, выберите «Музыка» > «Настройки», нажмите «Дополнения», затем снимите флажок «Добавлять песни в медиатеку при добавлении в плейлисты».
Создание плейлиста из песен

- В приложении «Музыка» на Mac нажмите «Слушать», «Обзор» или любой другой пункт в разделе «Медиатека» в боковой панели, чтобы отобразить песни, которые можно добавить в плейлист.
- Выберите одну или несколько песен, затем выполните одно из указанных действий.
- Перетяните песни в боковую панель.
- Нажмите, удерживая клавишу Control, выберите «Добавить в плейлист» > «Новый плейлист».
Новый плейлист появится в разделе «Плейлисты» в боковом меню.
Редактирование плейлиста

- В приложении «Музыка» на Mac выберите плейлист в боковом меню.
- Выполните любое из указанных действий.
- Переименование плейлиста. Выберите название плейлиста в верхней части окна, затем введите новое название.
- Изменение порядка воспроизведения песен. Выберите «Вид» > «Порядок сортировки». Если выбран пункт меню «Вид» > «Сортировка» > «Порядок плейлистов», порядок песен в плейлисте можно менять перетягиванием.
- Удаление объекта. Выберите объект и нажмите клавишу Delete. Если удаленная песня уже есть в Вашей медиатеке, то при ее удалении из плейлиста она не удаляется из медиатеки или с устройства, на котором она сохранена.
Удаление плейлиста
Если удалить плейлист, песни из него останутся в Вашей личной медиатеке и на компьютере.

- В приложении «Музыка» на Mac выполните любое из указанных действий.
- Выберите плейлист в боковом меню, затем нажмите клавишу Delete.
- Удерживая клавишу Control, нажмите плейлист в боковом меню, затем выберите «Удалить из медиатеки».
- Для подтверждения нажмите «Удалить».
Помимо создаваемых Вами плейлистов также есть плейлисты, составляемые редакторами Apple Music и другими участниками музыкального сообщества. См. раздел о добавлении и загрузке музыки.
