Skip to content
ComfyUI Wiki
Помогите создать лучшую базу знаний ComfyUI Стать спонсором

Полное руководство по генерации музыки с помощью ACE-Step в ComfyUI

ACE-Step — это открытая базовая модель генерации музыки, совместно разработанная китайской командой StepFun и ACE Studio, предназначенная для предоставления музыкантам эффективных, гибких и высококачественных инструментов для генерации и редактирования музыки.

Модель распространяется под лицензией Apache-2.0 и бесплатна для коммерческого использования.

ACE-Step как мощная базовая модель генерации музыки обладает широкими возможностями расширения. С помощью технологий дообучения, таких как LoRA и ControlNet, разработчики могут настраивать модель под свои задачи. Будь то аудиоредактирование, синтез вокала, создание аккомпанемента, клонирование голоса или перенос стиля — ACE-Step обеспечивает стабильную и надежную техническую поддержку. Гибкая архитектура значительно упрощает процесс разработки музыкальных AI-приложений, позволяя большему количеству создателей быстро внедрять ИИ в музыкальное творчество.

В настоящее время ACE-Step уже опубликовал код для обучения, включая обучение LoRA-моделей, а код для обучения ControlNet будет опубликован в будущем. Подробнее смотрите на их Github.

Реализация ACE-Step в ComfyUI и поддержка мультиязычности

В реализации мультиязычности ACE-Step разные языки приводятся к соответствующим английским символам для генерации музыки. Однако в нативной поддержке ComfyUI этот шаг (конвертация в английский) пока не реализован, только для японской катаканы есть соответствующая обработка (см. коммит). Реализация этого шага требует дополнительных зависимостей, а их добавление в основные зависимости может привести к различным проблемам и конфликтам с кастомными нодами. Поэтому сейчас в ComfyUI нельзя напрямую использовать разные языки для ввода — необходимо вручную конвертировать их в английские символы.

Однако авторы кастомных нод реализовали соответствующую языковую конвертацию, что позволяет использовать мультиязычный ввод напрямую. В этом руководстве мы объединим нативные workflow и кастомные ноды для работы с ACE-Step. Возможно, вы уже скачали этот файл. Ниже приведено объяснение двух способов реализации ACE-Step в ComfyUI.

1. Нативная поддержка ComfyUI

  • Преимущества: Использует объединённую all-in-one модель, удобно загружать, просто использовать
  • Недостатки: Нет прямой поддержки мультиязычного ввода, требуется конвертация текста в английские символы для генерации музыки

В настоящее время ComfyUI поддерживает ACE-Step нативно, но без прямого мультиязычного ввода.

2. Кастомная нода ComfyUI_ACE-Step

ComfyUI_ACE-Step реализует прямой мультиязычный ввод, поддерживает ввод текста песен и промптов на разных языках.

  • Преимущества: Прямая поддержка мультиязычного ввода, простота использования
  • Недостатки: Не использует объединённую модель, требуется загрузка нескольких моделей

В этой кастомной ноде уже добавлены зависимости для перевода японского, китайского и корейского языков, так что вы можете сразу использовать разные языки для генерации музыки. Также автор оптимизировал обработку смешанного мультиязычного ввода.

В этом workflow мы добавим ноду ACE-Step Lyrics Language Switch из ComfyUI_ACE-Step. Если вам нужен мультиязычный ввод, это значительно упростит работу с языками.

Однако в ходе тестирования было обнаружено, что у этой ноды есть проблемы с конвертацией японского. Поэтому если вы хотите сгенерировать песню на японском, используйте катакану напрямую.

ACE-Step Lyrics Language Switch Preview

Также в предоставленном workflow эта нода по умолчанию находится в режиме Bypass, поэтому если вы хотите включить мультиязычный ввод, кликните правой кнопкой по ноде и выберите режим Always.

ComfyUI Cancel Bypass

💡

Из-за недавних обновлений Comfy и нативного workflow ACE-Step шаблон в Portable-версии пока не обновлён. Поэтому на момент (2025-05-18) это руководство — одно из первых онлайн с поддержкой мультиязычности и оптимизированным workflow. Актуальные шаблоны поддерживаются ComfyUI Wiki

Подготовка перед началом

  1. Обновите ComfyUI до последней версии для поддержки ACE-Step
  2. (Необязательно, если нужен мультиязычный ввод) Установите плагин ComfyUI_ACE-Step (можно через ComfyUI Manager)
  3. Скачайте модель ace_step_v1_3.5b.safetensors и поместите её в папку ComfyUI/models/checkpoints

Генерация аудио из текста с помощью ACE-Step в ComfyUI

1. Скачивание workflow

Нажмите на кнопку ниже, чтобы скачать workflow, затем перетащите его в ComfyUI для загрузки. Workflow включает информацию о скачивании модели.

2. Пошаговое выполнение workflow

  1. Убедитесь, что нода Load Checkpoints загружает модель ace_step_v1_3.5b.safetensors
  2. (Необязательно) В ноде EmptyAceStepLatentAudio можно задать длительность генерируемой музыки
  3. (Необязательно) Введите текст песни в ACE-Step Lyrics Language Switch. Если не знаете, как вводить, смотрите страницу проекта ACE-Step. Для японского — удалите эту часть и используйте нативную ноду ComfyUI с катаканой.
  4. (Необязательно) Введите стиль музыки и т.д. в поле tags ноды TextEncodeAceStepAudio
  5. (Необязательно) В ноде LatentOperationTonemapReinhard можно изменить параметр multiplier для регулировки громкости вокала (большее значение — более выраженный вокал)
  6. Нажмите кнопку Run или используйте сочетание Ctrl(cmd) + Enter для запуска генерации
  7. После завершения workflow вы увидите сгенерированное аудио в ноде Save Audio. Можно прослушать и сохранить файл в ComfyUI/output/audio (имя подпапки определяется нодой Save Audio).

Генерация аудио по аудио (Audio-to-Audio) в ComfyUI ACE-Step

Используя workflow audio-to-audio, вы можете загрузить существующую музыку (аналогично image-to-image) и сгенерировать новую версию. Также можно регулировать степень отличия от оригинала с помощью параметра denoise в Ksampler.

Возможности:

  • Изменение стиля музыки
  • Изменение части текста песни и др.

Больше примеров смотрите на странице проекта ACE-Step

1. Скачивание workflow

Нажмите на кнопку ниже, чтобы скачать workflow, затем перетащите его в ComfyUI для загрузки.

Можно использовать аудио из text-to-audio workflow как входное

2. Пошаговое выполнение workflow

ACE-Step Audio to Audio Workflow

  1. Убедитесь, что нода Load Checkpoints загружает модель ace_step_v1_3.5b.safetensors
  2. Загрузите аудиофайл для редактирования в ноду LoadAudio
  3. (Необязательно) Введите изменённый текст песни в ACE-Step Lyrics Language Switch, примеры — на странице проекта ACE-Step
  4. (Необязательно) Введите стиль музыки в поле tags ноды TextEncodeAceStepAudio
  5. (Необязательно) Измените параметр denoise в ноде KSampler (большее значение — больше отличий от оригинала)
  6. Нажмите кнопку Run или используйте сочетание Ctrl(cmd) + Enter для запуска генерации
  7. После завершения workflow вы увидите сгенерированное аудио в ноде Save Audio. Можно прослушать и сохранить файл в ComfyUI/output/audio (имя подпапки определяется нодой Save Audio).

LoRA для ACE-Step в ComfyUI

ACE-Step официально выпустил LoRA-модель в стиле китайского рэпа. Скачать её можно на ACE-Step/ACE-Step-v1-chinese-rap-LoRA. Переименуйте файл в ace-step-v1-chinese-rap-lora.safetensors. Перед началом работы скачайте файл и поместите его в папку ComfyUI/models/loras.

1. Скачивание workflow

2. Пошаговое выполнение workflow

ComfyUI ACE-Step LoRA Workflow

  1. Убедитесь, что нода Load Checkpoints загружает модель ace_step_v1_3.5b.safetensors
  2. Добавьте модель ace-step-v1-chinese-rap-lora.safetensors в ноду Load LoRA
  3. Остальные параметры аналогичны генерации аудио из текста. Нажмите кнопку Run или используйте сочетание Ctrl(cmd) + Enter для запуска генерации
  4. После завершения workflow вы увидите сгенерированное аудио в ноде Save Audio. Можно прослушать и сохранить файл в ComfyUI/output/audio (имя подпапки определяется нодой Save Audio).

Расширение возможностей ACE-Step

[Будет добавлено]

Гайд по промптам для ACE-Step

В ACE используются два типа промптов: tags и lyrics.

  • tags: Описывают стиль музыки, сцену и т.д., аналогично другим генеративным промптам. Описывают общий стиль и требования к аудио, разделяются английскими запятыми
  • lyrics: Описывают текст песни, поддерживают структурные теги, такие как [verse] (куплет), [chorus] (припев), [bridge] (бридж) для разделения частей. Можно также указывать инструменты для инструментальной музыки

Множество примеров tags и lyrics можно найти на главной странице ACE-Step. Примеры ниже собраны из официальной документации ComfyUI и в основном взяты с главной страницы проекта ACE-Step. Рекомендуем ознакомиться с официальной документацией для написания промптов.

tags (промпт)

Основные музыкальные стили

Используйте короткие комбинации тегов для генерации определённого стиля:

  • electronic
  • rock
  • pop
  • funk
  • soul
  • cyberpunk
  • Acid jazz
  • electro
  • em
  • soft electric drums
  • melodic
Примеры комбинирования стилей
  • DUBSTEP, DARKNESS, FEAR, TERROR (повторяющиеся теги усиливают эффект)
  • dark, death rock, metal, hardcore, electric guitar, powerful, bass, drums, 110 bpm, G major
  • Cuban music, salsa, son, Afro-Cuban, traditional Cuban
  • alternative rock, pop, rock
  • dark electro, industrial techno, gothic rave
  • disco
  • electronic rap
  • country rock, folk rock, southern rock, bluegrass, pop
  • melancholic, world, sad

Типы сцен

Комбинируйте сценарии и атмосферу для генерации музыки под нужное настроение:

  • background music for parties
  • radio broadcasts
  • workout playlists

Инструментальные элементы

  • saxophone, jazz
  • piano, violin
  • 808 bass, sub bassline
  • orchestral, synthesizer, violin, viola, cello
  • phonk, russian dark accordion, russian psaltery, russian harmonica

Типы вокала

  • female voice
  • male voice
  • clean vocals
  • crystal-clear soprano voice
  • deep male voice

Профессиональные термины

Используйте профессиональные музыкальные термины для точного контроля:

  • 110 bpm, 140 bpm, 160 bpm (темп в ударах в минуту)
  • fast tempo
  • slow tempo
  • loops
  • fills
  • acoustic guitar
  • electric bass
  • G major, B flat major, D minor

Продвинутые параметры управления

Контроль вариативности

Степень отличия сгенерированной музыки от оригинального стиля:

  • variance=0.1 (очень похоже, почти идентично)
  • variance=0.3 (умеренные изменения, сохраняется базовый стиль)
  • variance=0.5 (заметные отличия)
  • variance=0.7 (значительные изменения, явная смена стиля)
Перерисовка аудио

Можно изменить отдельные аспекты или области аудио, сохраняя остальное:

  • сменить пол вокала
  • сменить стиль
  • изменить текст

Специальные музыкальные промпты

  • Чистый вокал/акапелла: используйте тег “a cappella”, в lyrics можно использовать гласные (“aaaaaaaa, eeeeeeeee”)
  • Рэп/контроль ритма: “b-box, deep male voice, trap, hip-hop, super fast tempo”
  • Экспериментальная музыка: можно использовать необычные форматы, повторения гласных и т.д.
  • Чисто инструментальная: используйте тег “[inst]” в lyrics

Экспериментальный формат ввода

Можно попробовать более структурированный HTML-формат для описания музыки, например:

<SONG_PROMPT>
  <header>
    [STYLE: Electro-Acid House] [MOOD: Energetic, Raw, Hypnotic, Futuristic]
    [INSTRUMENTATION: Acid Basslines, Punchy Kicks, Snappy Claps, Crisp Hi-Hats]
    [TEMPO: 128 BPM] [PRODUCTION: Raw Energy, Dynamic Acid Sequences]
  </header>
  <SONG_MODULES>
    <INTRO>
      [Punchy kick and filtered acid bassline create a raw, pulsating groove.]
    </INTRO>
    <BUILD_UP_1>
      [Acid bassline evolves with increasing resonance and modulation.]
    </BUILD_UP_1>
    <DROP_1>
      [Full-power acid bassline dominates with high resonance and distortion.]
    </DROP_1>
  </SONG_MODULES>
</SONG_PROMPT>

lyrics (текст песни)

Структурные теги

  • [intro]
  • [verse]
  • [pre-chorus]
  • [chorus]
  • [bridge]
  • [outro]
  • [hook]
  • [refrain]
  • [interlude]
  • [breakdown]
  • [ad-lib]

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

Для инструментальной музыки можно использовать в lyrics: [inst] Также можно указать секции инструментов:

[verse]
[chorus]
[solo]
[verse]
[chorus]
[outro]

Мультиязычность

  • ACE-Step V1 поддерживает мультиязычность. При использовании ACE-Step переводит разные языки в соответствующие английские символы для генерации музыки.
  • В ComfyUI мы пока не полностью реализовали перевод всех языков в английские символы. В настоящее время поддерживаются только японские кана и катакана. Поэтому, если вам нужно использовать несколько языков для генерации музыки, вам нужно сначала перевести соответствующий язык в английские символы, затем добавить аббревиатуру языкового кода в начало lyrics, например, китайский [zh], корейский [ko], и т.д., или использовать ноду ACE-Step Lyrics Language Switch, описанную в этой статье, для завершения перевода языка.

Например:

[verse]

[zh]wo3zou3guo4shen1ye4de5jie1dao4
[zh]leng3feng1chui1luan4si1nian4de5piao4liang4wai4tao4
[zh]ni3de5wei1xiao4xiang4xing1guang1hen3xuan4yao4
[zh]zhao4liang4le5wo3gu1du2de5mei3fen1mei3miao3

[chorus]

[verse]​
[ko]hamkke si-kkeuleo-un sesang-ui sodong-eul pihae​
[ko]honja ogsang-eseo dalbich-ui eolyeompus-ileul balaboda​
[ko]niga salang-eun lideum-i ganghan eum-ag gatdago malhaess-eo​
[ko]han ta han tamada ma-eum-ui ondoga eolmana heojeonhanji ijge hae

[bridge]
[es]cantar mi anhelo por ti sin ocultar
[es]como poesía y pintura, lleno de anhelo indescifrable
[es]tu sombra es tan terca como el viento, inborrable
[es]persiguiéndote en vuelo, brilla como cruzar una mar de nubes

[chorus]
[fr]que tu sois le vent qui souffle sur ma main
[fr]un contact chaud comme la douce pluie printanière
[fr]que tu sois le vent qui s'entoure de mon corps
[fr]un amour profond qui ne s'éloignera jamais

ACE-Step в настоящее время поддерживает 19 языков, но лучше поддерживаются следующие десять языков:

  • English
  • Chinese: [zh]
  • Russian: [ru]
  • Spanish: [es]
  • Japanese: [ja]
  • German: [de]
  • French: [fr]
  • Portuguese: [pt]
  • Italian: [it]
  • Korean: [ko]

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

В workflow audio-to-audio вы можете точно изменить конкретные строки текста песни:

  • “When I was young” -> “when you were kid”
  • “When I was young” -> “When I was old”
  • “I’d listen to the radio” -> “I’d listen to the spotify”
  • “It made me smile” -> “It made me cry”

Вы также можете выполнять перевод языка, сохраняя при этом одну и ту же мелодию и стиль:

  • “When I was young” -> “Quand j’étais jeune” (French)
  • “When I was young” -> “In meiner Jugend” (German)
  • “When I was young” -> “子供の頃に” (Japanese)
  • “When I was young” -> “내가 어렸을 때” (Korean)
  • “When I was young” -> “我小的时候” (Chinese)

Однако ввод в нодах ComfyUI может быть громоздким, поэтому рекомендуется использовать ноду ACE-Step Lyrics Language Switch для выполнения перевода языка.

Ссылки по теме ACE-Step