Продолжаем.
Теперь напишем сам скрипт, который читает текст и превращает его в голос.
Создаём файл voice.py.
Сначала базовые импорты и загрузка текста:
from TTS.api import TTS
import torch
from config import *
text = open('text.txt', 'r', encoding='utf-8').read()
Теперь инициализация модели:
print("🔄 Загрузка модели...")
tts = TTS(
CONFIG["model"],
progress_bar=True,
gpu=torch.cuda.is_available()
)
🗣И вот самый главный кусок — генерация аудио:
print("🎤 Генерация аудио...")
tts.tts_to_file(
text=text,
file_path=CONFIG["output_file"],
speaker_wav=CONFIG["speaker_wav"],
language=CONFIG["language"],
temperature=CONFIG["temperature"],
length_penalty=CONFIG["length_penalty"],
repetition_penalty=CONFIG["repetition_penalty"],
top_k=CONFIG["top_k"],
top_p=CONFIG["top_p"],
speed=CONFIG["speed"],
enable_text_splitting=CONFIG["enable_text_splitting"]
)
Если всё ок — после запуска появится файл result.wav.
Что важно:
❗️ speaker_wav сильно влияет на результат
❗️ короткий, чистый голос работает лучше
❗️ параметры можно крутить бесконечно (и это кайф)
В следующем посте:
💎 как запускать это стабильно
💎 как адаптировать под ChatterBox
💎 и где чаще всего всё ломается 🙂
