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
pip install kairos-asr[gpu]- Запустить:
kairos-asr transcribe example.wavили см. Python сниппет ниже. - Полное руководство:
docs/USAGE.md.
Веса доступны на Hugging Face: Alenkar/KairosASR
ffmpegдолжен быть доступен вPATH(используется для загрузки и ресемплинга аудио).- Доступ в интернет. При первом запуске скачиваются веса моделей.
- Для ускорения скачиваний и избежания лимитов рекомендуется установить токен HF:
export HF_TOKEN=...(илиhuggingface-cli login).
pip install kairos-asr[cpu]- Пакет с GPU-опциями:
pip install kairos-asr[gpu]- Torch/Torchaudio под вашу версию CUDA:
# пример под CUDA 12.1/12.2 (cu121)
pip install torch==2.5.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu121 --upgradeНайдите свой индекс (cu118, cu121 и т.д.) на pytorch.org и подставьте в команду.
Минимальный пример:
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) и объединяются.
Существует несколько команд для работы через терминал.
# Показать информацию
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 в своих проектах — ссылка или отзыв приветствуются.
