Звук из текста: Stable Audio
Урок «audio-sound» в группе Звук и речь списка уроков. Шагов: 10.
Чему вы научитесь
Вы соберёте граф, который делает звуковой эффект или короткий кусок музыки по описанию.
Что понадобится
- Урок продолжает Первая картинка из текста. Карточка говорит об этом; это подсказка, а не замок.
- Файлы моделей, которые урок проверяет:
- для поля
ckpt_nameноды Load Checkpoint: файл, в имени которого естьstableиaudio; - для поля
clip_nameноды Load CLIP: файл, в имени которого естьt5иbase.
- для поля
- Ноды: Load Checkpoint, Load CLIP, CLIP Text Encode (Prompt), Empty Latent Audio, KSampler, VAE Decode Audio, Save Audio (Advanced) / SaveAudio / SaveAudioMP3 / PreviewAudio.
- Приложение ничего не скачивает и не устанавливает. Тексты шагов ниже говорят, какие файлы, в какие папки и какой шаблон ComfyUI их называет.
Шаги
Слова каждого шага, как их показывает урок. Имена нод выделены.
Что делает Stable Audio (чтение)
Stable Audio Open 1.0 делает короткие звуки по тексту: дождь по крыше, шаги по снегу, барабанную петлю, фон для подложки. Петь и говорить он не умеет.
Граф устроен как граф первой картинки с отдельным чтением текста и декодером для звука.
Урок собирает граф с пустого холста: «Файл ▸ Новый проект».
Загрузите модель
Добавьте ноду Load Checkpoint и выберите в
ckpt_nameфайлstable-audio-open-1.0.safetensors. Он лежит в models/checkpoints.В этом файле часть, которая рисует звук, и её декодер. Чтения текста внутри нет: оно придёт из своего файла на следующем шаге.
Если нужного файла в списке нет, значит, его нет в вашем ComfyUI. Приложение ничего не скачивает. Проще всего открыть в самом ComfyUI шаблон «Stable Audio 1.0: Text to Audio»: он покажет, каких файлов не хватает и куда их положить. Потом выберите здесь в меню «Синхронизация ▸ Синхронизировать сейчас», и файлы появятся в списках.
Загрузите чтение текста
Добавьте ноду Load CLIP. В
clip_nameвыберитеt5-base.safetensorsиз models/text_encoders, аtypeпоставьтеstable_audio.Тип говорит ComfyUI, как устроено чтение текста. С другим типом файл загрузится, но модель получит описание, которым не сможет воспользоваться.
Опишите звук
Добавьте две ноды CLIP Text Encode (Prompt) и соедините выход
CLIPноды Load CLIP со входомclipкаждой.В поле
textпервой напишите простыми словами, что должно звучать: heavy rain on a tin roof, distant thunder. Вторая может остаться пустой или перечислять то, что не нужно.Назовите вид звука, место и настроение. Для музыки добавьте жанр и темп, например 120 BPM.
Скажите, сколько длится звук
Добавьте ноду Empty Latent Audio и поставьте
seconds. Для звукового эффекта 10 секунд хватает с запасом.Модель учили на кусках до 47 секунд. Более длинная заготовка даёт в конце тишину или шум.
Добавьте сэмплер
Добавьте ноду KSampler и подключите четыре входа:
modelот Load Checkpoint;positiveиnegativeот двух текстовых нод;latent_imageот Empty Latent Audio.
Поставьте
stepsравным 50 иcfgравным 5. Официальный шаблон берёт 50 шагов иcfgоколо 5, аsampler_nameставитdpmpp_3m_sde_gpuиschedulerставитexponential. Поставьте эти два в ComfyUI тоже, если они есть в вашем списке.Превратите результат в звук
Добавьте ноду VAE Decode Audio. Соедините выход KSampler с её входом
samples, а выходVAEноды Load Checkpoint с её входомvae.Сохраните звук
Добавьте ноду Save Audio (Advanced) и соедините выход VAE Decode Audio с её входом
audio. В ComfyUI файл попадёт в output/audio.Если звук не удался (чтение)
- Каша вместо ясного звука: описывайте один звук, а не целую сцену.
- Шум в конце: заготовка длиннее описанного звука, уменьшите
seconds. - Слишком тихо или жидко: добавьте слова о записи, например close, studio, clean.
Модель делает звуки, а не речь. Для речи есть урок «Речь из текста: Chatterbox».
Граф готов (чтение)
Сохраните граф через «Файл ▸ Сохранить workflow для ComfyUI…», откройте файл в ComfyUI и запустите там. Само приложение в ComfyUI ничего не запускает.
Что проверяет урок
Шаг для чтения сделан, когда вы нажимаете Понятно, дальше. Шаг с делом отмечается сам, когда на холсте есть:
- Шаг 2, Загрузите модель:
- нода Load Checkpoint.
- в поле
ckpt_nameноды Load Checkpoint стоит файл, в имени которого естьstableиaudio(заглавные буквы, точки и дефисы не важны).
- Шаг 3, Загрузите чтение текста:
- нода Load CLIP.
- в поле
clip_nameноды Load CLIP стоит файл, в имени которого естьt5иbase(заглавные буквы, точки и дефисы не важны). typeноды Load CLIP:stable_audio.
- Шаг 4, Опишите звук:
- нода CLIP Text Encode (Prompt).
- нода CLIP Text Encode (Prompt).
CLIPноды Load CLIP во входclipноды CLIP Text Encode (Prompt) (промпт).CLIPноды Load CLIP во входclipноды CLIP Text Encode (Prompt) (негатив).textноды CLIP Text Encode (Prompt) (промпт): не меньше 10 знаков.
- Шаг 5, Скажите, сколько длится звук:
- нода Empty Latent Audio.
secondsноды Empty Latent Audio: от 1 до 47; «Сделать за меня» ставит 10.
- Шаг 6, Добавьте сэмплер:
- нода KSampler.
MODELноды Load Checkpoint во входmodelноды KSampler.CONDITIONINGноды CLIP Text Encode (Prompt) (промпт) во входpositiveноды KSampler.CONDITIONINGноды CLIP Text Encode (Prompt) (негатив) во входnegativeноды KSampler.LATENTноды Empty Latent Audio во входlatent_imageноды KSampler.stepsноды KSampler: от 25 до 100; «Сделать за меня» ставит 50.cfgноды KSampler: от 3 до 7; «Сделать за меня» ставит 5.
- Шаг 7, Превратите результат в звук:
- нода VAE Decode Audio.
LATENTноды KSampler во входsamplesноды VAE Decode Audio.VAEноды Load Checkpoint во входvaeноды VAE Decode Audio.
- Шаг 8, Сохраните звук:
- нода Save Audio (Advanced) или SaveAudio или SaveAudioMP3 или PreviewAudio.
AUDIOноды VAE Decode Audio во входaudioноды Save Audio (Advanced) или SaveAudio или SaveAudioMP3 или PreviewAudio.