Перейти к содержанию

Установка

Библиотеку и команду stt-ru можно установить с помощью pip или из репозитория проекта через git. Готовый Docker-образ описан на странице Docker.

Зависимости

  • python - 3.11 и выше
  • onnx-asr - 0.12, с ONNX Runtime для CPU и загрузкой моделей с Hugging Face
  • numpy
  • soundfile

На Intel Mac и macOS старше 14 у ONNX Runtime есть сборки только до 1.23 и только для Python 3.11-3.13: Python 3.14 там не поддерживается, вместо него подойдет Docker-образ.

Установка с помощью pip

pip install stt-ru

Дополнительные возможности ставятся дополнениями:

Дополнение Что добавляет Пакеты
ffmpeg Форматы M4A, AAC, AMR, WMA, звук из видео и смену частоты без установленного ffmpeg imageio-ffmpeg
service Веб-интерфейс и REST API: команда stt-ru serve fastapi, uvicorn, python-multipart
eval Оценку качества: команда stt-ru evaluate jiwer
pip install "stt-ru[ffmpeg,service,eval]"

Или с помощью uv:

uv add "stt-ru[ffmpeg]"

ffmpeg

WAV, FLAC, OGG (в том числе Opus), MP3, AIFF, AU, CAF и W64 читает библиотека soundfile. M4A, AAC, AMR, WMA, звуку из видео, записям с частотой, которую модель не принимает, и файлам без длины записи в заголовке нужен ffmpeg. stt-ru ищет его в PATH, затем в пакете imageio-ffmpeg из дополнения ffmpeg; путь можно задать параметром --ffmpeg. Если ffmpeg нужен, но не найден, файл не распознается, а в сообщении будет подсказка, что установить.

Модели

Модель скачивается с Hugging Face при первом распознавании и хранится в его кэше: модель по умолчанию gigaam-v3-e2e-rnnt в квантизации int8 вместе с Silero VAD занимает около 230 МБ. Кэш лежит в ~/.cache/huggingface, другой каталог задает переменная окружения HF_HOME:

export HF_HOME=/data/models

Модель из кэша работает без сети. Для компьютера без интернета скопируйте на него весь каталог кэша - в нем и модель, и Silero VAD - и укажите его в HF_HOME (см. также Модели).

GPU и другие устройства

По умолчанию модель работает на CPU через пакет onnxruntime. Для других устройств его заменяют другой сборкой ONNX Runtime: для NVIDIA GPU - той же версии, для DirectML - последней (onnx-asr работает с ONNX Runtime 1.18.1 и новее):

Устройство --device Пакет Условия
NVIDIA GPU cuda onnxruntime-gpu CUDA 13 и cuDNN 9 для ONNX Runtime 1.31
DirectML (Windows) directml onnxruntime-directml Windows 10 и новее
Apple CoreML coreml onnxruntime для macOS только явно: на этих моделях CoreML медленнее CPU

Замена для NVIDIA GPU:

pip show onnxruntime | grep Version    # версия, например 1.31.0
pip uninstall -y onnxruntime
pip install onnxruntime-gpu==1.31.0

Установка или обновление stt-ru и его дополнений (pip install "stt-ru[service]", pip install -U stt-ru) снова ставит onnxruntime поверх GPU-сборки, и распознавание молча переходит на CPU. Ставьте дополнения до замены и повторяйте замену после каждого обновления.

Требования сборок ONNX Runtime к драйверам и библиотекам - в документации ONNX Runtime. По умолчанию (--device auto) stt-ru берет доступные устройства в порядке приоритета ONNX Runtime - GPU раньше CPU, - кроме CoreML и TensorRT; недоступное устройство, указанное явно, - ошибка с подсказкой, какой пакет поставить. Для NVIDIA GPU есть готовый Docker-образ.

Установка с помощью git

Последняя версия из репозитория проекта:

git clone https://github.com/SergeyShk/Speech-to-Text-Russian.git
cd Speech-to-Text-Russian
pip install ".[ffmpeg,service,eval]"

Для разработки удобнее uv: он создаст окружение со всеми зависимостями и инструментами разработки.

uv sync --all-groups --no-group notebooks --all-extras

Порядок работы и проверки перед пул-реквестом описаны в CONTRIBUTING.md.