Привет всем увлеченным нейронными сетями или тем, кто хочет вникнуть в технологии. Сегодня я хотел бы познакомить вас со своим захватывающим проектом с открытым исходным кодом «Бесконечное нейронное радио». Бесконечное, потому что 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. Вот и получается, что это радио создается нейронными сетями. Я надеюсь, вам было интересно и статья пробудит в вас интерес к бесконечному нейронному радио, либо вдохновит на создание чего-то большего. До скорого!  Senior Software Developer