OnnxASR (Диктовка и голосовой ввод с применением моделей Сбера GigaAM)

Примечание от руководителя русскоязычного сообщества: Если вам понравилось это дополнение или любое другое от Кварка, и вы хотите выразить благодарность его автору, то сделать это можно переводом любой суммы на следующий кошелёк YooMoney: https://yoomoney.ru/to/410012293543375 Уверен, ему будет приятно.

О дополнении:

Вот всё-таки доделал дополнение для диктовки и голосового ввода с применением моделей Сбера GigaAM V3. Взять основной движок и пару квантованных моделей (ctc/rnnt) можно с Яндекс Диска (подкаталог OnnxASR): https://disk.yandex.ru/d/uVPpHVwcI4tBAQ

Версия 2026.07.30

Дополнение для диктовки и голосового ввода OnnxASR обновлено до версии 2026.07.30. Из изменений можно отметить следующее:

  1. В диалоге настроек добавлена опция «Минимальная тишина между предложениями при диктовке», позволяющая указать минимальную паузу в режиме диктовки, которую детектор активности голоса будет воспринимать как границу между предложениями. Значение по умолчанию — 600 миллисекунд. Допустимые значения — от 100 до 2000 мс.
  2. Обновлены внешние зависимости: onnxruntime 1.28.0 и onnx_asr 0.12.0.

Это дополнение основано на Python-пакете onnx_asr и может работать со всеми ONNX-моделями, которые поддерживает onnx_asr. Их полный список приведён на следующей странице: https://istupakov.github.io/onnx-asr/usage/#supported-model-names У меня на Яндекс Диске лежат только модели GigaAM V3 — они наиболее актуальны для русского языка. При этом любой желающий может собрать и все остальные поддерживаемые модели в форме дополнений (Whisper, Vosk и т. д.).

Расшифровка речи выполняется с помощью ONNX-моделей с инференсом на ЦП. Подключение к интернету не требуется. Всё работает локально на вашей машине без регистрации и SMS. https://t.me/nvda_group/72100

Мультиязычные модели, в том числе Whisper Large v3, самостоятельно определяют язык речи на записи. В настройках OnnxASR можно выбрать только используемую модель. https://t.me/nvda_group/72101

whisper-large-v3-turbo-int8.

Вот для теста собрал сейчас аддон с Whisper Large v3 Turbo. С английским справляется весьма недурно, с русским — хуже, ну а с турецким проверьте сами. Если брать только русский язык, то модели GigaAM V3 заметно лучше как по качеству, так и по скорости работы.

https://t.me/nvda_group/72106

Версия: 2026.07.12

После установки движка и хотя бы одной модели необходимо в диалоге «Жесты ввода» назначить своё сочетание клавиш на команду запуска или остановки диктовки (см. категорию Onnx ASR). Запуск диктовки активирует запись с микрофона. Повторный вызов завершит запись и поместит распознанную речь в буфер обмена. Прошу обратить внимание, что первый запуск диктовки в текущей сессии работы NVDA требует нескольких секунд на первоначальную инициализацию модели, в течение которых NVDA будет находиться в зависшем состоянии. Последующие запуски будут происходить мгновенно. Настройки можно открыть через меню NVDA → Инструменты → Настройки Onnx ASR.

https://t.me/nvda_group/71429

Ещё в диалоге настроек Onnx ASR имеется флажок «Использовать голосовой ввод». Если его установить и сохранить изменения кнопкой OK, дополнение начнёт непрерывно распознавать речь с микрофона и отправлять распознанный текст в виде команд ввода NVDA. В этом режиме пользователь сможет назначать свои голосовые команды на произвольные скрипты в диалоге «Жесты ввода». Например, можно найти команду чтения текущего времени, нажать кнопку «Добавить», а затем произнести фразу «Сколько времени». Через пару мгновений команда привяжется к выбранному скрипту. После сохранения изменений кнопкой OK пользователь сможет в любой момент узнавать текущее время, просто произнеся в микрофон фразу «Сколько времени», — точно так же, как и с помощью сочетания NVDA+F12.

Это две разные архитектуры моделей. CTC работает чуть быстрее, но может выдавать менее точный текст по сравнению с RNNT-версией. Если на ваших аудиозаписях разницы не видно, то используйте любую из них.

Разделение записи на фрагменты выполняет Silero VAD. Сейчас по умолчанию границей между предложениями считается тишина длительностью 300 мс и более, что, вероятно, при медленной диктовке — слишком малое значение. В следующей версии вынесу данный параметр в диалог настроек. Правда, Silero VAD — это тоже российская разработка. Боюсь, как бы вам окончательно не поплохело от осознания того, что российские разработчики тоже умеют делать очень крутые вещи.

На Яндекс Диск залил полноценные неквантованные версии моделей (без суффикса int8 в имени). На диске и в памяти они занимают почти в четыре раза больше места, но и качество финального текста должно быть немного лучше.