Skip to main content

High-performance Russian speech recognition library based on GigaAM-style RNN-T and ONNX.

Project description

image

Kairos Automatic Speech Recognition

PyPI Python Downloads License: MIT Hugging Face


Kairos ASR — высокопроизводительная библиотека распознавания русской речи на базе GigaAM-style RNN-T архитектуры и ONNX.

Проект сфокусирован на скорости, точности и удобстве интеграции в микросервисы и десктопные приложения.

📄 Описание


  • Оптимизированный ONNX-инференс
  • Работает на CPU и GPU (CUDA, extra [gpu])
  • Поддержка временных меток (word-level, sentence-level)
  • Итеративная обработка с выводом прогресса и ETA
  • Встроенный Voice-Activity-Detection (Silero VAD)
  • Поддержка длинных аудио
  • Простая установка и использование
  • Поддержка Windows и Linux

⚡ TL;DR

  • pip install kairos-asr
  • Запустить: kairos-asr transcribe example.wav или см. Python сниппет ниже.
  • Полное руководство: docs/USAGE.md.

📦 Установка

Веса доступны на Hugging Face: Alenkar/KairosASR

🖥️ Системные требования

  • ffmpeg должен быть доступен в PATH (используется для загрузки и ресемплинга аудио).
  • Доступ в интернет. При первом запуске скачиваются веса моделей с Hugging Face и модель Silero VAD.
  • Для ускорения скачиваний и избежания лимитов рекомендуется установить токен HF: export HF_TOKEN=... (или huggingface-cli login).

Быстрый старт (CPU)

pip install kairos-asr
Другие способы установки

Через GIT

pip install git+https://github.com/Alenkar/kairos-asr.git
# или
git clone https://github.com/Alenkar/kairos-asr.git
cd kairos-asr
pip install -e .

Поддержка GPU (CUDA)

  1. Пакет с GPU-опциями:
pip install "kairos-asr[gpu]"
  1. Torch/Torchaudio под вашу версию CUDA:
# пример под CUDA 12.1/12.2 (cu121)
pip install torch==2.6.0 torchaudio==2.6.0 \
  --index-url https://download.pytorch.org/whl/cu121 --upgrade

Найдите свой индекс (cu118, cu121 и т.д.) на pytorch.org и подставьте в команду.

🚀 Использование (Python)

Минимальный пример:

from kairos_asr import KairosASR

asr = KairosASR()  # авто-загрузка весов
result = asr.transcribe(wav_file="audio.wav")
print(result.full_text)

Требования к входному аудио:

  • Файлы, поддерживаемые ffmpeg; автоматический ресемплинг до 16 kHz.
  • Рекомендуется WAV PCM 16-bit, mono, 16 kHz; стерео приводится к моно.
  • Длинные записи режутся Silero VAD на ~15–25 c (жёсткий лимит ~30 c) и объединяются.

Использование (CLI)

Существует несколько команд для работы через терминал.

# Показать информацию
kairos-asr info

# Проверить окружение и вывести информацию
kairos-asr doctor

# Список моделей (показывает локальное наличие и путь)
kairos-asr list

# Скачать все модели
kairos-asr download

# Скачать только encoder
kairos-asr download encoder

# Перевести файл в текст
kairos-asr transcribe <wav_file>

🧠 Как работает


  1. VAD делит аудио на сегменты (до 25 секунд).
  2. Каждый сегмент преобразуется в Mel-spectrogram.
  3. RNN-T модель (Encoder + Predictor + Joint).
  4. Выравнивание слов по фреймам.
  5. Объединение сегментов в финальную разметку.

Архитектура и общий пайплайн вдохновлены проектом GigaAM.

📜 Лицензия и происхождение


Код

Часть исходного кода основана на проекте GigaAM и используется в соответствии с условиями лицензии MIT. Оригинальный проект GigaAM:

  • License: MIT
  • Copyright (c) 2024 GigaChat Team

Модели

Используемые веса моделей происходят из проекта GigaAM, но были:

  • конвертированы в формат ONNX,
  • оптимизированы для CPU/GPU-inference,
  • адаптированы для использования в Kairos ASR,
  • частично произведена тонкая настройка (Lora) на кастомных данных.

Права на исходные веса принадлежат правообладателям проекта GigaAM. Использование осуществляется в рамках лицензии MIT.

Если вы используете KairosASR в исследовательских или коммерческих целях — проверьте совместимость с лицензией оригинальной модели (GigaAM).

📊 Планы развития


  • Batch-inference.
  • Realtime-inference (микрофон) и чанки с ndarray.
  • Diarization (разделение спикеров).
  • Тесты.
  • Дальнейшее дообучение на специализированных данных.
  • Скрипт для Lora finetune на своих данных.
  • Увеличение Vocabulary.
  • Пакет для установки.
  • Веса на Hugging Face.

👤 Автор


Разработано и поддерживается: (Alexey Shimokhin / Alenkar).
Если вы используете Kairos ASR в своих проектах — ссылка или отзыв приветствуются.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kairos_asr-0.6.3.tar.gz (325.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kairos_asr-0.6.3-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

Details for the file kairos_asr-0.6.3.tar.gz.

File metadata

  • Download URL: kairos_asr-0.6.3.tar.gz
  • Upload date:
  • Size: 325.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for kairos_asr-0.6.3.tar.gz
Algorithm Hash digest
SHA256 3c469203972cfefcfa7ed309af7e10e019bdaed043b1c482b85dd1408fa65063
MD5 57c6f00c657a136dc9df2dc3430781fc
BLAKE2b-256 1cfe7cd4a786f5ac5db3d8671795caf75ac7d4c7e62dba5618dd8ce6e8f6f068

See more details on using hashes here.

File details

Details for the file kairos_asr-0.6.3-py3-none-any.whl.

File metadata

  • Download URL: kairos_asr-0.6.3-py3-none-any.whl
  • Upload date:
  • Size: 29.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for kairos_asr-0.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cc3b69107a0f676c39abeefba952f4bbb42f90a15f91b4853d4c8aab32e7daac
MD5 ee60b852abe119d4932d8244c977259d
BLAKE2b-256 6a329fcab2d72e6df25c537c2509eb3c519dd421b256bd8db4ee26d566e9a2d8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page