Почему слушать музыку в VK — пустая трата времени

25 февраля 2015 Технологии

«ВКонтакте» — самый популярный российский ресурс для прослушивания потоковой музыки. Но популярность не всегда показатель качества. Стоит ли слушать музыку в самой популярной социалке России?

Сегодня «ВКонтакте» — самый популярный музыкальный ресурс в России. Количество музыки в нём превышает даже число загруженных пиратских фильмов. Многие группы даже умудряются раскручиваться исключительно через эту социальную сеть. Но всё же слушать музыку в VK — пустая трата времени и категорическое неуважение как к исполнителю, так и к собственным ушам.

Ресурс совсем недавно снял ограничение по загрузке файлов. Ранее можно было загружать только MP3 объёмом не более 10 МБ. Сейчас потолок поднялся, можно загрузить уже тяжёлый 200-мегабайтный трек, но тоже только в формате MP3. Эти ограничения — главный бич музыки, размещённой на серверах самой популярной социальной сети в СНГ.

На заре цифровой музыки часто можно было встретить MP3-файлы в битрейте 192, 128 и даже 96 кбит/с.

Для большего сжатия был придуман VBR — Variable Bit Rate. Программа-кодер при выборе подобного алгоритма автоматически изменяет битрейт файла. Более насыщенные места композиции она оставляет в максимальном указанном качестве, в менее насыщенных (или просто более тихих) — снижает качество композиции. Такие файлы как раз занимают не больше 10 МБ места на жёстком диске.

Если постараться, то в это ограничение можно будет уместить и многочасовой диджейский сет (что довольно часто делается). Однако результатом является значительное снижение не только размера файла, но и качества. Вплоть до того, что тишиной могут стать более тихие участки мелодии — звучание будет здорово ухудшено по сравнению с оригиналом.

Более правильным, «феншуйным» форматом является MP3 с постоянным битрейтом — CBR. По крайней мере, этот вариант кодирования аудио вносит основные искажения в неслышимом частотном диапазоне до 16 Гц и после 20 кГц, щадя основные частоты.

Хотя даже здесь очень важен используемый кодек. Если обратиться к специализированным сообществам, можно узнать, что минимальные искажения можно получить, только если использовать кодек Lame совершенно определённой версии, при этом декодируя звук в CBR с битрейтом 320 кбит/с.

Полноценный музыкальный альбом в правильно декодированном MP3 с максимальным качеством занимает около 100–200 МБ. Четырёхминутная песня — примерно 12–20 МБ.

Если в свойствах файла указаны 320 кбит/с, это не говорит о его качестве.

Сегодня очень активно распространяется «транскод» — перекодирование из низкого битрейта в более высокий для указания завышенных характеристик. Кроме распознавания аудиоплеерами как 320 или 256 кбит/с, никаких улучшений подобная операция не приносит (кстати, чаще всего и размер файла остаётся тем же).

Кроме низкого битрейта, могут быть заниженными и другие характеристики. К сожалению, в большинстве случаев нельзя сказать что-либо о свойствах файла без дополнительных инструментов и браузерных надстроек (о которых можно будет рассказать отдельно).

Прослушивание музыки в VK очень удобно. Но найти там качественную запись почти невозможно.

Ограничения при загрузке файлов на сервера «ВКонтакте» привели к колоссальному количеству низкокачественных треков именно в VBR или CBR с низким битрейтом. А низкая культура прослушивания только увеличивает число некачественных аудиозаписей.

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

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

Кстати, не стоит забывать, что музыка в VK пиратская и, кроме пиара, существенно бьёт по кошельку исполнителя.

Музыка в VK нарушает авторские права, а значит, административно наказуема и при неудачном расположении звёзд приведёт к штрафу.

Так что, несмотря на все удобства, слушать музыку по адресу vk. com — плохая идея.

как ВКонтакте рекомендует музыку миллионам пользователей / Хабр

Всем привет! Это Даня Самойлов и Женя Замятин, мы из команды Core ML, занимаемся рекомендациями VK Музыки. В этой статье мы хотим поделиться с вами, как устроена наша система музыкальных рекомендаций (на примере алгоритмического плейлиста «Для вас»), и рассказать об интересных решениях, принятых на каждом этапе.

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

Первый уровень

На первом уровне, как упоминалось выше, происходит отбор кандидатов для дальнейшего ранжирования. Этот уровень необходим потому, что мы не можем отправить всю имеющуюся базу треков на этап ранжирования, так как нет возможности отранжировать такое количество треков. Здесь важно получить такой набор треков, который уже будет относительно неплохо учитывать музыкальные предпочтения пользователя и в котором будут релевантные для пользователя композиции. Этот этап очень важен, ведь если в кандидатах не будет релевантных аудиозаписей, то последующие этапы будут бессмысленны.

ALS

Для отбора кандидатов мы используем эмбеддинги, полученные с помощью ALS. Кроме него, мы пробовали w2v (статья Deezer про w2v в рекомендациях музыки), но ALS показал себя значительно лучше. Факторизация у нас implicit, раскладываем матрицу взаимодействий пользователя с треками — на пересечении стоит количество запусков трека. На выходе получаем две матрицы — матрицу пользователей и матрицу треков Дальше нам понадобится сделать шаг ALS — одну итерацию расчёта ALS-факторизации матрицы A-B при зафиксированной матрице A. После получения матрицы треков мы делаем из неё шаг ALS для получения матрицы плейлистов (раскладываем матрицу «плейлист — трек»), матрицы стилей (раскладываем матрицу «стиль — трек») и матрицы артистов (раскладываем матрицу «артист — трек»). А из матрицы юзеров мы делаем шаг ALS для получения матрицы сообществ (раскладываем матрицу «юзер — сообщество»). Все эти разложения нам нужны в дальнейшем для использования эмбеддингов в рекомендациях. Так как они все из одного векторного пространства, то мы можем найти к необходимому плейлисту ближайшего артиста, к пользователю — ближайший стиль и так далее.

Индексы эмбеддингов

У нас есть несколько индексов с эмбеддингами треков — индекс со всеми треками и индекс с фильтрованными треками. Фильтруем мы по длине трека и по количеству прослушиваний. Фильтрация по количеству прослушиваний необходима, так как при малом количестве взаимодействий с треком его ALS-эмбеддинг может быть очень шумным и ближайшие эмбеддинги треков по косинусу будут мало похожими по своей сути. Благодаря этой фильтрации у нас получается снизить вероятность таких случаев. Из этого фильтрованного индекса мы набираем треки для рекомендации пользователю, а в первом индексе мы ищем треки, с которыми взаимодействовал пользователь, для построения его эмбеддинга.

Онлайн ALS

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

Чтобы в отсутствии взаимодействия пользователей с треками поддерживать некоторое межсессионное разнообразие, мы добавляем небольшой шум к получившимся эмбеддингам юзеров. Так при каждом запуске у нас будут немного разные кандидаты, что позволяет получать слегка отличающиеся рекомендации (но всё так же релевантные).

Далее для этого эмбеддинга пользователя ищутся ближайшие треки по косинусу. Однако если напрямую взять историю взаимодействий, сделать шаг ALS для получения эмбеддинга пользователя и найти ближайшие треки, результат получится не очень хорошим. Довольно часто юзеры слушают не один жанр, а несколько, и эмбеддинги треков довольно разрозненные и разносторонние. И если в таких случаях мы будем по всем этим эмбеддингам треков получать эмбеддинг юзера, он может не очень хорошо описывать вкусы и предпочтения пользователя.

Поэтому перед вычислением эмбеддинга юзера мы применяем кластеризацию эмбеддингов треков, с которыми он взаимодействовал. 

Кластеризация

Для кластеризации мы используем spherical k-means. Таким образом мы кластеризуем прослушки и добавления пользователя и для каждого кластера вычисляем one-step ALS из треков в пользователя. Благодаря этому теперь для юзера у нас есть несколько его эмбеддингов, которые в совокупности полностью покрывают его вкусы. Для каждого из них мы находим ближайших соседей и используем полученные треки в качестве кандидатов для ранжирования. Получившийся набор треков для ранжирования в полной мере охватывает предпочтения пользователя. 

Второй уровень

На второй уровень поступают кандидаты с первого уровня — набор треков, которые должны понравиться пользователю, и для которых осталось только провести ранжирование. Этот этап также очень важен, потому что после открытия алгоритмического плейлиста пользователь видит лишь часть верхних треков, которые должны его заинтересовать, чтобы он начал слушать плейлист. Поэтому для набора треков после нахождения «ближайших соседей» мы должны прокинуть в топ самые релевантные треки.

Модель ранжирования

В качестве модели ранжирования мы используем дописанный нами pairwise-мультитаргет XGB, который обучается распределённо на нескольких машинах. В качестве таргетов мы используем сигнал добавления трека в «Мою музыку», сигнал прослушивания трека (>60% трека прослушано) и сигнал скипа трека. Подробнее про эту модель мы расскажем в отдельной статье.

Признаки для ранжирования

Наша модель ранжирования использует множество признаков, в общей сложности их около 1 000. Далее мы расскажем про основные признаки, давшие хороший прирост в продуктовых метриках.

Признаки пользователя

Самые базовые признаки — информация о пользователе. Его пол, возраст, страна, подписки и другая полезная информация — всё это использует модель.

Признаки, завязанные на прослушивания трека и артиста, а также истории прослушиваний пользователя

Это основные признаки, которые появились одними из первых. По своей сути это счётчики, которые показывают количество прослушиваний конкретного трека и артиста, слушал ли пользователь конкретный трек и конкретного артиста, когда было последнее прослушивание и некоторую другую метаинформацию по треку и артисту. Такие признаки по сей день имеют большой importance в модели.

Признаки, завязанные на коллаборативные эмбеддинги

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

Анализ звучания песен. Признаки на основе контентных данных

Для контентных признаков мы используем данные, которые были получены в результате обработки аудиозаписей с помощью нейросети PANNs. Нейросеть имеет 527 выходов, каждый из которых отвечает за отдельный вид «звука», будь то мужское пение, барабаны или шум воды. Нейросеть может работать только с ограниченными по длине отрезками аудиозаписей, поэтому для каждого трека есть несколько записей с результатами обработки. Так перед нами встала задача агрегации этих данных. В качестве агрегирующих функций мы решили взять среднее значение, максимальное значение и энтропию. Рассматривались также минимальные значения, мода, медиана, но они не получили должного importance в модели, поэтому от них было решено отказаться в пользу производительности. Наша модель ранжирования использует эти агрегированные признаки из PHP-кода.

Но было недостаточно добавить контентные признаки только для аудиозаписей. Чтобы модель могла работать корректно, необходимо было добавить пользовательские контентные признаки исходя из истории взаимодействия юзера с треками. Во время генерации рекомендаций на этапе извлечения признаков для пользователя берётся история его прослушиваний, и контентные признаки треков агрегируются для получения пользовательских признаков. Для признаков, которые были рассчитаны с помощью среднего значения, мы считали «честное среднее» по следующей формуле:

где — значение признака трека, — количество отрезков трека.

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

Внедрение данных признаков дало прирост прослушиваний и таймспента.

Признаки на основе данных Discogs

После успеха внедрения контентных данных было решено продолжить двигаться в направлении использования контентной информации для улучшения рекомендаций. Мы выбрали open-source базу данных Discogs, в которой собрана метаинформация о треках — жанры, стили, страна, год релиза и другая полезная информация. Из этих данных мы хотели использовать жанры и стили — их можно было бы применить в различных местах рекомендательной системы: в качестве признаков для модели ранжирования или в кластеризации в качестве опорных векторов. Также с помощью информации о жанрах и стилях можно более точно определить вкус и предпочтения пользователя, а значит, рекомендовать всё более релевантные треки. Плюсом к этому шло то, что стилей в этой базе данных более 500, а значит, есть возможность довольно детально описать вкусы пользователя.

В сыром виде использовать эти данные было невозможно, потому что они не покрывали нашу базу треков. Тогда было решено обучить модели для предсказания жанров и стилей из контентного эмбеддинга с прошлого этапа. Контентный эмбеддинг — предпоследний слой нейросети PANNs, упомянутой ранее. Мы обработали данные Discogs и сопоставили её с нашей базой, а затем обучили модели. Далее разметили с помощью этих моделей всю нашу базу треков. Теперь для каждого трека в нашей базе указаны его жанр и стили. Эти данные мы протащили в признаки, считая в онлайне предпочтения пользователя по жанрам и стилям, а затем, сравнивая с жанром и стилем трека, получили попарные признаки трека и юзера.

Внедрение этих признаков также дало прирост прослушиваний и таймспента.

Разнообразие и фильтры

Предпоследний этап генерации рекомендаций заключается в применении различных продуктовых правил. Первое, что мы делаем, — убираем дубликаты. Второе — фильтруем треки, которые пользователь недавно слушал или добавлял в свои аудиозаписи. Для таких треков score умножается на 0.

Далее делаем так, чтобы подряд в плейлисте не шли треки одного и того же артиста — раздвигаем их на ширину уникального «окна». Затем фильтруем треки, которые находятся в соседних алгоритмических плейлистах, чтобы содержание разных плейлистов не пересекалось.

В заключение мы фильтруем треки по доступности, корректности id и прочим техническим ограничениям.

Подготовка ответа

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

Заключение

Данная статья — лишь часть нашей музыкальной рекомендательной системы. Здесь мы не описывали рекомендации UGC-плейлистов, «Показать похожие» треки и прочее, но постарались осветить основные детали и интересные решения, которые пронизывают нашу систему. Надеемся, что вы найдёте в этой статье полезные рекомендации и узнаете что-то новое для себя.

Хотим выразить благодарность команде Core ML за поддержку на всех этапах работы. В частности, Андрею Якушеву за помощь в генерации идей и разработке архитектуры системы. Также спасибо ребятам, которые помогли подготовить эту статью: редакторам, дизайнерам и всем причастным 🙂

Скачать Музыка ВКонтакте APK (Android App)

Скачать APK(6 МБ)

Музыка ВКонтакте ВК — вся коллекция музыки ВКонтакте вк

Описание Музыка и аудио

Реклама

APK приложения

Скачать Музыка — ВК ВКонтакте

Музыка ВКонтакте ВК — вся коллекция музыки из ВКонтакте вк, доступная для прослушивания и скачивания Музыка на телефон. Это идеально подходит для того, чтобы наслаждаться музыкой ВКонтакте и скачивать музыку ВК прямо на телефон. Приложение имеет достаточно обширные возможности, позволяющие скачивать любую музыку из ВК, если ее найти, в ваших аудиозаписях на странице, или у ваших друзей и групп. Лучше всего скачать музыку бесплатно
С помощью этого приложения вы можете:

— Воспроизведение и скачивание музыки со своей страницы, страниц друзей и групп
— Для поиска записи по названию и исполнителю
— Добавить и удалить запись на своей странице
— Слушайте музыку без подключения к интернету (музыка)
Функциональный:
— Красивый и функциональный плеер
— одноклассники/одноклассники
— переводчик с английского на русский или английский русский переводчик будет добавлен следующей версией (своеобразный словарь) в лучший ВК
— загрузчик песен и мп3 музыки ВК
— Удобный интерфейс
— Поиск по всем записям ВКонтакте
— Популярная музыка ВКонтакте
— Полностью скачать музыку бесплатно
— Песни и музыкальные рекомендации
— Музыкальные друзья и контактные группы

Данное приложение не является официальным приложением ВКонтакте (ВК, vk.com) и не имеет к нему никакого отношения!

Прочитайте больше

Загрузить APK(6 МБ)

Популярные запросы

МТ менеджер geforce сейчас ви музыка фейсбук лайт диван двойное пространство про ютв плеер спотифлаер переключатель нинтендо ютуб ванд нетфликс арго впн фейсплей мейту рассвет ай хранитель игры yowhatsapp инстаграм телемундо грохот

Подробнее

Реклама

YTV-плеер Prod ADP · Видеоплееры и редакторы

Мессенджер Meta Platforms, Inc.

· Коммуникации

LMC8.4 Хасли · Фотография

Йора Футбол Yora Multipurpose PVT Ltd · Спорт

Google Play магазин ООО «Гугл» · Инструменты

Подробнее

Мп3-плеер accountlab · Музыка и аудио

YouTube Музыка Google LLC · Музыка и аудио

Муси musi inc · Музыка и аудио

Жаворонок Игрок Lark Player Studio · Музыка и аудио

Требель M&M Media, Inc. · Музыка и аудио

Шазам Apple Inc. · Музыка и аудио

Конвертер видео MP3 FunDevs LLC · Музыка и аудио

Музыка Самсунг Samsung Electronics Co., Ltd. · Музыка и аудио

Дезер Deezer Music · Музыка и аудио

Список музыки YTM Данилати · Музыка и аудио

Подробнее

Подробнее

Вам также может понравиться

базар apk gcam apk WhatsApp APK WhatsApp APK inatbox apk егибест апк скачать тик ток апк ютуб ванд апк репелис24 mobile-tracker-free.com apk

Архивы ВКонтакте — Music Ally

Подробнее