Читать книгу Генерация голоса с помощью ComfyUI - - Страница 4
Глава 3. Простые TTS‑решения в ComfyUI
Оглавление3.1. Подключение стандартных моделей (Tacotron2, FastSpeech)
ComfyUI позволяет подключать популярные TTS‑модели через специализированные ноды. Ниже – пошаговая инструкция для двух базовых архитектур.
1. Tacotron2
Назначение: генерация мел‑спектрограммы из текста (требует вокодера для финального аудио).
Подключение:
1. Установите ноду `TTS: Tacotron2` через ComfyUI Manager (раздел Custom Nodes).
2. Загрузите предобученную модель (например, из репозитория Hugging Face):
формат: `.pt` или `.ckpt`;
рекомендуемые версии: `tacotron2-lj-v2`, `tacotron2-multi`.
3. Поместите модель в папку:
```
ComfyUI/models/tts/tacotron2/
```
4. В ноде укажите путь к модели через параметр Model Path.
Входные параметры ноды:
`text` – строка текста (подключается от Text Input);
`speaker_id` – идентификатор диктора (для мультидикторных моделей);
`speed` – коэффициент скорости речи (по умолчанию: 1.0).
Выход: `mel_spectrogram` (передаётся в вокодер).
2. FastSpeech2
Преимущества перед Tacotron2:
выше скорость синтеза;
стабильность интонации;
меньше артефактов при длинных текстах.
Подключение:
1. Найдите ноду `TTS: FastSpeech2` в Manager.
2. Скачайте модель (например, `fastspeech2-vctk`) и поместите в:
```
ComfyUI/models/tts/fastspeech2/
```
3. Укажите путь в параметре Model Path ноды.
Входные параметры:
`text` – входной текст;
`pitch_control` – регулировка высоты тона (диапазон: 0.8–1.2);
`energy_control` – контроль громкости слогов (0.8–1.2).
Выход: `mel_spectrogram`.
Важно: Для обеих моделей требуется вокодер (например, WaveGlow или HiFi‑GAN) для преобразования спектрограммы в аудио.
3.2. Настройка параметров: скорость, тон, громкость
1. Скорость речи (Speed)
Где настраивается: в ноде TTS‑модели (параметр `speed`).
Диапазон:
0.5 – замедленная речь (в 2 раза);
1.0 – стандартная скорость;
2.0 – ускоренная речь (в 2 раза).
Рекомендации:
для аудиокниг: 0.9–1.1;
для уведомлений: 1.2–1.4.
2. Тон (Pitch)
Способы регулировки:
через параметр `pitch_control` в FastSpeech2;
с помощью ноды `Audio Effect` (эквализация диапазона 100–500 Гц).
Эффекты:
повышение тона → более «молодой» голос;
понижение тона → более «солидный» голос.
Диапазон: 0.8–1.2 (коэффициент).
3. Громкость
На уровне модели: параметр `energy_control` в FastSpeech2 (влияет на амплитуду слогов).
На уровне аудио:
нода `Audio Effect` → параметр `volume` (в дБ);
нода `Audio Output` → настройка Normalization (LUFS).
Рекомендуемые уровни:
пиковая громкость: не выше −6 дБ;
средняя громкость: −14 LUFS (стандарт для медиа).
4. Дополнительные параметры
Паузы между фразами:
вставляйте символы `…` или `[PAUSE]` в текст;
настраивайте длительность через `pause_duration` (если поддерживается моделью).
Акценты на словах:
используйте разметку: `важное слово`;
регулируйте через `energy_control` для отдельных сегментов.
3.3. Генерация одноголосового аудио
Пошаговый workflow:
1. Ввод текста
Нода: `Text Input`.
Пример текста:
```
Привет! Это пример синтеза речи в ComfyUI.
```
2. Синтез спектрограммы
Нода: `TTS: FastSpeech2` (или `Tacotron2`).
Настройки:
`speed` = 1.0;
`pitch_control` = 1.0;
`energy_control` = 1.0.
3. Преобразование в аудио
Нода: `Vocoder: HiFi-GAN` (или `WaveGlow`).
Параметры:
`sample_rate` = 48000;
`denoiser_strength` = 0.01 (для подавления шума).
4. Постобработка
Нода: `Audio Effect`.
Действия:
эквализация (усиление 1–4 кГц);
нормализация громкости.
5. Экспорт
Нода: `Audio Output`.
Настройки:
`format` = WAV;
`output_path` = `./output/speech.wav`.
Запуск процесса:
1. Соедините ноды в порядке:
```
Text Input → FastSpeech2 → HiFi-GAN → Audio Effect → Audio Output
```
2. Нажмите Queue Prompt.
3. Проверьте результат в указанной папке.
Типичные ошибки и решения:
«Модель не найдена»: убедитесь, что файл модели лежит в правильной папке и указан верный путь.
«Артефакты в аудио»: попробуйте другой вокодер или уменьшите `denoiser_strength`.
«Обрыв звука»: проверьте длину текста (не более 250 символов) и наличие пауз.
Советы по оптимизации:
Для быстрого тестирования используйте малые модели (например, `fastspeech2-small`).
Сохраняйте рабочие процессы как шаблоны (File → Save As Template).
Для серийной генерации создавайте циклы через ноду `Batch Process`.