Распознавание русской речи: библиотека Python, команда stt-ru, веб-сервис и Docker-образ
Translation pending
Developer toolsJupyter Notebook · PythonGitHub @SergeyShkOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Распознавание русской речи: библиотека Python, команда stt-ru, веб-интерфейс с REST API и Docker-образ на модели GigaAM-v3.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Speech-to-Text Russian - распознавание русской речи: библиотека Python, команда, веб-сервис и Docker-образ stt-ru распознает русскую речь в записях разговоров, лекций и диктовки. Речь распознает модель GigaAM-v3 через onnx-asr: текст получается с пунктуацией и числами, каналы стереозаписи распознаются как отдельные говорящие, результат сохраняется в субтитры и таблицы. Модель работает на CPU без PyTorch, на GPU NVIDIA - через ONNX Runtime.Read the full README ↗
stt-ru распознает русскую речь в записях разговоров, лекций и диктовки. Речь распознает модель GigaAM-v3 через onnx-asr: текст получается с пунктуацией и числами, каналы стереозаписи распознаются как отдельные говорящие, результат сохраняется в субтитры и таблицы. Модель работает на CPU без PyTorch, на GPU NVIDIA - через ONNX Runtime.
Требуется Python 3.11 или новее.
pip install stt-ru
Или с помощью uv:
uv add stt-ru
Дополнения: ffmpeg - форматы M4A, AAC, звук из видео без установленного ffmpeg; service - веб-интерфейс и REST API; eval - оценка качества. Все сразу:
pip install "stt-ru[ffmpeg,service,eval]"
Модель (около 230 МБ) скачивается с Hugging Face при первом запуске. GPU и работа без интернета - на странице Установка.
stt-ru transcribe call.wav # текст в консоль
stt-ru transcribe calls/ -o out/ -f srt,ass,csv --summary out/all.csv
stt-ru transcribe calls/ -o out/ --watch # мониторинг папки
stt-ru evaluate eval.csv -m gigaam-v3-e2e-rnnt -m t-tech/t-one # сравнение моделей
stt-ru serve # http://127.0.0.1:8000
>>> from stt_ru import Transcriber
>>> result = Transcriber().transcribe("call.wav")
>>> for segment in result.segments:
... print(segment.speaker, segment.start, segment.end, segment.text)
Канал 1 0.994 9.054 Наталья, благодарю вас за ожидание. По данному вопросу я сейчас ваш звонок переведу на специалиста профильного подразделения. Оставайтесь, пожалуйста, на линии.
Канал 0 3.49 3.934 Угу
Канал 0 7.682 8.222 Угу
Канал 1 9.634 12.638 Я в свою очередь с вами прощаюсь. Всего доброго, до свидания.
Канал 0 12.994 13.662 До свидания.
>>> result.save("call.srt")
PosixPath('call.srt')
Ноутбуки с примерами - в каталоге notebooks/: быстрый старт, аналитика звонка, длинная запись и субтитры, оценка моделей, веб-сервис из Python. Каждый открывается в Colab, описания - на странице Примеры.
docker run -d -p 8000:8000 -e STT_RU_TOKEN=my-secret-token ghcr.io/sergeyshk/stt-ru # веб-сервис
docker run --rm -v "$PWD:/data" ghcr.io/sergeyshk/stt-ru transcribe call.wav # один файл
docker run -d --gpus all -p 8000:8000 -e STT_RU_TOKEN=my-secret-token ghcr.io/sergeyshk/stt-ru:latest-gpu
Модель по умолчанию уже в образе: контейнер распознает без сети. Тома, права на запись, Compose и требования GPU-образа - на странице Docker.
Проект использует uv для управления зависимостями и ruff для линтинга и форматирования.
git clone https://github.com/SergeyShk/Speech-to-Text-Russian.git
cd Speech-to-Text-Russian
make deps # создать окружение и установить зависимости
make test # запустить тесты и примеры из докстрингов (doctest)
make lint # ruff + mypy
make docker # собрать Docker-образ
Полный список команд - make help. Документация двуязычная: русские страницы docs/*.md, английские - docs/*.en.md рядом с ними; при правке страницы обновляйте обе версии.
Перед отправкой изменений стоит установить хуки, которые прогонят линтеры на коммите и тесты на пуше:
uv run pre-commit install
Баг-репорты, идеи и пул-реквесты приветствуются - issues открыты. Как устроен процесс и что проверить перед отправкой пул-реквеста - в CONTRIBUTING.md; правила общения - в кодексе поведения.
stt-ruКод распространяется под лицензией MIT. Модель GigaAM-v3 распространяется под лицензией MIT; у других моделей onnx-asr - свои лицензии.