Звук из текста: Stable Audio

<!-- lesson: audio-sound -->

Урок «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 их называет.

Шаги

Слова каждого шага, как их показывает урок. Имена нод выделены.

  1. Что делает Stable Audio (чтение)

    Stable Audio Open 1.0 делает короткие звуки по тексту: дождь по крыше, шаги по снегу, барабанную петлю, фон для подложки. Петь и говорить он не умеет.

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

    Урок собирает граф с пустого холста: «Файл ▸ Новый проект».

  2. Загрузите модель

    Добавьте ноду Load Checkpoint и выберите в ckpt_name файл stable-audio-open-1.0.safetensors. Он лежит в models/checkpoints.

    В этом файле часть, которая рисует звук, и её декодер. Чтения текста внутри нет: оно придёт из своего файла на следующем шаге.

    Если нужного файла в списке нет, значит, его нет в вашем ComfyUI. Приложение ничего не скачивает. Проще всего открыть в самом ComfyUI шаблон «Stable Audio 1.0: Text to Audio»: он покажет, каких файлов не хватает и куда их положить. Потом выберите здесь в меню «Синхронизация ▸ Синхронизировать сейчас», и файлы появятся в списках.

  3. Загрузите чтение текста

    Добавьте ноду Load CLIP. В clip_name выберите t5-base.safetensors из models/text_encoders, а type поставьте stable_audio.

    Тип говорит ComfyUI, как устроено чтение текста. С другим типом файл загрузится, но модель получит описание, которым не сможет воспользоваться.

  4. Опишите звук

    Добавьте две ноды CLIP Text Encode (Prompt) и соедините выход CLIP ноды Load CLIP со входом clip каждой.

    В поле text первой напишите простыми словами, что должно звучать: heavy rain on a tin roof, distant thunder. Вторая может остаться пустой или перечислять то, что не нужно.

    Назовите вид звука, место и настроение. Для музыки добавьте жанр и темп, например 120 BPM.

  5. Скажите, сколько длится звук

    Добавьте ноду Empty Latent Audio и поставьте seconds. Для звукового эффекта 10 секунд хватает с запасом.

    Модель учили на кусках до 47 секунд. Более длинная заготовка даёт в конце тишину или шум.

  6. Добавьте сэмплер

    Добавьте ноду 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 тоже, если они есть в вашем списке.

  7. Превратите результат в звук

    Добавьте ноду VAE Decode Audio. Соедините выход KSampler с её входом samples, а выход VAE ноды Load Checkpoint с её входом vae.

  8. Сохраните звук

    Добавьте ноду Save Audio (Advanced) и соедините выход VAE Decode Audio с её входом audio. В ComfyUI файл попадёт в output/audio.

  9. Если звук не удался (чтение)

    • Каша вместо ясного звука: описывайте один звук, а не целую сцену.
    • Шум в конце: заготовка длиннее описанного звука, уменьшите seconds.
    • Слишком тихо или жидко: добавьте слова о записи, например close, studio, clean.

    Модель делает звуки, а не речь. Для речи есть урок «Речь из текста: Chatterbox».

  10. Граф готов (чтение)

Сохраните граф через «Файл ▸ Сохранить 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.

См. также

Страница перенесена из wiki репозитория приложения (docs/wiki/lessons/Audio-Sound.ru.md, ревизия b8e3f71). То же руководство встроено в приложение: «Справка ▸ Руководство».

Чтобы обновить её, выполните npm run import, а затем npm run build в папке сайта.