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
-
Safetensors
Model size
2B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for ArtShtorm/Shtorm-VoxCPM2-RU

Base model

openbmb/VoxCPM2
Finetuned
(34)
this model