Читать книгу Генерация голоса с помощью 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) для субъективной оценки.

Генерация голоса с помощью ComfyUI

Подняться наверх