Автор берёт мелодию Бетховена, выбирает театральный хард-рок и задаёт песне слова «Где мой кошелёк». В другом примере Jingle Bells переходит в минор. Музыкальная модель YuE2 позволяет использовать знакомую мелодию как основу для нового звучания; перед созданием записи она составляет ноты, которые можно редактировать. В подробном разборе автор проходит от таких примеров к собственному запуску на ноутбуке и показывает настройки, от которых зависит результат.

Первые песни и языки

Автор представляет YuE2 как музыкальный генератор, который позволяет создавать песни, делать каверы и редактировать уже существующие композиции. По его оценке, на момент обзора это лучший доступный генератор музыки с открытым исходным кодом. Он сразу выделяет два обстоятельства: возможность запуска при 4 ГБ видеопамяти или меньшем объёме и сравнение качества песен, к которому возвращается после демонстраций. Затем он переходит к музыкальным примерам: для каждого отдельно показаны запрос, задающий жанр и стиль, и текст песни.

Первый пример — джазовая песня с атмосферой полутёмного заведения. В её тексте появляются звон бокалов, негромкая мелодия, приглушённый свет, шёпот, неоновые улыбки и тихий смех. Следующая композиция задана как буги-вуги в стиле 1930-х годов. Здесь текст построен вокруг желания танцевать: герой не может стоять на месте, обращается к Джону, зовёт его услышать ритм и кружиться в заполненной комнате. Автор проигрывает оба результата, показывая два разных стилевых запроса.

После англоязычных композиций автор показывает работу с другими языками. Испанский пример задан как фламенко; в песне упоминаются оливковые деревья, улицы, подъём по склону, ветер, Санта-Каталина и Хаэн. Далее звучат русскоязычная песня в жанре фолктроника и корейский пример в стиле эмо. На этих трёх демонстрациях он иллюстрирует заявленную поддержку разных языков.

Каверы и последовательное редактирование

Следующая группа примеров посвящена использованию другой песни в качестве аудиообразца. Автор объясняет, что можно взять мелодию существующей композиции и изменить её музыкальный стиль. Для первого такого преобразования он выбирает Auld Lang Syne: знакомую песню предлагает превратить в ритмичный джаз-фанк. В проигранном фрагменте остаётся узнаваемый текст о старых знакомых. В этой версии исходная песня служит мелодической основой, а новое описание стиля задаёт другое звучание.

Во втором примере исходным материалом становится произведение Бетховена. Автор говорит, что слушатель, вероятно, узнает мелодию, но не называет конкретное произведение. Для новой версии он задаёт театральный хард-рок, а текст сводит к фразе «Where’s My Wallet» — «Где мой кошелёк». Затем в качестве образца использует Jingle Bells и предлагает перевести её в минор. Так в этой последовательности меняются стиль, слова и лад. Автор считает YuE2 очень гибким инструментом и называет его единственным на тот момент открытым генератором, способным делать хорошо звучащие каверы.

Автор также показывает последовательное редактирование через ИИ-агента. Он упоминает агентов «GPT-6 Astra» и GLM, которым можно поручать генерацию и изменение музыки. Демонстрация начинается с поп-песни. Первый запрос должен сохранить мелодию и текст, но сделать музыку более джазовой за счёт регармонизации — изменения гармонического сопровождения. После прослушивания промежуточного результата автор считает, что джазового характера всё ещё недостаточно, и следующим запросом просит убрать гитару. Одна песня проходит две правки: сначала меняется гармоническое сопровождение, затем исчезает гитара. Для обеих достаточно текстовых команд.

Нотная основа и сравнение моделей

Перед установкой автор объясняет принцип работы YuE2. По его описанию, генератор сначала записывает редактируемую партитуру, а уже затем создаёт полноценное звучание. В показанном примере промежуточная запись содержит ноты вокальной и инструментальной партий, а также тональность и темп. Автор сравнивает её с базовой нотной записью песни и называет основой дальнейшей генерации. Именно с таким промежуточным представлением он связывает возможность гибкого редактирования: создания каверов, замены текста и перехода от мажора к минору.

Затем автор возвращается к сравнению моделей. По показанному им индексу качества песен YuE2 превосходит открытые модели, названные Minimax Music и «ACE-Step 1.5», а также закрытые Suno V6 и Suno 5.5. При этом он отдельно отмечает, что YuE2 немного уступает Suno V5. В пределах того же сравнения пятая версия Suno оказывается выше версий 5.5 и 6, что автор считает любопытным результатом.

Подготовка ComfyUI и загрузка моделей

Для локального запуска автор выбирает ComfyUI. Он объясняет, что на странице проекта в GitHub уже есть инструкции, но стандартный вариант требует работы с Python-кодом, которая может быть не всем понятна. Поэтому дальнейшая демонстрация использует визуальный интерфейс. Она предполагает, что ComfyUI уже установлен: сначала автор открывает папку update в корневой папке программы и запускает показанный BAT-файл обновления двойным щелчком. После завершения обновления нажимает любую клавишу, закрывает окно и запускает новую сессию ComfyUI.

Далее он загружает готовую схему работы в формате JSON. Файл можно сохранить в любом месте; в демонстрации автор кладёт его в корневую папку ComfyUI, а затем перетаскивает в интерфейс. После этого открывается заранее собранная рабочая схема, поэтому вручную создавать всю цепочку узлов не требуется. При первом открытии может появиться сообщение об отсутствующих моделях. Автор рассматривает именно эту ситуацию и переходит к загрузке компонентов, которых не хватает для работы импортированной схемы.

Первый необходимый компонент — аудиоэнкодер. Автор открывает папку audio_encoders на странице загрузок и выбирает файл размером 1,4 ГБ. Сохранить его нужно внутри ComfyUI, в каталоге models, затем в папке audio_encoders. Это файл для обработки исходного аудио; он нужен нижней части схемы, которая принимает исходную аудиозапись для кавера. Аудиоэнкодер загружается отдельно от основного файла модели: второй файл автор выбирает уже на следующем шаге.

Для файла модели предлагаются два варианта. Полная BF16-версия занимает 7,8 ГБ, а меньшая сжатая версия — 3,96 ГБ. Автор говорит, что при видеопамяти менее 4 ГБ можно выбрать уменьшенный вариант. У него памяти достаточно, поэтому он скачивает полную модель; по его оценке, она должна помещаться примерно в 8 ГБ видеопамяти. Этот файл сохраняется в models/checkpoints внутри ComfyUI. Указанные размеры скачиваемых файлов и приведённые автором оценки видеопамяти относятся к разным характеристикам в его объяснении.

После сохранения моделей автор возвращается в интерфейс и нажимает R, чтобы обновить список доступных моделей. В узле Load Checkpoint он открывает выпадающий список и выбирает скачанную модель BF16. По его объяснению, после выбора установленной модели сообщения об ошибках должны исчезнуть. На этом подготовка показанной схемы заканчивается, и он переходит к её двум основным частям: генерации песни по текстовому запросу и использованию аудиофайла в качестве образца.

Текстовая генерация и параметры

Верхняя часть схемы отвечает за создание песни по тексту, нижняя — за работу с аудиообразцом и каверами. Для первого сценария в поле style prompt (описание стиля) автор задаёт жанр, характер звучания, темп движения музыки, инструменты и другие желаемые особенности. Автор использует пример future bass с характеристиками «современный, энергичный, вдохновляющий». В отдельное поле помещается текст песни. Оно принимает метатеги для куплетов, вступления, окончания, бриджа, припева и предприпева; в демонстрации автор ограничивается одним куплетом и одним припевом.

Эти данные проходят через узел Generate ABC, который создаёт нотную запись. После запуска её можно посмотреть в окне предпросмотра. Автор объясняет, что показанные ноты задают и вокальную, и инструментальную мелодии на протяжении песни. Следующий этап получает эту запись вместе со стилевым запросом и текстом и уже создаёт музыку. Так ранее описанный принцип работы становится виден в самой схеме: сначала появляется промежуточная нотная основа, а затем она поступает в генератор звучания.

В узле генерации задаётся максимальная продолжительность песни в секундах. В примере выставлено 360 секунд, то есть шесть минут. Автор подчёркивает, что это верхний предел, и сначала говорит, что при коротком тексте получится более короткая песня. Далее используется KSampler. Параметр seed автор объясняет как уникальный идентификатор песни: сейчас он равен 7 и зафиксирован. При тех же запросах и настройках, по его словам, получится тот же результат. Для другой песни с прежним стилем и словами предлагается изменить seed или включить его последующую рандомизацию.

Параметр steps задаёт число шагов генерации. Автор описывает обычный для этой настройки компромисс: больше шагов, по его словам, дают более высокое качество, но требуют больше времени, а меньше шагов позволяют получить результат быстрее. Сам он оставляет значение по умолчанию — 32. CFG он объясняет как степень буквального следования запросу. Если стиль соблюдается недостаточно точно или в тексте песни появляются ошибки, он предлагает немного повысить CFG. Sampler и scheduler обозначены как алгоритмы генерации; их значения он также оставляет по умолчанию.

Декодирование и результат запуска

Следующий этап — декодирование. В заметке к схеме указано, что при достаточном объёме видеопамяти можно использовать обычное декодирование, которое работает заметно быстрее. Автор предполагает, что речь идёт об объёме свыше 12 ГБ; этот порог он называет приблизительно. При меньшем объёме он рекомендует декодирование по частям. Поскольку у его видеокарты больше 12 ГБ, в показанном запуске он выбирает обычный вариант и меняет подключения в схеме.

Для переключения автор зажимает Shift, нажимает на существующее соединение и перетаскивает его к нужному входу обычного декодера. Затем подключает его аудиовыход к следующему узлу. Неиспользуемый вариант декодирования отключает сочетанием Ctrl+B. После этих изменений результат должен поступить в конечный аудиовыход схемы. Автор нажимает Run и запускает генерацию с ранее введёнными стилем, словами и параметрами.

После запуска автор показывает статистику: на его ноутбуке с RTX 5000 и 16 ГБ видеопамяти генерация заняла чуть больше двух минут. Затем он выводит рядом стилевой запрос и слова и проигрывает результат. В песне звучит текст о дорогах, которые герой не выбрал, закрытых дверях, желании начать действовать и превратить мечты в произведения искусства. Завершается показанный фрагмент мыслью о том, что необязательно знать окончание пути: нужны искра и смелость последовать за ней. Время относится именно к этому запуску на названном ноутбуке.

У результата обнаруживается проблема с длиной: музыка продолжает генерироваться существенно дольше, чем ожидалось по введённому тексту. Автор говорит, что ему следовало уменьшить максимальную продолжительность, чтобы она лучше соответствовала словам. Сначала он рассчитывал, что небольшого текста хватит для короткой песни, но после прослушивания признаёт, что лимит длительности стоило выставить вручную. После замечания он возвращается к Preview ABC и снова показывает промежуточную запись с нотами вокальной и инструментальной частей.

Инструментальная музыка

Для инструментальной композиции автор использует тот же текстовый сценарий. Стилевой запрос задаёт эпическую кинематографическую оркестровую музыку для сцены сражения и явно содержит указание instrumental only — только инструменты. Поле текста он всё равно заполняет: вместо слов для пения помещает в квадратные скобки описание желаемых инструментов. В его примере это постепенное нарастание струнных со стаккато (короткими отрывистыми нотами) и этнических барабанов. Затем он проигрывает сгенерированный результат. Здесь показан конкретный способ заполнения двух полей для музыки без вокала.

Кавер из аудиообразца

Для перехода к аудиообразцу автор включает нижнюю часть схемы. Зажав Ctrl, он выделяет фиолетовые узлы и нажимает Ctrl+B, чтобы включить их. Эта цепочка позволяет загрузить аудиофрагмент и получить из него ABC-запись для дальнейшей генерации песни. Она заменяет верхний Generate ABC, который прежде создавал нотную основу по тексту. Поэтому автор отдельно выделяет верхний Generate ABC и связанный с ним Preview, затем снова использует Ctrl+B, теперь уже отключая эти два узла.

Выход нижней цепочки автор соединяет с Generate Music, так что нотная основа для новой песни теперь приходит из блока аудиообразца. Затем в Load Audio Encoder открывает выпадающий список и выбирает ранее скачанный аудиоэнкодер. В поле загрузки аудио помещает фрагмент песни и проигрывает его. В показанном материале звучат слова о человеке, который уходит, пока у героя разбивается сердце. Этот фрагмент становится исходным материалом для следующего преобразования.

В этом блоке можно выбрать, что использовать как образец: только мелодию или песню целиком. Автор называет различие между этими режимами довольно тонким, но для кавера или переноса именно мелодии предлагает melody only — только мелодию. После выбора он переходит к новым входным данным для генерации — описанию стиля и тексту, которые должны сопровождать нотную основу, полученную из загруженного аудио.

Для демонстрационного кавера автор оставляет те же слова, что и в образце. В стилевом запросе задаёт джаз с непринуждённым фортепиано, саксофоном, контрабасом и барабанами, на которых играют щётками. После нажатия Run проигрывает новую версию; в ней снова звучит строка о том, как герой смотрит вслед уходящему человеку, пока его сердце разбивается. Затем автор уточняет, что сохранять исходный текст необязательно: слова можно заменить, в том числе сделать так, чтобы исполнитель пел на другом языке.

Лицензии и открытый вопрос

В разборе от 15 сентября автор отдельно рассматривает лицензирование. По его словам, код и документация YuE2 распространяются по Apache 2, которую он характеризует как лицензию с минимальными ограничениями. Веса модели имеют другую лицензию — Creative Commons с некоммерческим условием. Автор приводит формулировку о том, что использование не должно быть преимущественно направлено на коммерческую выгоду или денежное вознаграждение. При этом он не делает окончательного вывода о конкретном случае: прямо говорит, что не уверен, можно ли разместить созданную композицию в Spotify и получать от неё прибыль.