Instructions to use ArtShtorm/Shtorm-VoxCPM2-RU with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- VoxCPM
How to use ArtShtorm/Shtorm-VoxCPM2-RU with VoxCPM:
import soundfile as sf from voxcpm import VoxCPM model = VoxCPM.from_pretrained("ArtShtorm/Shtorm-VoxCPM2-RU") wav = model.generate( text="VoxCPM is an innovative end-to-end TTS model from ModelBest, designed to generate highly expressive speech.", prompt_wav_path=None, # optional: path to a prompt speech for voice cloning prompt_text=None, # optional: reference text cfg_value=2.0, # LM guidance on LocDiT, higher for better adherence to the prompt, but maybe worse inference_timesteps=10, # LocDiT inference timesteps, higher for better result, lower for fast speed normalize=True, # enable external TN tool denoise=True, # enable external Denoise tool retry_badcase=True, # enable retrying mode for some bad cases (unstoppable) retry_badcase_max_times=3, # maximum retrying times retry_badcase_ratio_threshold=6.0, # maximum length restriction for bad case detection (simple but effective), it could be adjusted for slow pace speech ) sf.write("output.wav", wav, 16000) print("saved: output.wav") - Notebooks
- Google Colab
- Kaggle
Shtorm-VoxCPM2-RU
версия от Shtorm — русская VoxCPM2 с управляемыми ударениями. VoxCPM2 с запечённой LoRA, которая учит модель ставить ударения по меткам в тексте: + перед ударной гласной.
Грузится как обычная VoxCPM2, без адаптеров и дополнительного кода.
VoxCPM2 fine-tune (merged LoRA) that follows explicit Russian stress marks: + before the stressed vowel.
Статус
Экспериментальная версия «как есть». Формальных замеров нет — проверялась на слух на наборах омографов, намеренно неправильных ударений и реальных текстах, на нескольких голосах.
Как размечать текст
+перед ударной гласной:зам+ок,стрелк+и,м+олоко.- Односложные слова желательно не размечать (
как,не,вы,мне): в обучении меток на них не было, и модель читает такую метку как выделение слова — речь становится растянутой. ёне размечать — она всегда ударная.- Числа, даты, сокращения — словами до подачи в модель (нормализатор отключается, см. ниже).
- Метки удобно расставлять автоакцентором (например, RUAccent) и потом снимать с односложных слов.
- Без меток модель читает как обычная VoxCPM2.
Использование
from voxcpm import VoxCPM
import soundfile as sf
model = VoxCPM.from_pretrained("ArtShtorm/Shtorm-VoxCPM2-RU", load_denoiser=False)
wav = model.generate(
text="Мы купили м+олоко, а на двери висел зам+ок.",
cfg_value=2.0,
inference_timesteps=10,
normalize=False, # обязательно: встроенный нормализатор может испортить метки
)
sf.write("out.wav", wav, model.tts_model.sample_rate)
Клонирование голоса (рекомендуется Hi-Fi)
Референс 5–15 с чистой речи + его дословный текст (без меток) — голос стабилен между предложениями:
wav = model.generate(
text="Стр+елки час+ов показывали полночь.",
reference_wav_path="voice.wav",
prompt_wav_path="voice.wav",
prompt_text="Точный текст того, что звучит в voice.wav.",
cfg_value=2.0,
inference_timesteps=10,
normalize=False,
)
Длинный текст лучше озвучивать по предложениям с одним и тем же референсом и склеивать.
Ограничения
- Изредка случайные сбои произношения отдельного слова — помогает перегенерация с другим сидом.
- Ошибки в разметке озвучиваются как написано: качество ударений зависит от того, кто их расставил.
- На отдельных словах в отдельных контекстах модель может держаться привычного ударения.
- Проверено на ограниченном числе голосов; на сильно непохожих референсах — проверять.
Лицензия
Apache-2.0, как у базовой модели openbmb/VoxCPM2. Спасибо команде OpenBMB за VoxCPM.
- Downloads last month
- 21
Model tree for ArtShtorm/Shtorm-VoxCPM2-RU
Base model
openbmb/VoxCPM2