УДК 004.896
РАЗРАБОТКА АВТОНОМНОГО ГОЛОСОВОГО ИНТЕРФЕЙСА ДЛЯ УПРАВЛЕНИЯ РАБОЧИМ СТОЛОМ: ОТ РАСПОЗНАВАНИЯ ДО СЕМАНТИЧЕСКОГО АНАЛИЗА
Первоисточник: Сидорика М. Д., Лазебная Л. А. Разработка автономного голосового интерфейса для управления рабочим столом: от распознавания до семантического анализа [Электронный ресурс] // Информатика, управляющие системы, математическое и компьютерное моделирование (ИУСМКМ-2025 – студенческая секция): материалы XVI Междунар. науч.-техн. конф. в рамках XI Междунар. науч. форума ДНР. – Донецк: ДонНТУ, 2025. – URL: https://drive.google.com/file/d/1Q7m59Yw45mHtSX8Tl3hbPz8TdMBb_naA/view
Сидорика М.Д., Лазебная Л.А.
Донецкий национальный технический университет
кафедра прикладной математики и искусственного интеллекта
E-mail: sidorika.maks@gmail.com
Аннотация: Сидорика М.Д., Лазебная Л.А. Разработка автономного голосового интерфейса для управления рабочим столом: от распознавания до семантического анализа. Статья описывает архитектуру автономного голосового ассистента для Windows-ПК, основанного на офлайн-распознавании речи VOSK и семантическом анализе команд квантованной моделью RuBERT-ONNX. Предусмотрены два аппаратных профиля: Desktop-HiQ (полная модель VOSK) и Mobile-LoQ (компактная модель), выбираемые автоматически по доступным ресурсам. Теоретическая оценка показывает, что облегчённый профиль требует ≤ 0,6 ГБ ОЗУ, обеспечивает отклик 0,5–0,7 с и благодаря отсутствию сетевых вызовов гарантирует приватность данных.
Annotation: Sidorika M.D., Lazebnaya L.A. Development of an autonomous voice interface for desktop control: from recognition to semantic analysis. The article describes the architecture of an autonomous voice assistant for Windows PCs that relies on offline speech recognition with VOSK and command-level semantic analysis performed by a quantized RuBERT model exported to ONNX. Two hardware profiles are supported: Desktop-HiQ (which loads the full VOSK model) and Mobile-LoQ (which uses a compact model); the appropriate profile is selected automatically according to available system resources. Theoretical analysis shows that the lightweight profile requires no more than 0.6 GB of RAM, delivers an end-to-end response time of 0.5–0.7 s, and guarantees data privacy thanks to the complete absence of network calls.
Ключевые слова: офлайн-голосовой ассистент, VOSK, RuBERT-ONNX, автоматическое распознавание речи,
управление Windows, приватность данных.
Keywords: offline voice assistant, VOSK, RuBERT-ONNX, automatic speech recognition, Windows control,
data privacy.
Общая постановка проблемы
Голосовое управление давно стало привычным на мобильных устройствах и в «умных» колонках, однако настольные операционные системы до сих пор не располагают полнофункциональным офлайн-ассистентом, способным работать без подключения к облаку. Большинство коммерческих решений (Cortana, Siri, Google Assistant, «Алиса») передают аудиоданные на серверы, где выполняются вычислительно ёмкие задачи распознавания и понимания речи. Такой подход порождает сразу три критических ограничения.
- Зависимость от сети. При отсутствии или нестабильности интернета пользователь теряет доступ к голосовому управлению, что делает систему недоступной в корпоративных защищённых сетях, на выездных мероприятиях и т. д.
- Приватность и безопасность данных. Передача аудиопотока третьим сторонам неприемлема в организациях с повышенными требованиями к конфиденциальности, а также для пользователей, обрабатывающих чувствительную информацию.
- Низкая приспособленность к русскому языку и локальным сценариям. Облачные сервисы часто оптимизированы под английский язык и бытовые запросы, тогда как профессиональная рабочая среда настольного ПК предъявляет иной, более узкоспециализированный набор команд.
Существующие офлайн-ASR-библиотеки (DeepSpeech, Whisper-cpp, VOSK) доказали, что качественное распознавание речи возможно локально на CPU массовых ноутбуков.[2, 3]
Развитие русскоязычных трансформер-моделей (RuBERT-family) открывает путь к локальному семантическому анализу команд. Несмотря на то, что существуют частичные офлайн-решения такие как голосовые оболочки Mycroft-Desktop и Simon, а также локальный ASR-движок Whisper.cpp, в доступной литературе не удалось обнаружить описания полноценного офлайн-конвейера «speech → semantic → action» для управления рабочим столом Windows, который включал бы формализованную карту соответствий «интент → WinAPI-действие».
Таким образом, формулировка проблемы состоит в разработке и обосновании архитектуры голосового интерфейса, который:
- работает полностью офлайн на типовом потребительском ПК;
- обеспечивает приемлемую задержку и потребление ресурсов;
- корректно распознаёт и интерпретирует русскоязычные команды из ограниченного, но расширяемого словаря интентов;
- исполняет действия через стандартные WinAPI-вызовы, охватывая базовые сценарии (запуск приложений, управление файлами, настройка системных параметров);
- соблюдает требования приватности и потенциально расширяется для пользователей с ограниченными двигательными возможностями.[4, 5]
Обзор существующих решений и технологий
Vosk – открытая библиотека ASR (Apache 2.0), реализующая потоковое распознавание на
CPU/ARM-устройствах и поддерживающая более 20 языков. Для русского языка представлены две основные модели:
компактная vosk-model-small-ru-0.22 (архив 45 МБ; WER 22,7–32% на подкорпусах Open-STT, 11,8% –
Golos Crowd) и высокоточная vosk-model-ru-0.42 (1,8 ГБ; WER 4,5% на Our Audiobooks, 11,1% –
Open-STT Audiobooks). Малую модель достаточно загрузить в ≈ 300 МБ RAM, тогда как «большая» может
потребовать до 16 ГБ, но обеспечивает диктационную точность (< 5 % WER) на чистых аудиозаписях. Обе
модели поддерживают динамическое ограничение словаря и работают в режиме реального времени на одном ядре
настольного процессора, что делает Vosk базовым кандидатом для офлайн-ассистента с невысокими
вычислительными ресурсами.[2, 3]
DeepSpeech – открытый RNN-CTC-движок, реализующий идеи статьи Baidu Deep Speech и способный работать в реальном времени на устройствах уровня Raspberry Pi 4. Англоязычный «lite»-чекпойнт был ужат с 188 МБ до 47 МБ без заметной потери точности. 12 апреля 2021 г. Mozilla официально объявила о прекращении активной разработки проекта и переводе его в режим поддержки сообществом, сосредоточив собственные усилия на корпусе Common Voice.
Whisper.cpp переносит семейство Whisper на чистый C/C++ (библиотека ggml) и поддерживает
int8-квантизацию. Для минимальной модели ggml-tiny.en бинарь весит ≈ 75 МБ; при загрузке
требуется ≈ 140 МБ под веса и ≈ 23 МБ под KV-кэш, а полный пик памяти составляет ~500 МБ.
Для русской речи доступны крупные открытые корпус-ресурсы: Open-STT (~20 000 ч) и Golos (≈ 1 000 ч), облегчающие тонкую настройку ASR-моделей.[6, 7]
Из полноценных open-source-ассистентов наиболее известен Mycroft, ориентированный на Raspberry Pi и Linux-десктоп. Он поддерживает модульную интеграцию STT/TTS, но русскоязычный NLU поставляется только как экспериментальный плагин.
Для построения своего диалогового слоя чаще всего используют Rasa Open Source. Её трубопровод NLU включает DIET Classifier (Dual-Intent-Entity Transformer) для классификации интентов и извлечения сущностей. Практические примеры демонстрируют возможность сжать DIET-модель до < 50 МБ без ощутимой потери качества, что важно для офлайн решений.[8]
Базовым выбором трансформеров для русского языка остаётся семейство RuBERT (178 M парам.) от SberDevices, обученное на 30 ГБ русскоязычных текстов и свободно доступное на Hugging Face. Экспорт в ONNX с последующей структурной и весовой оптимизацией снижает латентность инференса на CPU без ухудшения точности.
На уровне действий настольной ОС традиционно задействуются вызовы WinAPI (например, функции
FindWindow, SendInput, ShellExecute) либо библиотеки оболочки
automation (PowerShell, UI Automation API). Типовой сценарий «запуск приложения / управление системными
параметрами» реализуется из C# через P/Invoke без административных привилегий.
Рост опасений вокруг передачи речевых данных в облако стимулирует переход к локальным ассистентам. Анализ отраслевых публикаций подчёркивает, что офлайн-подход устраняет риск утечки аудиозаписей и снижает нормативные барьеры. Отказ крупных вендоров от локальной обработки (пример: отключение опции «Do Not Send Voice Recordings» в Alexa) вызывает негативную реакцию у пользователей, ценящих приватность. Одновременно Microsoft закрыла встроенную Cortana-app (2023 г.) и продвигает облачный Copilot, подчёркивая корпоративные гарантии, но всё же требуя сетевого подключения. Новые функции, такие как Recall, фиксирующие содержимое экрана, усиливают дискуссию о границах допустимого сбора данных.[1]
Исследования показывают, что пользователи с моторными нарушениями воспринимают голосовые ассистенты как один из ключевых каналов взаимодействия, но чувствительны к качеству ASR и персонализации NLU. Это подкрепляет необходимость офлайн решений, не зависящих от соединения и сторонних серверов.[4, 9]
| Модель | Размер архива | Назначение | WER |
|---|---|---|---|
| vosk-model-small-ru-0.22 | 45 МБ | «мобильная»/десктопная, низкое потребление ОЗУ | 22,71% (OpenSTT Audiobooks) 31,97% (OpenSTT YouTube) 29,89% (Sova Devices) 11,79% (Golos Crowd) |
| vosk-model-ru-0.42 | 1,8 ГБ | «большая» серверная, максимальная точность | 4,5% (Our Audiobooks) 11,1% (OpenSTT Audiobooks) 19,5% (OpenSTT YouTube) 36,0% (OpenSTT Calls) 4,4% (Golos Crowd) 17,9% (Sova Devices) |
Требования к системе
Ввиду различий в вычислительных возможностях устройств для настольных ПК доступна полноразмерная русская
модель Vosk (vosk-model-ru-0.42, 1,8 ГБ), обеспечивающая максимальную точность распознавания, а
для ноутбуков и устройств с ограниченными ресурсами доступна компактная версия
(vosk-model-small-ru-0.22, 45 МБ). Это обусловило разделение требований на два профиля, что
позволяет сохранить единый программный код и выбирать модель по конфигурации железа либо по желанию
пользователя.
Функциональные требования (общие):
- Офлайн-работа полного конвейера «речь → семантика → WinAPI-действие» без обращения к облачным сервисам.
- Поддержка не менее 12 базовых интентов. Добавление новых интентов без повторного обучения ASR.
- Голосовое и/или визуальное подтверждение выполнения команды. Локальное ведение журнала событий с возможностью экспорта.
Аппаратно-зависимые профили представлены в таблице 2.
| Показатель | Desktop-HiQ («большая» модель) | Mobile-LoQ («маленькая» модель) |
|---|---|---|
| Целевая WER | ≤ 10 % | ≤ 25 % |
| Задержка p95 (“speech→action”) | ≤ 700 мс | ≤ 500 мс |
| ОЗУ, пиковое | ≤ 8 ГБ | ≤ 1 ГБ |
| CPU-нагрузка, средняя | ≤ 50 % (≥ 2 потока) | ≤ 30 % (1 поток) |
| Целевая платформа | ПК/рабочие станции, Win 10/11 ×64, ≥ 4-ядерный CPU | Ноутбуки, мини-ПК, Win 10/11 (x86-64), ≥ 2-ядерный CPU |
Целевые метрики и критерии приёмки:
- Word Error Rate (WER) ≤ 10 % для Desktop-HiQ и ≤ 25 % для Mobile-LoQ на тестовом наборе русскоязычных фраз;
- Intent Accuracy ≥ 90 % на отложенной выборке;
- средняя задержка end-to-end ≤ 700 мс;
- приемлемая пиковая загрузка CPU.
Предлагаемая архитектура
Разрабатываемый голосовой интерфейс строится по принципу сквозного офлайн-конвейера «speech → semantic → action» (рис. 1) и поддерживает два аппаратных профиля Desktop-HiQ (полная модель Vosk) и Mobile-LoQ (компактная модель). Профиль выбирается автоматически по конфигурации устройства либо вручную через конфигурационный файл.
Архитектура включает шесть взаимосвязанных уровней, каждый из которых решает строго определённую задачу и тем самым упрощает как доработку, так и тестирование системы.
- Определение профиля. При запуске ассистент оценивает объём доступной оперативной памяти и число логических ядер. Если свободно ≥ 8 ГБ RAM и ≥ 4 ядра CPU, включается профиль Desktop-HiQ (большая модель Vosk), иначе выбирается Mobile-LoQ. Пользователь может явно задать профиль в конфигурационном файле.
- Захват аудио и VAD. Микрофонный поток оцифровывается с частотой 16 кГц. Модуль WebRTC-VAD удаляет тишину и подавляет фоновый шум, формируя фреймы по 20 мс с шагом 10 мс.
- ASR-декодер (Vosk):
- для Desktop-HiQ загружается модель
vosk-model-ru-0.42(WER ≈ 4,5–11%); - для Mobile-LoQ загружается компактная
vosk-model-small-ru-0.22(WER ≈ 11,8–32%).
- для Desktop-HiQ загружается модель
- NLU-слой. Слова гипотезы подаются в RuBERT-base, скомпилированную в ONNX INT8. Модель классифицирует интент и извлекает именованные сущности («слоты»).
- Маршрутизатор интентов. Полученный интент ищется в YAML-таблице правил. Каждое правило связывает интент, опциональные условия (контекст, параметры) и конкретное действие Windows. При совпадении выбирается приоритетное действие.
- Executor. Этот слой вызывает WinAPI и UI-Automation:
Process.Startдля приложений,ShellExecuteдля файлов,SendInputдля эмуляции клавиатуры/мыши или интерфейсы IUIAutomation для управления элементами окна. Нежелательные вызовы блокируются встроенной политикой безопасности. - Обратная связь. После выполнения действия пользователь получает визуальное уведомление в WPF-оверлее и/или краткое голосовое подтверждение. Локальный журнал события сохраняется в зашифрованном файле.
Модульность и расширяемость:
- ASR и NLU загружаются через абстрактные фабрики, например можно внедрить whisper.cpp без изменения Router/Executor;
- интенты как данные: новая команда добавляется в YAML и в тонкий классификатор RuBERT-INT8 без переобучения Vosk;
- WinAPI-обёртка реализована отдельной сборкой
Assist.WinApiBridgeи при переходе на другие ОС достаточно изменить слой 6.[2, 3, 5, 8, 10]
Оценка применимости (предварительная)
Поскольку прототип ещё не реализован, выводы базируются на паспортных данных моделей VOSK и RuBERT, публикациях об их производительности и ориентировочных расчётах потребления CPU.
Предварительная оценка применимости автономного ассистента выполнена расчётным путём для двух целевых конфигураций оборудования – Desktop-HiQ с «большой» русской моделью VOSK (~1,8 ГБ на диске) и Mobile-LoQ с компактной моделью vosk-small-ru (~50 МБ). Документация проекта VOSK указывает, что «малые» модели требуют порядка 300 МБ ОЗУ и работают в потоковом режиме с нулевой задержкой, тогда как «большие» предназначены для серверов и занимают до нескольких гигабайт памяти.[2, 3]
Для семантического анализа предусматривается квантованная до INT8 версия RuBERT-base, получаемая средствами ONNX Runtime, что сокращает вес модели примерно до 80 МБ и ускоряет инференс на CPU в 2–3 раза.
В обоих профилях суммарное потребление памяти (ASR + NLU + служебные буферы) не превышает 0,6 ГБ для Mobile-LoQ и 5 ГБ для Desktop-HiQ, то есть укладывается в типовые объёмы оперативной памяти офисных ноутбуков и стационаров.
Потоковый API VOSK использует одно процессорное ядро. После активации простейшего VAD средняя загрузка ядра снижается до ≈ 25% благодаря тому, что распознавание запускается лишь на участках с речью.[2, 3]
При сложении задержек подсистем получается ориентировочное время отклика «речь → действие» около 0,5 с в Mobile-LoQ и до 0,7 с в Desktop-HiQ, что воспринимается пользователем как естественная пауза. Ожидаемая точность распознавания оценивается в ≤ 10% WER для старшей модели и ≤ 25% WER для младшей. Такие значения считаются приемлемыми для командного интерфейса и согласуются с порогами, упомянутыми в учебнике Тампеля и Карпова.
Теоретические показатели подтверждают возможность развёртывания ассистента в трёх основных сценариях. Закрытая корпоративная сеть выигрывает от полной автономности и отсутствия утечки аудиоданных. Инклюзивное рабочее место получает голосовое управление при минимальной задержке. Мобильный офис сохраняет функциональность в условиях нестабильной связи и жертвует лишь частью точности. Среди преимуществ концепции выделяются автономность, модульность и гибкое переключение между «лёгким» и «точным» профилями. К ограничениям относятся повышенная чувствительность к шуму и ограниченный стартовый словарь интентов. А к рискам можно отнести конкурентное давление облачных решений и возможные изменения WinAPI. Расчётные данные показывают, что проект реализуем на массовом оборудовании и заслуживает дальнейшей практической валидации.[5, 6, 7, 9]
Заключение
Предложена концепция полностью автономного русскоязычного голосового ассистента для управления рабочим столом Windows. Архитектура построена как сквозной офлайн-конвейер «speech → semantic → action» и включает шесть функциональных уровней: захват аудио с VAD, офлайн-ASR VOSK, семантический анализ на RuBERT-ONNX, диспетчер команд, пользовательский интерфейс с TTS и служебные сервисы мониторинга. Теоретическая оценка, выполненная для двух аппаратных профилей (Desktop-HiQ и Mobile-LoQ), показала соответствие заявленным ограничениям: суммарное потребление оперативной памяти не превышает 0,6 ГБ в облегчённой конфигурации и 5 ГБ в старшей; средняя загрузка CPU удерживается в пределах 25% одного ядра; ожидаемая задержка «речь → действие» остаётся в диапазоне 0,5–0,7 с.
Полученные расчётные показатели демонстрируют применимость ассистента в сценариях, где критичны приватность и автономность: изолированные корпоративные сети, инклюзивные рабочие места и мобильные рабочие станции вне зоны стабильного интернета. К преимуществам концепции относятся полное отсутствие облачных зависимостей, модульность и гибкое переключение между точностью и экономичностью. Основные ограничения на текущем этапе – ограниченный словарь интентов, чувствительность к сильному шуму и отсутствие долговременной диалоговой памяти.
Теоретическое обоснование подтверждает целесообразность дальнейшей разработки прототипа. Следующие этапы работы предполагают реализацию минимально жизнеспособной версии, сбор эмпирических метрик WER, latency и intent-accuracy, дообучение интентов на пользовательских доменах и проведение пользовательских испытаний для оценки удобства и надёжности офлайн-голосового управления.
Литература
- Minyang Chen. Why Offline AI Voice Assistant is the Future / Интернет-ресурс. – Режим доступа: www/ URL: https://mychen76.medium.com/why-offline-ai-voice-assistant-is-the-future-1d071b1b6422.
- VOSK Offline Speech Recognition API – Alpha Cephei / Интернет-ресурс. – Режим доступа: www/ URL: https://alphacephei.com/vosk/index.ru.
- alphacep/vosk-api – GitHub-репозиторий / Интернет-ресурс. – Режим доступа: www/ URL: https://github.com/alphacep/vosk-api.
- Masina F., Orso V., Pluchino P., Dainese G., Volpato S., Nelini C., Mapelli D., Spagnolli A., Gamberini L. Investigating the accessibility of voice assistants with impaired users: mixed methods study // Journal of Medical Internet Research. – 2020.
- Большакова Е.И., Воронцов К.В., Ефремова Н.Э. и др. Автоматическая обработка текстов на естественном языке и анализ данных: учебное пособие. – М.: НИУ ВШЭ, 2017. – 269 с.
- Карпов Н., Денисенко А., Минкин Ф. Golos: Russian Dataset for Speech Research // Proceedings of Interspeech 2021. 2021. С. 1419–1423.
- Open STT – Russian Open Speech-to-Text Dataset – GitHub-репозиторий / Интернет-ресурс. – Режим доступа: www/ URL: https://github.com/snakers4/open_stt.
- Rasa. Документация / Интернет-ресурс. – Режим доступа: https://legacy-docs-oss.rasa.com/docs/rasa/tuning-your-model/.
- Тампель И.Б., Карпов А.А. Автоматическое распознавание речи: учебное пособие. – СПб.: Университет ИТМО, 2016. – 138 с.
- naudio / NAudio: Audio and MIDI library for .NET – GitHub-репозиторий / Интернет-ресурс. – Режим доступа: www/ URL: https://github.com/naudio/NAudio.