Учитывая нынешнюю популярность социальных сетей, в частности ВКонтакте, большое количество людей на усложняет себе жизнь, пользуясь торрент-клиентами, скачивая альбомы на трекерах, а просто слушают музыку на VK.com. В этом есть свои плюсы — на поиск музыки уходит минимальное время, достаточно только ввести часть имени исполнителя или названия, и уже можно слушать. Кроме того, соцсеть содержит огромное количество аудиозаписей, найти там можно абсолютно всё, есть возможность сортировки по популярности (удобно при ознакомлении с творчеством того или иного исполнителя), а также сразу можно поделиться треком с друзьями.
Однако, с другой стороны, Вконтакте очень много неправильно подписанных композиций, и порой крайне трудно определить, кто же в конце концов исполнитель, и как вообще называется трек.
Но нас сегодня больше интересует другой вопрос — вопрос качества воспроизведения. То есть возможно ли получение качественного звучания музыки при проигрывании её в браузере со страницы vk.com.
Оборудование и ПО
Mozilla Firefox 23.0.1 + Shockware Flash 11.8.800.94
RightMark Audio Analyzer 6.3.0
Sony Sound Forge 10.0c
Creative X-Fi Xtreme Gamer
Подготовка файла и аплоад
Для проверки мы возьмем тестовый семпл RightMark Audio Analyzer 24 bit 44.1 kHz, закодированный в LAME 3.99.5 -b 320 -q0. Обратите внимание: VK поддерживает загрузку записей исключительно в формате MP3, размером не более 200 МБ. Заодно проверим, что происходит с ID3 тегами файла. Пропишем в него ID3v2.4 теги.
Теперь выгружаем аудиозапись:
Кстати, непосредственно после отправки аудиозаписи происходит её проверка на совпадение с контентом, нарушающим авторские права. Алгоритм данной проверки неизвестен, но базируется он явно на спектральном анализе композиции, скорее всего для сравнения используется что-то вроде спектрограмм, заносящихся в базу данных.
После добавления аудиозаписи мы видим, что VK успешно считал теги, отображает название и имя исполнителя. Теперь попробуем скачать файл с сайта, и проверить, были ли в него внесены какие-то изменения.
Проверка показала, что выгруженный и скачанный файлы совпадают с точностью до байта. Они одинаковы как по размеру, так и по содержанию — т.е. никаких преобразований VK над аудиофайлами не выполняет. Также интересно, что если отредактировать имя исполнителя или название трека ВКонтакте,а затем скачать файл, то его теги останутся неизменными. То есть VK просто считывает из тегов эти поля при добавлении трека, а затем сохраняет их в базу данных с возможностью редактирования. Это логично, т.к. трек может быть добавлен в списки аудиозаписей различных пользователей, при этом сам файл копироваться не будет, а каждый пользователь сможет задать своё содержимое для полей исполнителя и названия.
Проверка качества
Итак, воспроизводим трек и записываем поток в файл, анализируя его затем в RMAA.
Результат не самый лучший. На лицо декодирование в формате 16-bit integer. Это неминуемо приведет к потере динамического диапазона записей из HQ источников, а также клиппингу записей с превышением уровня. Именно так: воспроизведение записи с превышением уровня на 6 дБ дало отчетливо слышимые срезы.
Выводы
Из полученных результатов можно сделать следующий вывод: качественное воспроизведение аудио ВКонтакте возможно только для качественно закодированных в MP3 аудиозаписей, не содержащих превышения уровня (оно легко устраняется программой MP3Gain). Но это относится только к MP3 из обычных 16-битных источников. Для записей из 24-битных источников динамический диапазон будет неминуемо обрезан.
Но это еще не всё.
HTM5 Audio
Непосредственно перед тестом я выполнял зачистку браузера от плагинов и временно отключил Flash плеер. И я был очень удивлен, когда обнаружил, что несмотря на отсутствие Flash плеера, аудиозаписи ВКонтакте продолжают воспроизводиться.
Расследование показало, что причиной тому введение поддержки нового стандарта HTML5, в котором присутствует такая фича, как HTML5 Audio/Video. Этот тег позволяет без использования сторонних плагинов воспроизводить в браузере аудио и видео различных форматов. Поддержка форматов зависит от конкретного браузера (декодер встроен), со сравнительным списком можно ознакомиться на Википедии. Забавно, что Opera не поддерживает воспроизведение MP3 — потому без Flash плеера воспроизводить аудио ВКонтакте она не может.
Так что давайте посмотрим: а вдруг встроенный в браузер декодер декодирует MP3 как-то иначе.
Увы, использование HTML5 привело даже к худшим результатам, чем с Flash. Более высокий уровень шумов и гармонических искажений (точные цифры вы можете найти в отчете) говорит о менее качественном алгоритме декодирования.
Так что если для вас важно качество воспроизведения — советую не полениться и скачать запись на компьютер, а затем уже воспроизвести её по всем правилам через foobar2000.
Информация от спонсора
Movavi: простой и удобный редактор видео для Windows. C этой программой вы легко научитесь и поймете, как редактировать видео. Movavi содержит все необходимые инструменты для редактирования: эффекты, обработчики, средства для улучшения картинки, кодеки. Программа полностью на русском языке.
Простейший аналоговый пассивный регулятор, представляет из себя переменный резисторный делитель. Вносить искажения там нечему, если он откровенно не раздолбанный и не хрипит при регулировке (и то это проявляется в основном на постоянном токе)
Никто не заставляет использовать такие сложные избыточные устройства (с активным усилителем, который действительно вносит искажения)