Читать книгу Генерация голоса с помощью ComfyUI - - Страница 3
Глава 2. Подготовка данных для синтеза
Оглавление2.1. Требования к аудиозаписям
Для качественного обучения моделей синтеза речи (особенно при клонировании голоса) аудиоматериалы должны соответствовать строгим техническим параметрам.
Основные форматы:
WAV (без сжатия) – предпочтительный вариант;
FLAC (сжатие без потерь) – допустимый альтернативный формат;
MP3/OGG (сжатие с потерями) – не рекомендуются из‑за артефактов.
Ключевые параметры:
Частота дискретизации:
минимум – 16 кГц (базовое качество);
оптимально – 44,1 кГц или 48 кГц (студийное качество);
для профессиональных моделей – 96 кГц (редко, из‑за роста объёма данных).
Глубина квантования: 16 бит (стандарт) или 24 бит (для высокоточных моделей).
Количество каналов: моно (1 канал) – обязательно (стерео создаёт артефакты).
Длительность фрагмента:
для TTS – до 30 секунд;
для клонирования голоса – от 30 секунд до 5 минут на один пример.
Уровень громкости:
средний уровень – −18 дБ до −12 дБ;
пики не выше −6 дБ (во избежание клиппинга).
Дополнительные требования:
отсутствие фоновых шумов (уровень шума < −40 дБ);
паузы в начале и конце записи – 100–200 мс;
чёткое произношение без запинок и повторов;
стабильная интонация в пределах одного фрагмента.
2.2. Очистка и предобработка звука
Этапы обработки для устранения артефактов и приведения аудио к стандартному виду.
1. Удаление тишины и пауз
Инструменты:
`sox` (команда `silence`);
библиотеки Python: `pydub`, `librosa`.
Параметры:
порог обнаружения тишины – −40 дБ;
минимальная длительность паузы – 300 мс.
2. Нормализация громкости
Цель: привести уровень к −14 LUFS (стандарт для медиа).
Методы:
пиковая нормализация (peak normalization);
RMS‑нормализация (по среднеквадратичному уровню).
Инструменты:
`ffmpeg` (`-af loudnorm`);
`pysox` (Python).
3. Подавление шума
Алгоритмы:
спектральное вычитание (spectral subtraction);
вейвлет‑фильтрация;
нейросети (например, `noisereduce`).
Параметры:
полоса подавления – 20 Гц–20 кГц;
глубина подавления – 10–20 дБ.
4. Эквализация
Коррекция частотного баланса:
усиление диапазона 1–4 кГц (разборчивость речи);
ослабление ниже 80 Гц (низкочастотный гул).
Инструменты:
`sox` (`equalizer`);
`scipy.signal` (Python).
5. Ресамплинг
Приведение к единой частоте дискретизации (например, 48 кГц).
Метод:
линейная интерполяция (быстро, но с артефактами);
Sinc‑интерполяция (качественно, медленнее).
Инструменты:
`ffmpeg` (`-ar 48000`);
`librosa.resample()`.
6. Удаление кликов и щелчков
Алгоритмы:
медианная фильтрация;
замена аномалий линейной интерполяцией.
Инструменты:
`audacity` (ручной режим);
скрипты на `numpy`.
2.3. Создание текстовых скриптов для синтеза
Требования к текстам:
Грамматическая корректность – отсутствие ошибок и опечаток.
Длина фразы:
максимум – 250 символов (включая пробелы);
оптимально – 10–50 слов.
Полнота предложений – без обрывов на полуслове.
Разнообразие интонаций:
повествовательные предложения;
вопросы (не менее 30% от общего объёма);
восклицания (5–10%).
Фонетическое покрытие:
включение всех фонем языка;
баланс гласных и согласных;
примеры слов с редкими звукосочетаниями.
Особые правила для русского языка:
Обязательное использование буквы «ё» (не заменять на «е»).
Указание ударений в омографах (например, «за́мок» vs «замо́к») через символ `+`.
Разделение сложных числительных (например, «двадцать один» вместо «21»).
Структура датасета:
1. Аудиофайлы:
формат – WAV, 48 кГц, 16 бит, моно;
имена файлов – уникальные идентификаторы (например, `sample_001.wav`).
2. Текстовые расшифровки:
формат – TSV или CSV;
колонки:
`file_name` (имя аудиофайла);
`text` (дословная расшифровка).
кодировка – UTF‑8 без BOM.
Пример TSV‑файла:
```
file_name text
sample_001 Книга собирает жемчужины человеческой мысли.
sample_002 Мы предлагаем вам замечательную книгу!
sample_003 Книга рекомендована школьникам от пяти лет.
```
Рекомендации по сбору данных:
Объём:
минимальный – 30 минут чистого аудио;
рекомендуемый – 60 минут;
оптимальный – 90 минут и более.
Диктор:
один человек для одного амплуа;
естественная манера речи (без актёрской игры, если не требуется).
Запись:
в тихой комнате с акустической обработкой;
микрофон на расстоянии 15–30 см от рта;
отключение уведомлений и фоновых звуков.
Проверка качества:
Прослушать каждый фрагмент на наличие артефактов.
Сверять текст с аудио (ошибки снижают качество модели).
Использовать метрики:
WER (Word Error Rate) для распознавания речи;
MOS (Mean Opinion Score) для субъективной оценки.