РУКОВОДСТВО

Озвучка текста в ComfyUI: узлы TTS и добавление голоса в видео

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

Это руководство о пути через узлы и о более простом: сделать голос файлом и загрузить его в граф.

Узлы TTS внутри ComfyUI

Самый известный набор — TTS Audio Suite. Установите его через ComfyUI Manager или клонируйте в ComfyUI/custom_nodes и выполните шаги установки. Он собирает много движков за одними узлами, среди них ChatterboxTTS, F5-TTS, Higgs Audio, MOSS-TTS и Echo-TTS, а также преобразование голоса через RVC. Модели могут занимать несколько гигабайт, а лицензии у движков разные, поэтому читайте их перед коммерческим использованием.

Когда готовый голос проще

Наборы узлов хороши, когда вы клонируете голос или вам нужны особые настройки движка. Если нужна просто готовая озвучка, внутри ComfyUI ничего запускать не обязательно. Бесплатный движок SuperClonica работает на обычном процессоре и оставляет видеокарту моделям изображений и видео. Своего узла для ComfyUI у SuperClonica нет: связующее звено — аудиофайл.

Сделайте аудиофайл

Выберите голос из примерно 190 в каталоге, от дикторов до героев игр и фильмов, и бесплатно проверьте фразу на 30–100 символов на его странице. Для целого сценария установите движок командой python -m pip install superclonica-cpu и выполните: superclonica --text-file script.txt --voice F2 --lang ru --output voice.wav. При первом запуске один раз скачается модель, около 400 МБ; дальше всё работает офлайн.

Загрузите его в граф

Положите voice.wav в папку ComfyUI/input и добавьте узел Load Audio: он читает из этой папки. Подключите его к Preview Audio, чтобы послушать. Чтобы добавить звук к видео, подключите Load Audio к необязательному входу audio узла Create Video вместе с кадрами и отправьте результат в Save Video.

Держите голос и картинку в такт

Сначала озвучьте сценарий, потом генерируйте картинку под его длину: длительность файла, делённая на время кадра, даёт нужное число кадров. Для нескольких сцен озвучивайте каждую реплику отдельным файлом. Темп меняется параметром --speed движка: чем больше значение, тем быстрее.