О звуке простыми словами42Производители Hi-Fi.
Истории и интервью111Репортажи с заводов65Репортажи с Hi-Fi выставок69"Сделай сам"44Готовые проекты Аудиомании42Пресса об Аудиомании50Видео499Фотогалерея100Интересное о звуке806Новости мира Hi-Fi2580Музыкальные и кинообзоры624Глоссарий
Что может предложить реинкарнация визуализатора из Winamp
Энтузиасты предоставили возможность погрузиться в прошлое и возродили визуализатор Winamp в новой обертке. Под катом — обсуждаем проект ProjectM и есть ли у визуализаторов будущее в контексте стриминговых сервисов.
Любимый ламповый проигрыватель
Winamp стал культовым благодаря своим функциям и обширной библиотеке скинов. Воспоминания о них до сих пор вызывают теплые чувства. Одна из «фишек», за которую его любили особенно горячо, это — визуализатор. Можно было долго наблюдать, как абстрактные изображения сменяют друг друга в такт любимым трекам. В основу этой функции был положен плагин MilkDrop. Он использовал быстрое преобразование Фурье и частотный анализ.
К сожалению, со временем авторы свернули работу над плагином [все исходники передали в open source]. Однако энтузиасты не забросили проект и возродили ретровизуализатор под другим именем — ProjectM.
Что за ProjectM
По сути, это — мультиплатформенный порт плагина MilkDrop, написанный на С++. За рендер отвечает библиотека libprojectM. Она анализирует аудиопоток, производит преобразование Фурье и отрисовывает результат с помощью OpenGL.
Проект полностью открытый, а все исходники выложены на GitHub. В составе фреймворка есть десятки стандартных визуализаций, но этот набор при желании можно расширить пресетами от комьюнити — соответствующий архив весит более 123 МБ. Больше интересных визуализаций есть на форумах Winamp, поскольку ProjectM поддерживает форматы .prjm, .milk и .so.
Поскольку ProjectM активно использует MilkDrop, который был написан более десяти лет назад, с его работой связан ряд проблем. Пользователи отмечают вылеты и проблемы с шейдерами. В тематическом треде на Hacker News один из авторов проекта рассказал, что причина связана с транспайлером. Он преобразует код шейдеров с языка HLSL в GLSL, чтобы фреймворк мог работать на Windows, Linux, MacOS и других операционных системах. Эти недостатки планируют устранить — как только до них дойдут руки. К слову, поучаствовать в этом могут все желающие — начать обсуждение можно в официальном канале Discord.
Какие есть аналоги
Разумеется, ProjectM не единственный фреймворк, авторы которого стремятся возродить феномен визуализаторов. Есть набор инструментов NestDrop, разработанный на базе open source проекта BeatDrop. Сегодня его используют виджеи, подбирающие и создающие эффекты. Утилита позволяет на лету менять параметры четырех визуализаций — в том числе скорость вращения изображения и переходов. Можно добавлять спрайты со своими уникальными анимациями.
Еще один пример — визуализатор Plane9. В наборе представлены 250 пресетов и почти сорок анимаций переходов. Есть даже поддержка нескольких мониторов и VR-очков. Приложение бесплатно, правда, его не обновляли с 2016 года.
Визуализаторы в эпоху стриминга
Стриминговые сервисы изменили то, как мы слушаем музыку. За небольшую плату мы получаем доступ к библиотеке из миллионов треков, которые необязательно скачивать на устройство. И разработчики стриминг-приложений не стремятся добавлять визуализаторы в свои сервисы [хотя некоторые все же экспериментируют в этом направлении]. Скорее всего, это и не нужно, потому что большинство, конечно же, слушает музыку фоном со смартфона и не смотрит на экран.
В то же время энтузиасты самостоятельно разрабатывают визуализаторы для стриминговых площадок, заменяющие «скучные» обложки альбомов. Например, проект Kaleidosync для Spotify предлагает более двадцати WebGL-паттернов. Но, скорее всего, не стоит рассчитывать на возрождение функции в новом контексте.