Привет всем увлеченным нейронными сетями или тем, кто хочет вникнуть в технологии. Сегодня я хотел бы познакомить вас со своим захватывающим проектом с открытым исходным кодом «Бесконечное нейронное радио». Бесконечное, потому что lofi музыка и подкасты могут генерироваться нейронными сетями бесконечно. В этой статье я бы хотел углубиться в то, как все работает изнутри.
Вдохновением для этого проекта послужило для меня разочарование в моем любимом музыкальном приложении. Поскольку со временем приложение стало не удобным для меня, я почувствовал потребность создать что-то свое с лофи-музыкой — жанра, который помогает сосредоточиться во время программирования или просто служит расслабляющим фоном в вечернее время. Приложение содержит цитаты, сгенерированные нейронными сетями, в сопровождении GIF-анимации в пиксельном стиле, которая тоже частино сгенерировано нейронными сетями. Если подкасты вам не по душе, вы можете их отключить и выбрать только нейронную музыку или даже настроиться на радиостанцию, которая уже делается людьми.
Технические детали:
Бэкенд: Разработанный на Go, он служит двум основным целям:
а) Предоставляет уникальный и постоянно меняющийся список музыки и подкастов lofi при каждом обновлении страницы.
б) Отслеживает подключение различных радиостанций, позволяя пользователям переключаться между музыкой, созданной нейронными сетями, и традиционными радио точками.
Внешний интерфейс: Созданный с использованием JavaScript, он взаимодействует с серверной частью через запросы AJAX. Я также интегрировал в проект прогрессивные веб-приложения (PWA). Такой подход, позволил сделать так, чтобы пользователь мог устанавливать приложение прямо с веб-сайта и беспрепятственно использовать его в фоновом режиме как музыкальный плеер. Хотите посмотреть, какой код в бэкенде и фронтенде? Весь код проекта открыт на GitHub.
Создание музыки: Я использовал проект Audiocraft с открытым исходным кодом для создания треков lofi. Основываясь на текстовых подсказках, которые определяют настроение музыки — будь то работа, дождь или отдых в вечернее время — я использовал demo/musicgen_app.py и большую модель для генерации музыки по текстовым запросам.
Создание подкастов. Здесь сыграли важную роль два open-source проекта:
Wunjo AI для преобразования текста в речь и синтеза дипфейк видео. Я обучил модель, используя образцы своего голоса. Как обучить модель и подготовить данные для обучения в Wunjo AI на голосе, я снял видео на своем YouTube канале.
Проект text-generation-webui в сочетании с моделью Llama для создания забавных новостных статей, сохраняющих ауру достоверности. Используя базовую модель Llama 33B из huggingface, я дополнительно обучил Lora для модели на юмористическом новостном контенте, что из этого вышло, судите сами на radio.wladradchenko.ru или английская версия.
Цитаты занимают еще одно место в приложении. В то время как английские цитаты происходят полностью из ChatGPT, русские цитаты представляют собой смесь — одни из ChatGPT, другие из фильмов и мемов, а некоторые — подлинные цитаты известных личностей. Кроме того, я создал несколько пиксельных GIF-изображений с помощью AUTOMATIC1111 Stable Diffusion, получив необходимые модели с CivitAI.
Вот и получается, что это радио создается нейронными сетями.
Я надеюсь, вам было интересно и статья пробудит в вас интерес к бесконечному нейронному радио, либо вдохновит на создание чего-то большего. До скорого!
Комментарии (10)
LyuMih
21.08.2023 07:11+2Хочу бесконечную игру-рогалик с использованием нейросетки)
azTotMD
21.08.2023 07:11в каком смысле "бесконечную"?
LyuMih
21.08.2023 07:11+1Сейчас можно создавать музыку / картинки через нейросети.
Видел видео, где китай уже делает визуальные новеллы через GPT.
Вот хочется, чтобы нейронка могла создавать "Квесты", "Карточки умений", "Оружие" и т.п. в рамках самой игры)
Wladradchenko Автор
21.08.2023 07:11+1Как раз игру дорабатываю из codepen в честь 1000 подписчиков на ТенЧат, ещё не выпускал. Симулятор автора статей называется https://wladradchenko.ru/simulator_post. Суть при помощи тапов писать статьи, набирать подписчиков и изучать темы, чтобы улучшать скиллы, и все это 1 игровой год. Остаётся подключить к музыки и подкасту из radio.wladradchenko.ru, генерации текста скиллов и тем статей, убрать лимит в 1 год (точнее добавить, что можно продолжить) , и вот бесконечный рогалик нейронными сетями)))
Тоже скоро код открою под игру как полностью будет готова
dxq3
21.08.2023 07:11+2Отлично вышло. Треки кажутся коротковатыми. Обрываются в том месте когда ты только обращаешь на него внимание и начинаешь думать - о, неплохой трек). Сделать бы раза в два длинее и сделать плавный FADE in и out по громкости - было бы идеально
Wladradchenko Автор
21.08.2023 07:11Согласен. Пока лимит в 1 мин 30 секунд по генерации)) Думаю дальше только круче будет развитие технологии генерации музыки
mm3
честно говоря ожидал увидеть вариацию на тему riffusion для генерации бесконечного потока музыки а это что то новенькое
Wladradchenko Автор
Мне показалось решение от Facebook создаёт более качественную музыку, есть Music решение для создание музыки и Audio для создания эффектов, например шум моря, аплодисменты