/ Модель

Характеристики

Контекст
2 048 токенов
Параметры
888 864
Лицензия
Apache 2.0
Архитектура
vits · dense
Опубликована
28 апр 2024

tts_ru_free_hf_vits_low_multispeaker

Синтез речиТекст → аудио3 профессии

Многоголосая VITS-модель UtrobinTTS синтезирует русскую речь из текста с выбором женского или мужского голоса.

385скачиваний за 30 дней28лайковвеса обновлены25 авг 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Синтез речи» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели сгенерируют результат по каждой задаче. Опубликованный тест появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Русская многоголосая модель синтеза речи UtrobinTTS на архитектуре VITS, опубликованная пользователем utrobinmv. Она преобразует обычный текст с пунктуацией в речь и не требует предварительно переводить текст в фонемы. Доступны два голоса: женский (идентификатор 0) и мужской (идентификатор 1); текст следует подавать в нижнем регистре.

Модель предназначена для синтеза русской речи. Для улучшения произношения автор рекомендует расставлять ударения перед гласными, например с помощью ruaccent. В метаданных указаны 888,9 тыс. параметров и форматы ONNX и safetensors; README приводит другой размер — 15,1 млн параметров. Лицензия — Apache-2.0.

Сценарии применения

  • озвучивание русского текста женским голосом
  • озвучивание русского текста мужским голосом
  • создание русской озвучки для приложений и прототипов

Ограничения

Поддерживается русский язык и два голоса; для корректного ударения автор рекомендует предварительно расставлять ударения. Текст следует подавать в нижнем регистре; размер модели в README и метаданных расходится.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Text to Speech Russian free multispeaker UtrobinTTS model

This is a multiple speakers text-to-speech model UtrobinTTS for the Russian language. It works on plain text with punctuation separation, and does not require prior conversion of the text into phonemes. The model with multiple speakers has two voices: 0 - woman, 1 - man.

The size of the model is only 15.1 million parameters.

The text accepts lowercase.

For better generation quality, we recommend putting accents in the text before the vowel letters.

We recommend using the "ruaccent" library for accentuation.

To install "ruaccent", use:

pip install -y ruaccent

For test inference use Spaces:

https://huggingface.co/spaces/utrobinmv/tts_ru_free_hf_vits_low_multispeaker

Usage example using PyTorch:

from transformers import VitsModel, AutoTokenizer, set_seed
import torch
import scipy
from ruaccent import RUAccent

device = 'cuda' #  'cpu' or 'cuda'

speaker = 0 # 0-woman, 1-man  

set_seed(555)  # make deterministic

# load model
model_name = "utrobinmv/tts_ru_free_hf_vits_low_multispeaker"

model = VitsModel.from_pretrained(model_name).to(device)
tokenizer = AutoTokenizer.from_pretrained(model_name)
model.eval()

# load accentizer
accentizer = RUAccent()
accentizer.load(omograph_model_size='turbo', use_dictionary=True, device=device)

# text
text = """Ночью двадцать третьего июня начал извергаться самый высокий 
действующий вулкан в Евразии - Кл+ючевской. Об этом сообщила руководитель 
Камчатской группы реагирования на вулканические извержения, ведущий 
научный сотрудник Института вулканологии и сейсмологии ДВО РАН Ольга Гирина.
«Зафиксированное ночью не просто свечение, а вершинное эксплозивное 
извержение стромболианского типа. Пока такое извержение никому не опасно: 
ни населению, ни авиации» пояснила ТАСС госпожа Гирина."""

# the placement of accents
text = accentizer.process_all(text)
print(text)
# н+очью дв+адцать тр+етьего и+юня н+ачал изверг+аться с+амый выс+окий 
# д+ействующий вулк+ан в евр+азии - ключевск+ой. об +этом сообщ+ила 
# руковод+итель камч+атской гр+уппы реаг+ирования на вулкан+ические
# изверж+ения, вед+ущий на+учный сотр+удник инстит+ута вулканол+огии
# и сейсмол+огии дво ран +ольга г+ирина. « зафикс+ированное н+очью не
# пр+осто свеч+ение, а верш+инное эксплоз+ивное изверж+ение 
# стромболи+анского т+ипа. пок+а так+ое изверж+ение ником+у не оп+асно:
# ни насел+ению, ни ави+ации » поясн+ила тасс госпож+а г+ирина.

inputs = tokenizer(text, return_tensors="pt")

with torch.no_grad():
    output = model(**inputs.to(device), speaker_id=speaker).waveform
    output = output.detach().cpu().numpy()
    
scipy.io.wavfile.write("tts_audio.wav", rate=model.config.sampling_rate,
                       data=output[0])

For displayed in a Jupyter Notebook / Google Colab:

from IPython.display import Audio

Audio(output, rate=model.config.sampling_rate)

Usage example using ONNX:

First copy the model.onnx file to the folder "tts_ru_free_hf_vits_low_multispeaker".

import numpy as np
import scipy
import onnxruntime
from ruaccent import RUAccent
from transformers import AutoTokenizer

speaker = 0 # 0-woman, 1-man

# load model
model_path = "tts_ru_free_hf_vits_low_multispeaker/model.onnx"

sess_options = onnxruntime.SessionOptions()
model = onnxruntime.InferenceSession(model_path, sess_options=sess_options)
tokenizer = AutoTokenizer.from_pretrained("utrobinmv/tts_ru_free_hf_vits_low_multispeaker")

# text
text = """Ночью двадцать третьего июня начал извергаться самый высокий 
действующий вулкан в Евразии - Кл+ючевской. Об этом сообщила руководитель 
Камчатской группы реагирования на вулканические извержения, ведущий 
научный сотрудник Института вулканологии и сейсмологии ДВО РАН Ольга Гирина.
«Зафиксированное ночью не просто свечение, а вершинное эксплозивное 
извержение стромболианского типа. Пока такое извержение никому не опасно: 
ни населению, ни авиации» пояснила ТАСС госпожа Гирина."""

# load accentizer
accentizer = RUAccent()
accentizer.load(omograph_model_size='turbo', use_dictionary=True)

# the placement of accents
text = accentizer.process_all(text)

# inference
inputs = tokenizer(text, return_tensors="np")
sid = np.array([speaker])
sampling_rate = 16000

output = model.run(
            None,
            {
                "input_ids": inputs['input_ids'],
                "attention_mask": inputs['attention_mask'],
                "sid": sid,
            },
        )[0]
        
scipy.io.wavfile.write("tts_audio.wav", rate=sampling_rate,
                       data=output[0])

For displayed in a Jupyter Notebook / Google Colab:

from IPython.display import Audio

Audio(output, rate=sampling_rate)

Languages covered

Russian (ru_RU)

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Можно запустить

Подбираем GPU…

Класс архитектуры
VitsModel
Ревизия весов
0e9a395

0 моделей