High-performance Russian speech recognition library based on GigaAM-style RNN-T and ONNX.
Project description
Kairos Automatic Speech Recognition
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)
- Пакет с GPU-опциями:
pip install "kairos-asr[gpu]"
- 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>
🧠 Как работает
- VAD делит аудио на сегменты (до 25 секунд).
- Каждый сегмент преобразуется в Mel-spectrogram.
- RNN-T модель (Encoder + Predictor + Joint).
- Выравнивание слов по фреймам.
- Объединение сегментов в финальную разметку.
Архитектура и общий пайплайн вдохновлены проектом 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c469203972cfefcfa7ed309af7e10e019bdaed043b1c482b85dd1408fa65063
|
|
| MD5 |
57c6f00c657a136dc9df2dc3430781fc
|
|
| BLAKE2b-256 |
1cfe7cd4a786f5ac5db3d8671795caf75ac7d4c7e62dba5618dd8ce6e8f6f068
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc3b69107a0f676c39abeefba952f4bbb42f90a15f91b4853d4c8aab32e7daac
|
|
| MD5 |
ee60b852abe119d4932d8244c977259d
|
|
| BLAKE2b-256 |
6a329fcab2d72e6df25c537c2509eb3c519dd421b256bd8db4ee26d566e9a2d8
|