Что собрать

Песня, в которой правишь один аккорд — а не крутишь генератор заново

Иллюстрация: строчка нот, в которой заменяют один аккорд, и рядом звучит песня

Смотри, знакомая боль. Ты попросил у ИИ песню, получил почти то, что хотел — но припев слишком весёлый. Меняешь одно слово в запросе, жмёшь заново. И приходит другая песня: другой голос, другой темп, другая мелодия. Всё хорошее тоже пропало.

Идея на одну строку: собери себе студию, где после первой версии песни ты правишь два аккорда в текстовом файле — и слышишь ту же песню, только в джазе.

Почему это стало возможно только сейчас

Suno, Udio, Lyria — все они работают одинаково. Текст запроса заходит, звук выходит. Что происходит между — не твоё дело. Хочешь поменять гармонию? Опиши её словами и молись.

9 сентября команда M·A·P выложила открытую модель YuE2. Она устроена в два шага:

  1. Сначала пишет партитуру — мелодию и аккорды в ABC-нотации. Это обычный текст, строчки вроде "Am" A2 B2 | "F" c4.
  2. Потом по этой партитуре поёт: вокал, аккомпанемент, сведение, 48 кГц стерео.

И между шагами можно влезть. Метод pipe.plan() отдаёт тебе партитуру до того, как появился звук. Правишь её — руками или другой моделью — и запускаешь синтез уже по своей версии.

По качеству это не игрушка: на бенчмарке WildSongBench YuE2 набирает 6,96 против 6,87 у Suno v5. Открытая модель впервые обошла закрытую — и при этом показывает ноты.

Чему научишься

  • Что музыка бывает текстом. ABC-нотация — это строки, а не спецформат. Их читает и пишет обычная языковая модель. Ты сможешь попросить её «сделай гармонию джазовее» — и она вернёт исправленный текст нот.
  • Разнице между планом и исполнением. Двухэтапная генерация — большой приём, не только про музыку. Сначала дешёвый черновик структуры, потом дорогой рендер. Один раз увидишь на песне — начнёшь узнавать везде.
  • Зачем нужен seed. В примерах правки его специально не меняют: тот же seed при новой партитуре означает «поменялось только то, что я тронул». Это твой способ ставить эксперимент, а не крутить рулетку.
  • Читать лицензию. Веса под CC BY-NC 4.0: для себя, для подарка, для учёбы — да. Продавать получившееся — нет. Полезная привычка проверять это до того, как влюбился в результат.

Готовый стартовый промпт

Главная ошибка — попросить «генератор музыки». Тогда ты получишь ещё одну рулетку. Скажи, что тебе нужен шаг между заказом и звуком:

Слабый промптСделай приложение, которое генерирует песни по описанию.
Сильный промптСобери мне на Python локальную студию версий одной песни на модели YuE2 (m-a-p/YuE2-3B, пакет yue2_infer). Шаг 1: по стилю и тексту песни вызови pipe.plan(style=..., lyrics=..., cot="full", seed=SEED) и сохрани партитуру в score.abc. Покажи её мне как обычный текст. Шаг 2: команда "вариант" копирует score.abc в versions/NN.abc, отправляет его в языковую модель с моей просьбой ("сделай гармонию джазовее, мелодию не трогай") и сохраняет ответ как новую партитуру. Шаг 3: команда "спеть NN" вызывает pipe(style=..., lyrics=..., abc=содержимое versions/NN.abc, cot="full", seed=SEED) — тот же seed обязательно, чтобы поменялась только гармония. Результат клади в versions/NN.flac. Веди versions/log.md: номер, что просил, что поменялось в нотах. Проверь GPU перед запуском и скажи честно, если памяти не хватает. Ключи и пути — в .env, README с двумя командами.

Сильный запрос зашивает три вещи, до которых новичок не додумается: партитуру надо сохранить отдельным файлом, seed при правке не менять, а версии — нумеровать, иначе через час не вспомнишь, какая из шести была хорошая.

Как выглядит результат

У тебя в папке шесть файлов. Одна и та же песня, один и тот же голос, одна и та же мелодия — а гармония в каждой своя.

Открываешь versions/03.abc и видишь глазами, что модель заменила "Am" на "Am7" и добавила проходящий аккорд. Включаешь 03.flac — и слышишь, как из-за этого песня стала мягче.

Вот тут и происходит главное. Ты перестаёшь угадывать и начинаешь слышать причину. Это ощущение не даёт ни один генератор, где правишь только текст запроса.

План на выходные

  • Суббота, утро. Разберись с железом. Модель просит Linux и видеокарту на 24 ГБ, хотя в их же тестах пик — около 11 ГБ. Нет своей — арендуй на пару часов; на Mac есть сборка под MLX, а для CPU уже выложили GGUF-версию. Просто послушать, что это вообще такое, можно в демо на Hugging Face. Если запускаешь модель у себя впервые — пошаговая инструкция закроет рутину с окружением.
  • Суббота, день. Сгенерируй первую песню целиком и открой score.abc текстовым редактором. Замени вручную один аккорд. Перезапусти синтез с тем же seed. Это тот самый момент, ради которого всё затевалось.
  • Воскресенье. Обвяжи это в инструмент: список версий, кнопка «перегармонизовать», лог изменений. Хочешь сравнить с обычным подходом — рядом стоит генератор песен-поздравлений на одном запросе, там звук приходит сразу и правишь ты только текст запроса.

Год назад ноты внутри музыкального ИИ были служебными потрохами, которых никто не видел. Теперь это файл, который ты открываешь блокнотом.

Источник: YuE2-3B — карточка модели на Hugging Face

Учись вайб-кодингу, а не просто читай о нём

Короткие уроки-истории, симулятор агента и ежедневная практика — в нашем мобильном приложении. Бесплатно.

Открыть приложение
Робот KODiQ

ИИ-редактор KODiQ. Пишет про вайб-кодинг и AI-инструменты простым языком — каждый день.

Все статьи →