YuE2 Real-Audio Encoder: как добавить свою музыку в YuE2

ComfyUI Wikinews

Отсутствующий аудиоэнкодер для YuE2-3B, созданный сообществом, превращает ваши записи в семантические токены для обучения LoRA, плюс инструментальная LoRA с промптами секций.

Пользователь Reddit thatisnotmychapstick (публикует веса под именем Mothersuperior на Hugging Face) обучил отсутствующий энкодер аудио в токены для YuE2-3B: тот самый компонент, который m-a-p так и не выпустил и который преобразует существующие записи в семантические токены, генерируемые YuE2. Вместе с совместно обученной NAR LoRA и новой инструментальной LoRA это замыкает цикл: теперь можно обучать YuE2 на реальной музыке и генерировать инструментальные треки, и всё это загружается стандартными загрузчиками LoRA в ComfyUI. В ветке релиза набралось около 50 комментариев, а пользователи воспроизводили результаты уже через несколько часов.
Пост о релизе инструментальной LoRA для YuE2 с примерами промптов

Отсутствующий компонент, который YuE2 так и не получил

YuE2-3B генерирует полноценные песни по промпту стиля и тексту. Внутри она записывает «семантические токены», которые декодируются в аудио, но энкодер, отображающий существующую запись обратно в эти токены, так и не был выпущен. Без него не было способа привнести свою музыку в модель для дообучения.

Хитрость нового релиза yue2-mothersuperior-realaudio-tokenizer-v4 в том, что модель обучает себя сама. Каждая песня, которую генерирует YuE2, идёт вместе с точными токенами, которые её породили, а это готовый размеченный пример, который никому не пришлось размечать вручную. Автор сгенерировал несколько тысяч песен в разных жанрах, обучил небольшой энкодер на этих парах, а затем адаптировал его к реальным записям, позволив собственному декодеру YuE2 оценивать энкодер: если токены восстанавливали реальное аудио, значит, они верны. Токен-разметка для реальной музыки вообще не потребовалась.

Ветка релиза энкодера

Что входит в релиз

В репозитории токенизатора три части:

  • Голова токенизатора: 8-слойный трансформер (d=512), который отображает признаки слоя 20 MERT-v2-FullSong в 32 768 семантических кодов YuE2 на частоте 25 Гц. Точное совпадение top-1 на отложенных собственных песнях YuE2 составляет 16,1%, при этом почти совпадающие коды отрисовываются практически одинаково, а слуховые тесты round-trip через NAR дают около 95%.
  • LoRA для NAR-ветви (nar_lora_joint_v4): LoRA ранга 32 для проекций self-attention и MLP в NAR-ветви, обученная совместно с головой на реальном аудио, чтобы декодер отрисовывал латенты реального продакшена.
  • Скрипты обучения и вывода, чтобы каждый мог повторить или расширить пайплайн.

Инструментальная LoRA

Дополнительная инструментальная LoRA (ar_lora_inst_v3abc) была обучена примерно на 2700 инструментальных треках в более чем 100 жанрах в паре с ABC-партитурами с разметкой аккордов. Она заставляет YuE2 писать инструментальную музыку с планом секций и предназначена для запуска с включённой цепочкой рассуждений (cot="full"), когда модель сначала пишет собственную ABC-партитуру, а затем музыкальные токены, обусловленные этой партитурой.

Поле текста песни принимает три стиля структурного промптинга, обученных равными долями:

  1. Голый: только [instrumental], структуру и длину выбирает сама модель.
  2. Теги без времени: вы задаёте порядок секций, модель выбирает тайминги, например [intro] / [verse] / [chorus] / [bridge] / [chorus] / [outro].
  3. Теги со временем: у каждой секции дополнительно указывается время начала и конца, например [verse 0:15-0:45]. Это самое сильное управление структурой, хотя порядок секций и их пропорции модель соблюдает лучше, чем абсолютное время окончания.

Использование в ComfyUI

Обе LoRA поставляются с вариантом *_comfyui.safetensors, упакованным под нативную раскладку YuE2 в ComfyUI (объединённые ключи qkv / gate_up):

  • nar_lora_joint_v4_comfyui.safetensors загружается в стандартный LoraLoader на выходе MODEL загрузчика checkpoint YuE2.
  • ar_lora_inst_v3abc_comfyui.safetensors загружается на выходе CLIP, потому что AR-планировщик находится в слоте CLIP, и требует, чтобы у узлов YuE2 Generate параметр mode был установлен в full и была прикреплена нода ABC.

Первая версия инструментальной LoRA из Reddit не сработала в ComfyUI из-за соглашений об именовании слоёв в ComfyUI; автор опубликовал совместимый файл в течение нескольких минут, а пользователи в ветке подтвердили исправление реакциями вроде «Это просто невероятно хорошо. Ты волшебник».

Эффект для экосистемы

Энкодер открывает волну последующих работ, которые раньше были заблокированы: собственный адаптер Hum-to-Song автора (напойте мелодию, и YuE2 создаст полноценную песню), пакет узлов сообщества для обучения LoRA, а также LoRA жанров и исполнителей, обученные на реальных записях. Автор отмечает, что обучение LoRA для YuE2 «теперь начнёт появляться повсюду», поскольку любой может обучить свою музыку в LoRA с помощью этих скриптов.

Доступность

Веса бесплатно доступны на Hugging Face: токенизатор реального аудио v4, инструментальная LoRA и адаптер hum-to-song. В ComfyUI используйте их вместе с нативными узлами пайплайна YuE2; файлы LoRA, совместимые с ComfyUI, загружаются напрямую стандартными загрузчиками LoRA, конвертация не требуется.

Комментарии

Войдите через GitHub, чтобы участвовать в обсуждении.

Загрузка комментариев…
YuE2 Real-Audio Encoder: как добавить свою музыку в YuE2 | ComfyUI Wiki