Привет, Хабр! С вами снова Иван Клюев, и напомню — я занимаюсь организацией и продвижением хакатонов в РФ с 2018 года (наш сайт Хакатоны.рус). В ноябре мы участвовали в организации необычного во всех смыслах хакатона XLabs AI Hack 2024. Участники в течение двух недель разрабатывали нейросеть, которая способна генерировать вокал на русском языке исходя из текста песни и пожеланий к ней.
***
Справка о хакатоне XLabs AI Hack 2024
XLabs AI Hack 2024 — это действительно масштабное соревнование, рассчитанное на участников, глубоко погруженных в темы машинного обучения и разработки нейросетей. Хакатон проходил в гибридном формате — онлайн со 2 по 11 ноября, 12 ноября объявили 11 команд-финалистов и они продолжили работать, а 17 ноября был очный этап защиты решений в Москве. Кстати, изначально планировалось допустить к финалу 10 команд, но участники так старались, что судьи решили допустить в финал еще одну, 11-ю команду. А в целом, в соревновании приняли участие более 60 команд из России и Беларуси, от Минска до Комсомольская-на-Амуре.
Задача хакатона XLabs AI Hack 2024 была необычно сложной. Генерация вокала требует интеграции нескольких технологий: обработки текста (NLP), синтеза речи (TTS) и создания вокальных характеристик, таких как тембр и плавность интонаций. Сложность задачи подчеркивалась ограничениями в вычислительных ресурсах и необходимостью высокого качества музыки.
Условия участия: команды из 2–5 человек, в возрасте от 18 лет и старше. Профессии участников: Deep Learning инженеры, Data-инженеры, backend-разработчики и продакт-менеджеры. Технологический стек предлагаемого участниками решения предполагал использование языка программирования Python и библиотеки PyTorch.
Ключевые этапы XLabs AI Hack 2024:
Регистрация: завершилась 1 ноября.
Старт и открытие: 2 ноября состоялась торжественная церемония.
Первый онлайн-этап (2–10 ноября): включал образовательные вебинары (4 ноября — создание систем синтеза вокала), консультации с экспертами (5 и 7 ноября) и сдачу промежуточных работ.
Отбор финалистов: 10 лучших команд были объявлены 12 ноября на основе экспертной оценки финальных решений.
Финальный этап (12–16 ноября): финалисты продолжили работу онлайн и дорабатывали проекты с трекерами, участвовали в вебинаре на тему подготовки презентаций и питча (14 ноября).
Защита решений: Команды защищали свои решения перед жюри 17 ноября. Очный финал проходил в Москве и включал защиту проектов, церемонию награждения, фуршет, лекции и вечеринку нетворкинга.
Необычно большой призовой фонд составил 2 000 000 рублей и вот как распределились призы:
1 место: команда «Киберчайка» — 1 000 000 рублей.
2 место: Mo_net — 600 000 рублей.
3 место: Our DeCode — 400 000 рублей.
Кроме денежной награды, победители получили шанс на трудоустройство в XLabs AI. Хакатон стал не только соревнованием, но и образовательной платформой, предоставив участникам новые карьерные возможности.
Об организаторе XLabs AI
XLabs AI — это часть международной компании XLabs, лаборатория продуктов в области машинного обучения и нейронных сетей. Компания разрабатывает и внедряет революционные решения, устанавливая новые стандарты и вдохновляя на достижение невозможного в области информационных технологий. — это открытый, энергичный и молодой коллектив, который приветствует инновационные идеи, поддерживает инициативу и креативность своих сотрудников.
Небольшая справка по теме ИИ-генерации вокала
Как принято считать, технологии генерации вокала зародились с развитием синтеза речи во второй половине 20-го века. Музыкальная генерация появилась с появлением MIDI и синтезаторов.
С 2010-х годов развитие технологий вокальной генерации ускорилось благодаря достижениям в машинном обучении и обработке звука. Одной из ключевых вех стало появление нейросетевых моделей, таких как Tacotron (Google и Facebook, 2017), которая обеспечила синтез речи с интонациями, приближенными к человеческому голосу. На Хабре много статей по Tacotron, например, вот эта.
В 2016 году DeepMind представила WaveNet — систему, генерирующую звуки на уровне отдельных выборок, что позволило моделировать реалистичные голоса с уникальными тембрами. На Хабре также есть статьи по WaveNet, все их можно найти поиском по порталу.
Позже, специализированные подходы, например как Singing Voice Synthesis (SVS), включили в себя задачи вокала, требующие точной синхронизации текста с мелодией. Проекты, такие как OpenAI Jukebox (2020), сделали шаг вперед, генерируя вокал в заданных стилях. Эти технологии сегодня применяются для создания песен, виртуальных артистов, а также интерактивных приложений для музыкальной индустрии.
Представляем победителей XLabs AI Hack 2024
Проблематика задачи предполагала подстраивание существующих подходов к генерации вокала на русском языке. Команды должны были предложить инновационные подходы при использовании нейросетей.
Критерии выбора финалистов были обширны:
Запускаемость кода;
Адаптивность/Масштабируемость;
Отсутствие в использовании закрытых API;
Использование указанного стека технологий;
Аккуратно оформленный репозиторий GitHub;
Оформленный по стандартам языка Python код;
Предоставление источников данных;
Сопоставление промпту генерируемого вокала (тембр, окраска голоса, может быть пол);
Музыкальное качество генерируемого вокала (наличие плавных связок между словами, вокал поется в одной тональности и в одном темпе);
Отсутствие пропуска слов при генерации вокала по тексту;
Уровень реализации (концепция/прототип и т.д.);
Релевантность поставленной задачи (то, насколько команда погрузилась в отрасль и проблематику; предложенное решение соответствует поставленной задаче; проблема и решение структурированы).
Как уже отмечено выше, командами-победителями, которые поделили призовой фонд 2 млн. руб., стали: 1 место заняла команда «Киберчайка», далее команда «Mo_net» и третье место «Our DeCode».
А теперь ниже рассмотрим решения команд.
1 место: решение команды “Киберчайка”
Команда «Киберчайка», победитель XLabs AI Hack 2024, предложила оригинальное решение для генерации вокала на русском языке. Их подход основывался на использовании модели F5-TTS, обученной на большом наборе русских музыкальных альбомов. Данные были размечены с помощью Whisper-X, а вокальные дорожки отделены BS-Roformer-ом. Для ускорения обучения и сокращения затрат команда применила метод транслитерации вместо токенов на русском языке, что позволило сократить время обработки.
Основным преимуществом решения от стало точное воспроизведение тембра, акцента и ритма пения. Голоса из базы данных были вручную размечены, а выбор наиболее подходящего сэмпла для генерации вокала осуществлялся через KNN, что обеспечивало высокую адаптивность и качество результата.
В будущем команда планирует улучшить модель, внедрив разделение на две сети (coarse и fine), чтобы отказаться от необходимости аудиосэмплирования и усилить обобщающие способности. Это решение не только продемонстрировало инновационность, но и предложило практические перспективы для музыкальной индустрии.
2 место: решение команды Mo_net
Команда Mo_net представила решение в виде Telegram-бота для генерации вокала на основе текста. В основе их разработки лежит модель F5-TTS — диффузионный трансформер с ConvNext V2, интегрированный через Aiogram для обработки запросов в Telegram. Backend решения построен на Python с использованием Redis для хранения состояний, а вся система контейнеризирована через Docker с GPU-ускорением через CUDA 11.8.
Для обучения модели команда собрала датасет, состоящий из 9 часов каверов с YouTube, используя записи одного женского голоса. Они тщательно обработали 12 файлов продолжительностью 40-50 минут каждый, применяя Demucs для разделения источников звука. Затем материал был разбит на фрагменты по 10-30 секунд и транскрибирован с помощью Whisper Large V3. В результате получился внушительный датасет из 2472 фрагментов общей продолжительностью 67.8 часов. Обучение проводилось с параметрами batch size 16 и learning rate 1e-05.
Решение команды особенно выделяется своим комплексным подходом к обработке данных и удобным пользовательским интерфейсом через Telegram. Архитектура проекта обеспечивает хорошую масштабируемость благодаря использованию Redis и Docker.
Команда уделила особое внимание качественной предобработке данных, применяя специализированные инструменты. Важным достижением стало решение проблемы доступности вокального синтеза для русского языка, а также обеспечение простого доступа через мессенджер с мобильных устройств. Профессиональный подход к разработке подтверждается использованием линтеров и форматтеров Ruff для поддержания высокого качества кода.
3 место: Решение команды Our DeCode
В основе архитектуры решения лежит мультиконтейнерная система, включающая Telegram-бот, веб-приложение на Vue.js, мобильное приложение на Android (Kotlin) и административную панель. Серверная часть реализована на Fast API, что обеспечивает высокую производительность и масштабируемость.
Команда провела серьезное исследование существующих подходов к генерации вокала и протестировала три гипотезы: дообучение модели Bark, разработка собственной модели на основе Tacotron 2 и дообучение DiffSinger. DiffSinger был выбран как основной инструмент, использующий параметризованную марковскую цепь для преобразования шума в мел-спектрограмму на основе музыкальных партитур.
Для создания датасета команда использовала разнообразные источники, включая ВКонтакте и сборники русских акапелл. Они разработали комплексную систему сбора и обработки данных, используя Spleeter для разделения вокала, скрипты Python для парсинга песен с различных платформ. Особое внимание было уделено аугментации данных, включая добавление реверберации, регулировку громкости, добавление шума и изменение скорости и питча.
Решение также включает дополнительные функции, такие как генерация обложек с помощью Kandinsky 2.0 и создание текстов песен через GigaChat API. Вся система интегрирована через единый REST API, что обеспечивает гибкость и возможность масштабирования.
Сильные стороны их решения включают комплексный подход к архитектуре с поддержкой множества платформ, тщательную проработку процесса сбора и обработки данных, а также интеграцию дополнительных креативных функций. Особенно впечатляет их подход к аугментации данных и использование современных технологий для генерации дополнительного контента, что делает их решение более полным и привлекательным для конечных пользователей.
Фотогалерея с победителями и жюри
А в заключение нашего поста — небольшая фотогалерея с последнего дня хакатона 17 ноября и церемонии награждения.
Вместо заключения: участвуйте и еще раз участвуйте
Если после прочтения этого поста вам тоже захотелось испытать свои силы в создании инновационных решений с использованием искусственного интеллекта, — в том числе для творчества и досуга, — заходите на сайт Хакатоны.рус. Здесь вы найдете список ближайших хакатонов с открытой регистрацией.
А если ваша компания или ВУЗ захочет организовать свой хакатон, то пишите нам, мы поможем его организовать и провести.
Для тех, кто предпочитает узнавать все в Telegram, у нас есть канал хакатоны.рус / хакатоны / it-соревнования / ctf, где мы регулярно публикуем информацию о хакатонах, IT-соревнованиях и других интересных событиях. Регистрируйтесь, участвуйте и развивайте свои скилы ?.
Желаем успехов в ИТ-проектах и новых побед на хакатонах!