Instructions to use GermannM/Prophet-TTS-ru with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- F5-TTS
How to use GermannM/Prophet-TTS-ru with F5-TTS:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
Кенга / Пророк — F5-TTS, русский голос
F5-TTS (DiT, F5TTS_v1_Base), дообученный на русском Common Voice и адаптированный под один конкретный мужской голос.
Это не универсальная модель: она заточена под голос, на котором дообучалась, и звучит тем же голосом при любом входном тексте. Поддерживается только русский язык (плюс латиница и цифры).
Состав репозитория
| Файл | Что это |
|---|---|
model.safetensors |
веса модели (EMA, fp32, 1286 МБ) |
vocab.txt |
кастомный словарь модели, 2544 символа. Обязателен, без него модель не запустится |
F5TTS_v1_Base.yaml |
конфигурация архитектуры (DiT dim 1024, depth 22, mel 100 каналов, vocos) |
Как запустить
Нужен F5-TTS и vocoder charactr/vocos-mel-24khz.
pip install f5-tts
import os
import torch
from hydra.utils import get_class
from importlib.resources import files
from omegaconf import OmegaConf
from huggingface_hub import hf_hub_download
from f5_tts.infer.utils_infer import infer_process, load_model, load_vocoder
repo = "GermannM/Prophet-TTS-ru"
device = "cuda" if torch.cuda.is_available() else "cpu"
ckpt = hf_hub_download(repo, "model.safetensors")
vocab = hf_hub_download(repo, "vocab.txt")
config_path = hf_hub_download(repo, "F5TTS_v1_Base.yaml")
cfg = OmegaConf.load(config_path)
model_cls = get_class(f"f5_tts.model.{cfg.model.backbone}")
model = load_model(
model_cls,
cfg.model.arch,
ckpt,
mel_spec_type="vocos",
vocab_file=vocab,
device=device,
)
vocoder = load_vocoder(vocoder_name="vocos", device=device)
audio, sr, _ = infer_process(
ref_audio="reference.wav", # 5-11 секунд чистой речи
ref_text="Точный текст референса.",
gen_text="Любой текст, который нужно озвучить этим голосом.",
model_obj=model,
vocoder=vocoder,
mel_spec_type="vocos",
cfg_strength=2.0,
nfe_step=32,
sway_sampling_coef=0.0,
speed=1.0,
fix_duration=None,
device=device,
)
reference.wav — это не голос, который нужно клонировать: референс задаёт просодию и тембр, а сам голос зашит в веса. Подойдёт любой отрезок чистой мужской речи на русском, 5-11 секунд, с точным текстом.
Параметры, которые стоит крутить
speed— 0.8-1.2, темп речиcfg_strength— 1.5-2.5, ниже ближе к естественности, выше к стабильности артикуляцииnfe_step— 32 достаточно, 64 для экспериментовtorch.manual_seed(N)— фиксирует результат, можно перебрать несколько вариантов
Как обучалась
- Common Voice ru — 5142 клипа, 8.45 часа, ~30k update, F5TTS_v1_Base
- Голос — 51 сегмент, ~7 минут, 60 эпох, 1560 update, финальный loss ~0.5
Качество ограничено вторым этапом: 7 минут — нижняя граница для клонирования. Планируется добирать материал до 15-30 минут.
Ограничения
- Только русский язык
- Один голос, не универсальная модель
- Требует
vocab.txtиз этого же репозитория - 5-7 минут референса вместо обучения — качество зависит от чистоты записи
- Downloads last month
- 10
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support