Обновить

— Мам, купи Suno. — У нас есть Suno дома! ACE‑Step XL 4B — русскоязычная музыкальная студия с открытым исходным кодом

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели16K
Всего голосов 43: ↑43 и ↓0+53
Комментарии57

Комментарии 57

ЗакрепленныеЗакреплённые комментарии

Извиняюсь за скромный вопрос. А для AMD планируется поддержка? Конкретно эту нейронку (1.5xl) смог завести через ComfyUI с билдом зависимостей под красную карточку. А так лайк, уже скачиваю тестить :)

На CPU успешно завелось. Кавернул под instrumental версию, мне понравилось! Особенно что можно сохраниться во flac. Улучшение промта (как и написание) - да, туповатое. Но, видимо, из-за модели которая там юзается (там же qwen какой-то урезанный). Поэтому лучше ручками писать. А вот качество на выходе зачетное, я на ComfyUI не смог добиться генерации чего-то отличимого от mp3 - 320kbps, может плохо смотрел конечно.

Еще понравился спам в cmd'шку "‘nvidia-smi’ is not recognized as an internal or external command, operable program or batch file." =) Просто в покое спамит.

Но в целом - играться и играться. Инструмент годный. Попробую как-нибудь свою видюшку завести еще. Автор - Спасибо!

Отвечу сам себе. Запустил на рыксе.

Дикий пердолинг + обходы, но смог сгенерировать трек.
Кому интересно - почитайте https://github.com/ace-step/ACE-Step/discussions/404

Надо еще копаться. 16 гб vram мало. Постоянный упор по памяти и выгрузка в ОЗУ. Соответственно, ни о какой быстрой генерации речи не идёт.
Ремарку сделаю: на длинных треках. На коротких (+/- 60 секунд) генерация занимает около 2 минут.
Есть ощущение что он модели всей пачкой загружает когда начинает работать.

Вариант работы через ComfyUI пока остается самым стабильным (выборка и загрузка моделей поэтапно от ноды к ноде).

а если есть несколько видеокарт? помню для генерации видео для comfy делали плагины, но они были сильно привязаны именно для видеогенерации

У меня одна карточка :) Нету возможности проверить эту теорию. На comfy эти модели куда удачнее работают, но там функционал урезанный в плане возможностей самого Ace-Step, либо я пока не нашел вариантов (сохранить flac, сделать cover). Могу гайдец запилить как на comfy под AMD поднять ace-step 1.5 xl

Был бы признателен, тоже юзаю rx, пробовал с cpu - очень долго. Странно, скачал все модели чтобы попробовать - на всех моделях кроме XL Turbo BF16 (только на ней и генерится) - бесконечная надпись "Gradio запускается.." и на этом всё

В общем:

Скрытый текст

1) Скачивает портативку comfyui отсюда - https://github.com/Comfy-Org/ComfyUI/releases

Ну понятно, zip распаковать в удобное место
Ну понятно, zip распаковать в удобное место


2) Обязательно запускаем ComfyUI_windows_portable\update\update_comfyui_and_python_dependencies.bat

Тыкаем и ждём, если будет просить - жмакаем кнопку на клавиатуре
Тыкаем и ждём, если будет просить - жмакаем кнопку на клавиатуре

Скачает и обновит все зависимости

3) Здесь лежат модели, lm и vae - https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files/tree/main/split_files

Поочередно скачиваем и раскидываем по папкам
Поочередно скачиваем и раскидываем по папкам

Скачиваем text_encoders:

qwen_0.6b_ace15.safetensors // для тегов

и 1.7b либо 4b для lyrics (текст песни), я юзаю qwen_4b_ace15.safetensors

Модель по желанию (мне больше зашла acestep_v1.5_xl_sft_bf16.safetensors)

vae 1 файл - ace_1.5_vae.safetensors

Куда распихивать их: ComfyUI_windows_portable\ComfyUI\models идём сюда

1.5 vae в папку vae (логично)

Текстовые модели (text_encoders) все в папку text_encoders

Диффузионные модели в папку unet

Если каких-то папок нету из коробки - создать.

4) Когда всё готово, запускаем через батник в корневой папке ComfyUI_windows_portable (я юзаю run_amd_gpu_disable_smart_memory.bat)

Сразу уточню момент драйвер обновляем до последнего, т.к. поддержка pytorch вроде как с какой-то 25.9 версии появилась, у меня 26.3 стоит.

Запустились, идем в левом меню находим пункт Шаблоны (Templates), тыкаем, выбираем в списке Аудио (Audio) и выбираем Ace-Step 1.5XL SFT: Текст в музыку

Откроется шаблон подготовленных нод

В sft изначально стоит в ноде KSampler 50 шагов, cfg 7.0

Если хотим добиться максимального качественного звучания, рекомендую выставить:

  • шаги - 120

  • cfg - 2.5

  • сэмплер - er_sde

  • scheduler - linear_quadratic

  • Шумодав по умолчанию - 1.00

С длительностью играем по скольку железо позволять будет. Сама модель умеет выдавать и 8 минут (проверял). Для поиграться пойдет значение по умолчанию

Если хотим фиксировать результат то здесь ничего не трогаем, если хотим генерировать постоянно уникальный трек - выбираем randomize

По основной ноде с тегами и текстом все достаточно понятно, но можно поиграться с полем CFG (мне понравились результаты на 4.0)

В целом для базы хватит, но могу еще рассказать как засейвиться во flac

Справа вверху есть кнопочка Manager

Жмакаем, вызываем Custom Node Manager

В поиске вводим ComfyUI-EdgeTTS качаем и перезапускаем (он сам напишет)

Дальше делаем кастомный выход:

Надо будет добавить ноду Save Audio от AILabs

Вбить output (можно как у меня audio/ComfyUI) и протянуть выход аудио на обычную стоковую ноду

Соответственно, на выходе будем получать полновесный flac

В общем вроде всё, если будут вопросы пишите постараюсь помочь

И некоторые наблюдения: если падает скорость по генерации - перезапустить батник. Я так понимаю видяха по памяти перегружается и разгружается только в момент перезапуска) Честно - не пытался бороть этот момент т.к. перезапуск занимает буквально менее 10 секунд.

О нюансах:

  • Если запуск через обычный run_amd_gpu.bat - не могу использовать KSampler _sde, а они творят магию по улучшению качества звучания

  • После первой генерации на _sde - зачастую отвал, перезапускаем (но актуально для многошаговых генерациях)

  • Если использовать в KSampler euler + 9-10 шагов можно примерно представить какой будет трек (если мы не трогаем ничего в остальных блоках, а seed стоит fixed), то потом можем сделать в хорошем качестве просто поменяв на _sde + linear quadratic как я описывал выше.

В целом играться и играться :) Через пару вечеров начнет получаться заметно лучше. Огромное внимание на промт и текст, нейронка хорошо принимает в условиях [chorus] допустим всякие [chorus-rage] [chorus-melodic] и так далее, пробуйте.

Спасибо тебе, добрый человек, за такой наиподробнейший гайд!
Будем юзать!

Низкий вам поклон за столь замечательную штуку! Конесно не suno, но вот с этим по-любительски уже работать можно.

Да, этим уже можно пользоваться, но режим кавера конечно, пока сыроват. А может зависит от мощности видеокарты...

Жаль, что не удалось прямо в статье послушать Нирвану в регги. Но звезду поставил :)

Не получилось запустить все время по памяти вылетает, нашел вот такой проект https://github.com/audiohacking/acestep-cpp-ui с ним такой проблемы не возникает.

https://github.com/timoncool/ACE-Step-Studio это вайб код с https://github.com/audiohacking/acestep-cpp-ui ?

acestep-cpp-ui - так там прошлая версия, у неё в два раза меньше требования по ресурсам, наверное потому и завелась. Думаю что и мой форк и acestep-cpp-ui произашли от одного предка.

жаль без карт амд и линупса(

надеюсь в будущем будет поддержка амд карт(
звезду поставил

Низкий поклон от моих дочерей ))
Появилось часть свободного времени. Теперь как в Варкрафте - Чем бы заняться?

Отличный инструмент получился. Правда не совсем понимаю, как работать на 16Гб видеопамяти, у меня 24Гб 3090, но даже no-lm версия съедает у меня всю память попытке сгенерировать более 3х минут и начинает гонять туда-сюда данные в оперативку и тормозить.

Не вылезает, пробуйте bf16 и по короче

Обалденный проект! Жаль пока железо не потянет, видяха 1660 Ti явно тут не поможет... Но после поста возникло два вопроса:

1) А просто музыку (по описанию и/или референсу) оно генерировать умеет? Без текста, без слов.

2) Что по коммерческой лицензии на сгенерированные треки? SUNO чётко говорит, что на платном аккаунте сгенерированные треки принадлежат вам и их можно использовать в коммерческой деятельности. А тут?

Просто музыку - умеет. И кстати там при установке можно выбрать cpu only версию, если с видеокартой туго.

Хорошая новость, а то после закрытия Riffusion его гугловский преемник Producer AI выглядит очень "противоречиво", начиная от лютой системы фильтрации копирайтов и "нежелательных выражений", до качества генерации музыки/голоса которая ну оооочень просела.

Будем надеяться что модель про оптимизируют по памяти и она заработает на 12гб;)

До качества риффужен ползти и ползти даже suno, не то что открытым моделям. Кстати, потому и прикрыли...

Еще и в жанрах не попсовых по лучше суны разбирался, то же далеко не идеально конечно, ну хоть какой-то более менее внятный результат был и это его главная фишка была, а суну сколько не корми хоть промптами, хоть референсами в кастомную модель её все время в чартовые помои уносит

Да уж, не то слово. Вокал, как и музыка на гугловской отрыжке - рядом с Producer AI не стоят и не известно встанут ли вообще. Никакого развития модели движка

Так Producer AI это теперь собственность корпорации Бобра Google ;))

Согласен, раньше Riffusion  конкурировал с Suno, местами был даже лучше. Сейчас это полное УГ. Так и не понял как им удалось настолько ухудшить качество.

Классический Riffusion закрыли как опасного конкурента, а "странный" Producer AI продали с потрохами Гуглу.

Я честно говоря, так и думал, что это случится. Потому как остальным муз. нейронкам предъявили за обучение своих моделей на мировой проф музыке, а рифьюжн это как-то обошло... Поэтому возможно и слились, хз.
А насчёт данного конкретного проекта, надеюсь его ждёт дальнейшее развитие, по крайней хотелось бы

Вот про музыку хороший вопрос. Я в суно в основном генерю именно музыку для фона и подложек и редко песни.

Меня всегда интересовал вопрос... Люди, которые очень хорошо шарят в нейронках (которым всего пару лет) и программировании, вы как это делаете? Вы сидите по 24 часа в день у компа? Или это дар Бога? А когда вы успеваете гулять, помогать родителям, близким и вообще людям? Или вы на них х... ложились и никому не удаляете время? А работать когда успеваете? Детей воспитывать? Или на них всех тоже пох..., а кушать мама покупает? А учиться новому? Нельзя же быть обезьяной за компом, которая только умеет кнопки нажимать. Нужно еще изучать другие вещи, развиваться,физически, ходить в спортзал, читать книги и т.д.... Когда вы это все успеваете??? Я, например, изучаю нейронные сети с момента их появления. Но до сих пор ничего толком не умею. Просто банально не хватает времени догнать скорость их развития. Не понимаю, ааа это делают другие...

Никак. Кто-то гвозди забивает, кто-то погроммирует, кто-то погроммирует и еще деньги за это получает.

Кто-то (единицы) шарят в математике типа тензоры-матрицы всякие, и потом пишут движки типа llama.cpp , кто-то понимает как это все работает уже на более общем уровне, всякие KV кэши и прочие слои, а кто-то умеет писать промпты так, что нейронка почти сразу выдает рабочее без глюков. Ну а кто-то просто комбинирует знания, выкидывая лишнее, и пользуется ими каждый день. Специализация и тут действует, помнить и знать вообще все мало того что сложно, так еще и особо никому и не нужно.

Лично я действительно занимаюсь нейронками последние 4 года ежедневно по 12-16 часов в сутки =) И да, на все остальное времени уже не хватает...

Я же правильно понимаю, что ЛМ только для генерации лирики по промпту и если текст уже есть свой, то она не нужна?

Да, потому есть ярлык запуска без ЛМ

Отключение генерации лирики сильно экономит видеопамять?

Вообще никак не экономит, там эта лирика 0.001% от всего процесса занимает.

Если вы про субтитры для видео. Перегенерация промпта выгружает все, загружает LLM , чего то там с текстом делает и ворачивает все обратно. это и логично - пока у вам промт не готов, нечего и музицировать. А вот у меня эта штука почему то не завелась, ошибку выдает.

Почему и был изначально мой вопрос - без лмм всё работает, а с ней валится по нехватке памяти (3060ti c 8Гб и 32 оперативки). Кстати почему-то не хочет работать по локалке (и глобалке), вместо загрузки гуя просто чёрный фон на странице. При запуске через run-dev на 3000 порту открывает, но генерировать не может. Было бы неплохо запустить сервер дома на пк и пользовать удалённо по случаю.

Там gradio а он довольно тяжелый. можно написать свою оболочку и через nginx прокинуть наружу. Тоже сталкивался.

Неплохо бы, но сам я не смогу.

Вы лучше api используйте, а там хоть по локалке, хоть по удаленке. Не умеете - подключайте ИИ. Причем хороший а не всякие бросовые.

Поставил, попробовал. Да, есть ещё на чем поработать, но в целом - круто. Даже не знаю на сколько гигантсткая работа проделана. Сначала о минусах:
1. не нашел как задать негативный стиль,
2. плюёт на теги внутри lyric, да и в целом музыка не соответствовала заданному стилю
3. не понял про ограничения длительности, автодлительность почему-то сгенерила 30 сек, а сколько реально выйдет - как посчитать?
4. Качество уступает суно.
5. Нет возможности слушать музыку во время генерации
6. Не понял отсылки к qwen, он вроде как уже не бесплатный

Теперь о плюсах:
1. (Главное) Это работает
2. Интерфейс лучше чем у Суно - сохраняет заданные параметры, включая название, текст песни и стиль.
3. Локальная
4. На выходе вполне слушабельная музыка

Очень не хватает инструкции по написанию lyric и стилей. Возможно я получил не то что описывал, потому что правила отличаются от суновских.


Для примера генерация suno и ACE-step (Текст и стиль одинаковые):
Suno: https://suno.com/s/IIiOTyBILshPw51o
ACE-step: https://suno.com/s/bQE9rSg5kYXxIZ4o

Ещё попытка в ACE-step всё же похожий стиль сделать, уже ближе: https://suno.com/s/CRKkdxGw7sPFCbE5

Вопрос, как в скрипте добыть микшер? В GUI его нет, и музыка играет как положено, а на фоне чувак вроде бы орет песню как нужно, но настолько тихо, что в основном не разобрать. Или это у меня только так? Stemы пробовал добывать - ошибка без разьяснений (думал сведу треки в редакторе).

Статья супер. За вашу работу низкий поклон. Пойду грузиться в винду и пробовать. Очень не хватает гайда по установке на Линукс. И вопрос к автору и знатокам, есть модельки для домашнего использования для генерации мультитрека - дорожка вокала, бэков, гитар, баса и др? Или вообще упрощённые варианты - сделай мне караоке, сделай мне драмлесс трек, сделай гитарный бэкинг трек?

Отвечу себе сам. Demucs Music Source Separation в помощь и мощный комп не нужен. ну а тем кому не хочется заморачиваться с питоном и консолью подойдёт Ultimate Vocal Remover v5 в настройках доустановить Demucs и выбрать профиль htdemucs_6s для разделения на 6 треков.

А на nvidia rtx 2060 6gb Ace-step увы падает и не генерирует песню.

Респект за установщик. Даже про Pascal не забыл. Спасибо. Надеюсь на моей 1060 8гб заведется.

Не завелось :(

@timoninСпасибо большое Вам за такую работу! Установил с помощью Pinokio. На M5 Pro c 48гб оперативки и MacOs Tahoe никак не получается заставить это работать. Gradio бесконечно "запускается", а при попытке нажать кнопку “создать” - LLM not available - model may be loading or Gradio restarting. Wait and try again.

Я что-то не так сделал? Я совсем не программист если что, поэтому даже не знаю, куда копать и что смотреть.

Не очень понял про 16gb видимокарты. Это типа минимальные требования и если такой видимокарты нет то все подвиснет намертво? Или например все заработает на 3060 12gb + 32gb оперативки?

Добавил ллм через опенроутер, теперь можно запускать через батник No Lm.

Всем привет, не понимаю что делаю не так, выбираю модель XL SFT, параметры не трогаю всё на auto, генерю трек и на выходе подучается вот такое https://disk.yandex.ru/d/R2g8y32Z_m_zlg
На модели XL Turbu BF16 генерится всё хорошо
Сетап такой RTX 4080 Super 16Gb и 64 ОЗУ

Такого я еще не видел

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации