База знаний
Silero Models — open-source модели речи на русском (TTS, STT, VAD)
Open-source библиотека готовых моделей речи от Silero Team: синтез (TTS), распознавание (STT) и детекция голоса (VAD). Особенно сильна на русском: 5 живых голосов, автоматические ударения, омографы, SSML и три частоты дискретизации. Подключается одной строкой через pip или torch.hub.
СейчасЧто входит в Silero Models
- Что входит в Silero Models
- Основные русские TTS-модели
- Вариант с лицензией MIT
- Установка и подключение
- Через пакет silero
- Через PyTorch Hub
- Локальный файл модели
- Управление речью через SSML
- Ручная постановка ударений
- Полезные сценарии
- Озвучка заметок и сценариев
- Локальный сервис синтеза
- Голосовой конвейер
- Работа с Silero через Codex
- Официальные ссылки
- Следующий шаг
- Связанные материалы
v5_5_ru работает локально на CPU или GPU, поддерживает пять голосов, автоматическую расстановку ударений, омографы, вопросительную интонацию и разметку управления речью (SSML).Что входит в Silero Models
Silero Models — официальный репозиторий готовых моделей речи. Основные варианты подключения:
- пакет
sileroиз PyPI; - загрузка через
torch.hub.load(); - локальный файл модели для автономного запуска.
Модели загружаются по запросу. После первой загрузки можно использовать локальный кеш или сохранённый файл модели, чтобы не загружать артефакт заново.
CC BY-NC 4.0; её условия ограничивают коммерческое использование. Модели v5_cis_base и v5_cis_base_nostress опубликованы под MIT.Данные и примеры ниже сверены с официальными источниками 9 сентября 2026 года.
Основные русские TTS-модели
В официальном каталоге TTS указана модель v5_5_ru. README проекта приводит следующую таблицу русских V5-моделей; полный список идентификаторов и адресов артефактов находится в models.yml.
Релиз v5.6 в GitHub относится к отдельной сборке SAPI5 для Windows. Для Python и PyTorch Hub идентификатор русской модели — v5_5_ru. Не переносите ограничения одной сборки на другую: в описании SAPI5-релиза вопросы пока не поддерживаются, а в таблице TTS-моделей для v5_5_ru поддержка вопросов указана.
| Модель | Голоса | Ударения / омографы / вопросы |
v5_5_ru | aidar, baya, kseniya, xenia, eugene | ✅ / ✅ / ✅ |
v5_4_ru | aidar, baya, kseniya, xenia | ✅ / ✅ / ✅ |
v5_3_ru | aidar, baya, kseniya, xenia, eugene | ✅ / ✅ / ❌ |
v5_2_ru | aidar, baya, kseniya, xenia, eugene | ✅ / ✅ / ❌ |
v5_ru | aidar, baya, kseniya, xenia, eugene | ✅ / ✅ / ❌ |
Каждая модель из таблицы поддерживает частоты дискретизации 8000, 24000 и 48000 Гц. Для обычной озвучки можно начать с 48000 Гц, затем проверить размер файла и требования целевой платформы.
Русские модели семейства V5 поддерживают:
- автоматическую расстановку ударений;
- выбор произношения омографов;
- SSML для пауз, скорости и высоты тона;
- вопросительную интонацию в
v5_4_ruиv5_5_ru.
Поддерживаемый русский алфавит: абвгдеёжзийклмнопрстуфхцчшщъыьэюя.
Вариант с лицензией MIT
Для коммерческих проектов рассмотрите v5_cis_base и v5_cis_base_nostress. Русские голоса в этих моделях используют префикс ru_. У них нет автоматического разрешения омографов, а правила ручной постановки ударений различаются:
v5_cis_baseожидает ударение в каждом слове для всех языков;v5_cis_base_nostressожидает ручные ударения только для славянских языков, включая русский.
Обе модели поддерживают частоты 8000, 24000 и 48000 Гц.
Установка и подключение
Для примеров через Python и PyTorch Hub нужна среда с PyTorch. Для V5 CIS на x86-64 официальный README отдельно указывает современный процессор с AVX2 как минимальное требование.
Через пакет silero
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install silero torchМинимальный пример:
from silero import silero_tts
model, example_text = silero_tts(
language='ru',
speaker='v5_5_ru',
)
audio = model.apply_tts(
text=example_text,
speaker='xenia',
sample_rate=48000,
)
print(type(audio), len(audio))Наблюдаемый признак успеха: модель загрузилась без исключения, а программа вывела тип и ненулевую длину аудиомассива.
Через PyTorch Hub
import torch
model, example_text = torch.hub.load(
repo_or_dir='snakers4/silero-models',
model='silero_tts',
language='ru',
speaker='v5_5_ru',
)
model.to(torch.device('cpu'))
path = model.save_wav(
text=example_text,
speaker='xenia',
sample_rate=48000,
)
print(path)При первом вызове PyTorch Hub скачает необходимые файлы. Последующие запуски могут использовать локальный кеш.
Локальный файл модели
Актуальный адрес артефакта указан в официальном models.yml:
curl -L -o v5_5_ru.pt https://models.silero.ai/models/tts/ru/v5_5_ru.ptПример автономной загрузки после скачивания:
import torch
model = torch.package.PackageImporter('v5_5_ru.pt').load_pickle(
'tts_models',
'model',
)
model.to(torch.device('cpu'))
path = model.save_wav(
text='Проверяем локальный синтез речи.',
speaker='baya',
sample_rate=48000,
)
print(path)Сначала выполните загрузку артефакта в среде с доступом к интернету. Затем перенесите файл вместе с проверенным Python-окружением в автономную среду.
Управление речью через SSML
Для SSML-разметки официальный пример использует отдельный параметр ssml_text.
ssml_text = '''
<speak>
Сегодня <prosody rate="slow">важная новость</prosody>.
<break time="500ms"/>
Продолжаем обычным темпом.
</speak>
'''
audio = model.apply_tts(
ssml_text=ssml_text,
speaker='kseniya',
sample_rate=48000,
)
print(type(audio), len(audio))Поддерживаемые элементы:
<speak>— корневой тег;<break time="500ms"/>— пауза заданной длительности;<break strength="strong"/>— пауза заданной силы; допустимыx-weak,weak,medium,strong,x-strong;<prosody rate="slow">…</prosody>— изменение скорости;<prosody pitch="high">…</prosody>— изменение высоты тона;<p>— параграф с паузой уровняx-strong;<s>— предложение с паузой уровняstrong.
Для rate предусмотрены значения x-slow, slow, medium, fast, x-fast; для pitch — x-low, low, medium, high, x-high.
Ручная постановка ударений
Если модель неверно произносит слово, поставьте знак + перед ударной гласной:
text = 'Стальной з+амок и навесной зам+ок — разные вещи.'
path = model.save_wav(
text=text,
speaker='xenia',
sample_rate=48000,
)Этот же синтаксис используется в CIS-моделях; для них ручные ударения могут быть обязательной частью входного текста согласно правилам выбранной модели.
Полезные сценарии
Озвучка заметок и сценариев
Задача: превратить один или несколько текстовых файлов в набор WAV-фрагментов или одну дорожку.
Исходные данные: тексты уже сохранены в файлах.
Действие: разделите длинный текст на предложения или абзацы, синтезируйте каждый фрагмент отдельно и объедините WAV-файлы.
Ограничение: проверьте границы фрагментов на слух, потому что автоматическая склейка может дать неестественные паузы.
Наблюдаемый результат: каждый фрагмент сохраняется как WAV, а после объединения получается единая дорожка.
Локальный сервис синтеза
Задача: принимать текст из внутреннего интерфейса, бота или HTTP-обработчика без повторной загрузки модели на каждый запрос.
Исходные данные: установленное Python-окружение, локальная модель и входной текст.
Действие: загрузите модель один раз при старте приложения и передавайте ей текст из обработчика.
Ограничение: подберите ограничение длины текста и размер очереди под своё оборудование; универсальный лимит для любой конфигурации в приведённых источниках не указан.
Наблюдаемый результат: обработчик возвращает WAV-файл или путь к нему после вызова save_wav.
Голосовой конвейер
Задача: собрать последовательность обработки «звук → текст → ответ → звук».
Исходные данные: аудиопоток и отдельные компоненты для определения речи, распознавания, прикладной логики и синтеза.
Действие: используйте схему VAD (определение участков речи) → STT (распознавание речи) → прикладная логика → TTS (синтез речи), проверяя каждый компонент отдельно.
Ограничение: не переносите сведения о поддерживаемых языках одного компонента на другой.
Проверяемый результат: каждый этап выдаёт ожидаемый промежуточный результат, а итоговый TTS-этап возвращает аудио.
models.yml раздел STT содержит модели для en, de, es и ua; раздела ru в снимке нет. Параметры VAD и STT проверяйте по документации конкретного компонента и его API перед сборкой конвейера.Работа с Silero через Codex
Codex CLI может исследовать локальный проект, создавать и изменять файлы, запускать установленные инструменты и проверять результат в пределах выданных разрешений. Для воспроизводимой задачи укажите модель, голос, частоту дискретизации, формат результата и способ проверки.
Пример задания:
v5_5_ru, голос xenia и частоту 48000 Гц. Скрипт должен принимать --text и --out, сохранять WAV, выводить итоговый путь и завершаться с ошибкой, если файл не создан или пуст. Перед установкой покажи план и используй отдельное виртуальное окружение.После выполнения проверьте:
- какая версия Python и PyTorch установлена;
- где сохранён файл модели или кеш;
- существует ли итоговый WAV и имеет ли он ненулевой размер;
- воспроизводится ли файл и подходит ли произношение;
- разрешает ли лицензия выбранной модели ваш сценарий.
Материал основан на официальной документации и снимках репозитория; приведённые команды в рамках этого редакторского прохода не запускались.
Официальные ссылки
- Репозиторий Silero Models
- README с вариантами подключения и таблицей моделей
- Каталог моделей и адреса артефактов
- Релизы Silero Models
- Документация по SSML
- Примеры TTS в Colab
- Документация Codex CLI
- Лицензия основного репозитория
- Лицензия CIS-моделей
- Telegram-чат проекта
Следующий шаг
FluidVoice — бесплатный open-source голосовой ввод для Mac
Связанные материалы
- Статья: Plaud × Notion: как мы построили устойчивый конвейер транскриптов через «серый» API
- Блог: Google запустил Gemini 3.1 Flash Live — и это первый серьёзный шаг к голосовым ИИ-агентам в реальном времени
- База знаний: Suno API — генерация музыки через AI
Если вы собираете локальный голосовой интерфейс или конвейер обработки речи, полезно заранее определить требования к задержке, лицензии и среде исполнения.
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov
Если хотите разобрать свою задачу — напишите мне Если хотите разобрать свою задачу — напишите мне.
Можно прийти с идеей, черновым контекстом или уже живой задачей. Помогу быстро понять, где реальный следующий шаг, а где лишний шум.
Обычно хватает 2–3 сообщений, чтобы понять, могу ли я здесь реально помочь и в каком формате лучше двигаться дальше.
Дальше по теме
gigastt — локальный STT-сервер на Rust: модель GigaAM v3, WebSocket и REST, диаризация и пунктуация, работа без облака и без API-ключей.