Universal TTS Guide

A comprehensive guide to TTS dataset prep and training

View on GitHub

Ръководство 5: Пакетиране и споделяне на вашия TTS модел

Навигация: Главно README Предишна стъпка: Извеждане   Следваща стъпка: Отстраняване на проблеми и ресурси

Вие сте обучили модел и можете да генерирате реч с него. Поздравления! За да гарантирате, че моделът ви ще бъде използваем в бъдеще (от вас или от други) и за да улесните възпроизводимостта, правилното пакетиране и документация са от съществено значение.


9. Пакетиране на вашия обучен модел

Мислете за вашия обучен модел не просто като за един .pth файл, а като за пълен пакет, съдържащ всичко необходимо за разбиране и използване.

9.1. Организирайте вашите файлове на модела

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

Примерна структура:

my_tts_model_packages/
└── bulgarian_male_v1.0/         # Описателно име за този пакет на модела
    ├── checkpoints/          # Директория за тегла на модела
    │   ├── best_model.pth    # Контролна точка с най-ниска загуба при валидация (или най-добро възприемано качество)
    │   └── last_model.pth    # Контролна точка от самия край на обучението (по избор, но понякога полезна)
    │
    ├── config.yaml           # ТОЧНИЯТ конфигурационен файл, използван за обучение на ТАЗИ контролна точка
    │
    ├── training_info.md      # По избор: Файл с подробни дневници/бележки за обучението
    │   ├── train_list.txt    # Копие на файла с манифест за обучение, който е използван
    │   └── val_list.txt      # Копие на файла с манифест за валидация, който е използван
    │
    ├── samples/              # Директория с примерно аудио, генерирано от този модел
    │   ├── sample_short_sentence.wav
    │   ├── sample_question.wav
    │   └── sample_longer_paragraph.wav
    │
    └── README.md             # Съществено: Документация, четима от човек, за този конкретен пакет на модела

Обяснение на ключовите компоненти:

9.2. Писане на добър README.md за модела

Този README е специфичен за този пакет на модела, а не за цялостното ръководство на проекта. Той трябва да казва на всеки (включително на бъдещия вас) всичко, което трябва да знае, за да използва модела.

Минимален шаблон:

# TTS Пакет на модела: Български мъжки глас v1.0

## Описание на модела
- **Глас:** Ясен, възрастен мъжки глас, говорещ на български.
- **Качество на изходните данни:** Обучен на ~25 часа чисти записи от радио предавания.
- **Език(ци):** Български (основно). Може да има ограничена обработка на английски заемки въз основа на данните за обучение.
- **Стил на говорене:** Формален, наративен/радиоводещ стил.
- **Архитектура на модела:** [Посочете рамка/архитектура, напр. StyleTTS2, VITS]
- **Версия:** 1.0

## Детайли за обучението
- **Базиран на:** Фино настроен от [Посочете базов модел, напр. предварително обучен LibriTTS модел] ИЛИ Обучен от нулата.
- **Данни за обучение:** Вижте включените `train_list.txt` и `val_list.txt`. Общо часове: ~25ч.
- **Ключова конфигурация за обучение:** Вижте включения `config.yaml`.
- **Честота на семплиране:** 22050 Hz (Входното аудио трябва да съответства на тази честота за някои рамки).
- **Време за обучение:** Приблизително 48 часа на 1x NVIDIA RTX 3090.
- **Информация за контролната точка:** `best_model.pth` избран въз основа на най-ниската загуба при валидация на стъпка [XXXXX].

## Как да се използва за извеждане
1.  **Предпоставки:** Уверете се, че имате инсталирана [Посочете името на TTS рамката, напр. StyleTTS2], съвместима с тази версия на модела.
2.  **Конфигурация:** Използвайте включения `config.yaml`.
3.  **Контролна точка:** Заредете файла `checkpoints/best_model.pth`.
4.  **Входен текст:** Предоставете обикновен текстов вход. Нормализацията на текста, съответстваща на данните за обучение (напр. разширяване на числата), може да подобри резултатите.
5.  **ID на говорителя (ако е приложимо):** Това е модел с един говорител. Използвайте ID на говорителя `[Посочете използваното ID, напр. main_speaker]`, ако се изисква от рамката, в противен случай може да не е необходимо.
6.  **Очакван изход:** Аудиото ще бъде генерирано с честота на семплиране 22050 Hz.

## Аудио примери
Слушайте примери, генерирани от този модел:
- [Кратко изречение](./samples/sample_short_sentence.wav)
- [Въпрос](./samples/sample_question.wav)
- [По-дълъг параграф](./samples/sample_longer_paragraph.wav)

## Известни ограничения / Бележки
- Производителността може да се влоши при текст, значително различен от домейна на радио предаванията.
- Не моделира изрично нюансирани емоции.
- [Добавете всякакви други релевантни наблюдения]

## Лицензиране
- **Тегла на модела:** [Посочете лиценз, напр. CC BY-NC-SA 4.0, Само за изследователска/некомерсиална употреба, MIT лиценз - Бъдете точни!]
- **Изходни данни:** [Споменете ограниченията на лиценза на изходните данни, ако те влияят върху използването на модела, напр. "Обучен на собствени данни, модел само за вътрешна употреба."] **Консултирайте се с лиценза на вашите данни за обучение!**

9.3. Съвети за версиониране на модела

Третирайте вашите обучени модели като софтуерни издания.

9.4. Съображения за споделяне и разпространение

Ако планирате да споделите вашия модел:


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

Следваща стъпка: Отстраняване на проблеми и ресурси | Обратно към началото