You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RustASR — это высокопроизводительная библиотека и CLI-утилита для автоматического распознавания речи (ASR), написанная на языке Rust.
Проект использует современные архитектурные подходы (Candle, Qwen3-ASR) для обеспечения локальной работы нейросетей на CPU и GPU (Apple Silicon) без внешних зависимостей (Python, Torch).
2. Цели Продукта
Локальность: Полная работа на устройстве пользователя, отсутствие передачи аудио в облако.
Производительность: Использование аппаратного ускорения (Metal/Accelerate) через фреймворк candle.
Совместимость: Поддержка моделей формата Qwen3-ASR (AuT Encoder).
Простота интеграции: Предоставление как CLI-инструмента, так и библиотеки (crate) для встраивания в другие Rust-приложения.
3. Пользовательские Истории (User Stories)
Как разработчик, я хочу использовать крейт rust-asr в своем приложении, чтобы добавить функцию голосового ввода без запуска Python-серверов.
Как исследователь, я хочу запускать инференс модели Qwen3-ASR через консоль для экспериментов с различными аудиофайлами.
Как пользователь, я хочу, чтобы распознавание работало быстро (Real-time factor < 1.0) на моем MacBook.
4. Функциональные Требования
4.1. Библиотека (Core)
Загрузка предобученных моделей Qwen3-ASR (формат .safetensors).
Поддержка токенизации (текстовой и специальной для аудио).
Обработка аудио: прием RAW PCM (float32) и конвертация в Mel-спектрограммы (128 bins).
Инференс энкодера AuT (Attention-based Audio Transformer).
Инференс декодера Qwen3 (LLM) с поддержкой стриминга текста.
4.2. CLI Утилита
Команда infer: Принимает путь к WAV файлу и модели, выводит распознанный текст.
Поддержка флагов конфигурации: выбор устройства (cpu/metal), путь к конфигу.
5. Нефункциональные Требования
5.1. Технические Требования
Язык: Rust (Edition 2024+).
Зависимости: Основной ML-бэкенд — candle. Минимум внешних системных библиотек.
Платформы:
Приоритет 1: macOS (Apple Silicon M1/M2/M3) с Metal acceleration
Приоритет 2: Linux (x86_64) с CPU/CUDA
Будущее: Windows (CUDA/Vulkan)
5.2. Метрики Качества
Точность Распознавания
Язык
Dataset
Целевой WER
Приоритет
Английский
LibriSpeech test-clean
< 5%
Высокий
Английский
LibriSpeech test-other
< 10%
Средний
Русский
Common Voice
< 12%
Высокий
Многоязычный
Multilingual test set
< 15%
Средний
Метрики:
WER (Word Error Rate): Основная метрика точности
CER (Character Error Rate): Дополнительная метрика для иероглифических языков
Deviation from Python: Допустимое отклонение от оригинальной реализации < 1% WER
Производительность
Метрика
Целевое Значение
Платформа
Модель
Real-Time Factor (RTF)
< 0.3
M1 Mac (Metal)
0.6B
Real-Time Factor (RTF)
< 0.5
M1 Mac (Metal)
1.7B
RTF
< 1.0
CPU (8 cores)
0.6B
Cold Start Time
< 5 секунд
Любая
Любая
Throughput
> 60 минут аудио/час
M1 Mac (Metal)
1.7B
Определение RTF: RTF = время_обработки / длительность_аудио
RTF < 1.0 означает работу быстрее реального времени