Universal TTS Guide

A comprehensive guide to TTS dataset prep and training

View on GitHub

Универсално ръководство за обучение на TTS модели и подготовка на данни

Налични езици

Искате да допринесете с превод? Вижте Ръководството за превод.

Въведение

Добре дошли! Това изчерпателно ръководство предоставя универсален процес за подготовка на собствени речеви набори от данни и обучение на персонализиран Text-to-Speech (TTS) модел. Независимо дали имате малък набор от данни (напр. 10 часа) или по-голям (над 100 часа), тези стъпки ще ви помогнат да организирате правилно данните си и да се ориентирате в процеса на обучение за повечето съвременни TTS рамки.

Цел: Да ви даде възможност да настроите или обучите TTS модел за конкретен глас или език, използвайки собствени аудио-текстови двойки.

Какво обхваща това ръководство: Това ръководство е разделено на няколко части, обхващащи целия работен процес от планирането до използването на обучения модел:

  1. Планиране: Първоначални съображения преди започване на проекта.
  2. Подготовка на данните: Придобиване, обработка и структуриране на аудио и текстови данни.
  3. Настройка за обучение: Подготовка на средата и конфигуриране на параметрите за обучение.
  4. Обучение на модела: Стартиране, наблюдение и фина настройка на TTS модела.
  5. Извеждане: Използване на обучения модел за синтезиране на реч.
  6. Пакетиране и споделяне: Организиране и документиране на модела за бъдеща употреба или разпространение.
  7. Отстраняване на проблеми и ресурси: Често срещани проблеми и полезни инструменти.

0. Преди да започнете: Планиране на вашия набор от данни

Преди да събирате данни, обмислете тези важни точки, за да гарантирате, че проектът ви е добре дефиниран и постижим:

  1. Говорител: Ще бъде ли един говорител или няколко? Наборите от данни с един говорител са по-прости за начало при фина настройка или първоначално обучение. Моделите с много говорители изискват внимателно балансиране на данните и управление на ID на говорителите.
  2. Източник на данни: Откъде ще вземете аудиото? (Аудиокниги, подкасти, радио архиви, професионално записани гласови данни, ваши собствени записи). Изключително важно е да се уверите, че имате необходимите права или лицензи за използване на данните за обучение на модели.
  3. Качество на аудиото: Стремете се към възможно най-високо качество. Приоритизирайте чисти записи с минимален фонов шум, реверберация, музика или припокриваща се реч. Последователността в условията на запис е много полезна.
  4. Език и домейн: На какъв език (езици) ще говори моделът? Какъв е стилът на говорене или домейнът (напр. разказ, разговорен, четене на новини)? Моделът ще работи най-добре с текст, подобен на данните за обучение.
  5. Целево количество данни: Колко данни планирате да съберете или използвате?
    • ~1-5 часа: Може да е достатъчно за основно клониране на глас, ако използвате силен предварително обучен модел, но качеството може да бъде ограничено.
    • ~5-20 часа: Обикновено се счита за минимума за прилична фина настройка на конкретен глас върху предварително обучен модел.
    • 50-100+ часа: По-добре за обучение на стабилни модели или обучение на модели с по-малка зависимост от предварително обучени тегла, особено за по-малко разпространени езици.
    • 1000+ часа: Необходими за обучение на висококачествени модели с общо предназначение, предимно от нулата.
  6. Честота на семплиране: Решете рано за целева честота на семплиране (напр. 16000 Hz, 22050 Hz, 44100 Hz, 48000 Hz). По-високите честоти улавят повече детайли, но изискват повече пространство за съхранение и изчислителна мощност. Всички ваши данни за обучение ТРЯБВА последователно да използват избраната честота. 22050 Hz е често срещан баланс за много TTS модели.

Преглед на процеса и навигация

Това ръководство е разделено на фокусирани модули. Следвайте връзките по-долу за подробни стъпки за всяка фаза:

  1. ➡️ Подготовка на данни
    • Обхваща придобиване, почистване, сегментиране, нормализиране на аудио, транскрибиране на текст и създаване на необходимите манифест файлове за обучение. Включва важния контролен списък за качество на данните.
  2. ➡️ Настройка за обучение
    • Води ви през настройката на вашата Python среда, инсталирането на зависимости (като PyTorch с CUDA), избора на TTS рамка и конфигурирането на параметрите за обучение във вашия конфигурационен файл.
  3. ➡️ Обучение на модела
    • Обяснява как да стартирате скрипта за обучение, да наблюдавате напредъка му (загуба, валидация), да възобновите прекъснато обучение и предоставя конкретни съвети за фина настройка на съществуващи модели.
  4. ➡️ Извеждане
    • Подробно описва как да използвате вашия обучен модел за синтезиране на реч от нов текст, включително единично изречение, пакетна обработка и съображения за много говорители.
  5. ➡️ Пакетиране и споделяне
    • Предоставя най-добри практики за организиране на файловете на вашия обучен модел (контролни точки, конфигурации, примери), документирането им с README, версиониране и подготовката им за споделяне или архивиране.
  6. ➡️ Отстраняване на проблеми и ресурси
    • Предлага решения за често срещани проблеми, възникващи по време на обучение и извеждане, и изброява полезни външни инструменти, библиотеки и общности.

Заключение

Следвайки тези ръководства, ще придобиете цялостно разбиране за работния процес за подготовка на данни и обучение на ваши собствени Text-to-Speech модели. Не забравяйте, че прецизната подготовка на данни е основата за висококачествен глас, а процесът на обучение често включва итеративно усъвършенстване.

Сега продължете към съответния раздел въз основа на това къде се намирате в жизнения цикъл на вашия проект. Успех в изграждането на вашите персонализирани гласове! 🚀

Принос

Приносите за подобряване на това ръководство са добре дошли! Независимо дали намирате печатни грешки, неточности, имате предложения за по-ясни обяснения, искате да добавите информация за конкретни инструменти или рамки, или имате идеи за нови раздели, вашият принос е ценен.

Моля, не се колебайте да:

Оценяваме всяко усилие да направим това ръководство по-точно, изчерпателно и полезно за общността!

Речник на техническите термини

Този речник обяснява ключови технически термини, използвани в ръководствата, за да помогне на новодошлите да разберат терминологията:

Ръководство за превод

Приветстваме преводи на това ръководство, за да го направим достъпно за по-широка аудитория. Ако искате да допринесете с превод, моля, следвайте тези стъпки:

  1. Форкнете хранилището във вашия собствен GitHub акаунт
  2. Създайте необходимата директорна структура за вашия език:
    languages/[language_code]/
    ├── README.md
    └── guides/
        ├── 1_DATA_PREPARATION.md
        ├── 2_TRAINING_SETUP.md
        └── ... (всички файлове на ръководството)
    

    Където [language_code] е ISO 639-1 двубуквеният код за вашия език (напр. bg за български)

  3. Преведете съдържанието, започвайки с README.md и след това отделните файлове на ръководството
    • Поддържайте същата файлова структура и Markdown форматиране
    • Запазете всички примери с код непроменени (те трябва да останат на английски)
    • Преведете всички обяснителни текстове, заглавия и коментари
  4. Актуализирайте навигационните връзки, за да сочат към правилните файлове във вашата езикова директория

  5. Изпратете Pull Request с вашия превод

Важни бележки за преводачите:

Лиценз

Съдържанието в това ръководство е лицензирано под Creative Commons Attribution 4.0 International License. Вие сте свободни да споделяте и адаптирате материала, стига да предоставите подходящо признание. Съдържанието също е защитено с авторски права на 2025 AcTePuKc и всички нови приноси ще бъдат подчинени на същия лиценз.