Back to the catalogue

Voice Text Input

Voice typing into any focused window: a start word begins dictation, text is typed as you speak, a send word presses Enter. Configurable command words, fully local.

Install in Astra

In Astra, open Plugins and search for:

voice-text-input

Don’t have Astra yet? Get Astra

Details

Updated
2026-09-20
License
MIT
Status
Grandfathered until 2026-12-15 06:00 UTC

Being listed means these bytes were published by the repository shown and passed the registry’s automated checks. It is not a sandbox, not a security review, and not an endorsement.

About

Voice Text Input — Голосовой наборщик текста

Голосовой набор текста в любое активное окно — Telegram, браузер (VK), Word, куда угодно. Существует в двух видах:

  • плагин Astragithub.com (этот репозиторий);
  • отдельное десктоп-приложение VoiceTypergithub.com — то же самое без Astra: один exe, окно с настройками и значок в трее.

Скажите командное слово («напиши») — движок слушает и печатает речь в то окно, где стоит курсор, по мере говорения. Скажите «отправить» — нажимается Enter, и сообщение уходит, а диктовка продолжается без нового «напиши» (непрерывный набор). Скажите «закончить» — Enter и конец диктовки. Скажите «отмена» — набранное стирается. «с новой строки» — перенос строки (в мессенджерах сообщение не отправляет). По умолчанию всё локально, без облака.

Как это работает

микрофон → Vosk (всегда слушает, ~50 МБ ОЗУ)
   ├─ ловит командные слова (нечётко: «напишы» тоже сработает)
   └─ печатает живой текст мгновенно
после каждой паузы сегмент перепроверяет faster-whisper (int8, CPU)
   └─ лучший текст с пунктуацией заменяет черновик Vosk
  • Печать — WinAPI SendInput с Unicode: русские буквы вставляются независимо от раскладки, в любом приложении.
  • Движок настраивается: faster-whisper (по умолчанию, качественнее) или vosk (только офлайн-модель, легче и без уточнения).
  • Пунктуация: в режиме faster-whisper — автоматическая; в режиме vosk — голосом («запятая», «точка», «с новой строки», «вопросительный знак»…).

Настройки (Astra → Плагины → Voice Text Input)

ПараметрПо умолчаниюОписание
Включенодапрослушивание микрофона и диктовка
Слово начала диктовкинапишиначинает набор текста
Слово отправкиотправитьпечатает Enter; набор продолжается (непрерывный режим)
Слово завершениязакончитьпечатает Enter и завершает диктовку; очистите — и «отправить» снова завершает сама
Слово отменыотменастирает всё набранное за сессию
Слово переноса строкис новой строкивставляет Shift+Enter — перенос строки без отправки (в Telegram/VK работает именно так); очистите, чтобы выключить
Движокfaster-whisperfaster-whisper / yandex / openai / google / vosk
Модель Whispersmalltiny / base / small
API-ключ Яндекс SpeechKit—для движка yandex: Api-Key сервисного аккаунта Yandex Cloud
Язык SpeechKitru-RUязык облачного распознавания
API-ключ OpenAI—для движка openai: ключ OpenAI или совместимого сервиса
OpenAI-совместимый серверhttps://api.openai.com/v1можно указать Groq, локальный whisper-сервер и др.
Модель OpenAIwhisper-1или gpt-4o-mini-transcribe, модель сервера
API-ключ Google Cloud STT—для движка google: ключ Google Cloud Speech-to-Text
Клавиша отправкиenterenter или ctrl+enter (настройка Telegram)
Уточнение текстадаперепроверка сегментов движком качества
Ожидание коррекции перед отправкой1.2 с0 — отправлять мгновенно

Командные слова распознаются нечётко и только в конце/начале фразы: слово «отправить» внутри диктуемого текста отправку не вызовет.

Отдельное приложение (без Astra)

Тот же голосовой наборщик — простым exe-файлом, Astra не нужна: Voltur792/VoiceTypergithub.com — скачайте VoiceTyper.exe из релизов, запустите, скажите «напиши привет мир». Окно с кнопкой-микрофоном и настройками, значок в трее, тёмная/светлая тема. Ядро распознавания у приложения и плагина общее.

Почему без «Астра, напиши»: плагин начинает набор по своему командному слову — «напиши …», без обращения к Astra. Фраза с «Астра» принадлежит голосовому ассистенту самой Astra: плагин на неё не реагирует и не мешает ей отвечать. Никаких настроек в Astra выключать не нужно — раньше в плагине были wake-слова, и инструкция к ним заставляла пользователей отключать активацию по фразе, после чего Astra переставала отвечать; с версии 1.1.0 wake-слов нет.

Yandex SpeechKit (движок yandex)

Облачное распознавание SpeechKit v3: быстрее уточнения whisper, автоматическая пунктуация, не занимает CPU. Нужен API-ключ:

  1. В Yandex Cloud создать сервисный аккаунт с ролью ai.speechkit-stt.
  2. Ему — API-ключ (консоль → Сервисный аккаунт → Создать новый ключ → API-ключ).
  3. Вставить ключ в настройках плагина, выбрать движок yandex.

Единственный облачный движок со стримингом: финальный текст приходит потоком. Ключ передаётся только в Yandex Cloud.

OpenAI и совместимые (движок openai)

Работает с любым сервером OpenAI-аудио-API: сам OpenAI, Groq (бесплатный tier), локальный whisper.cpp-сервер. Поля: API-ключ, Base URL, модель (whisper-1, gpt-4o-mini-transcribe, …). Пример для Groq: Base URL https://api.groq.com/openai/v1, модель whisper-large-v3.

Google Cloud Speech-to-Text (движок google)

REST speech:recognize с API-ключом: в Google Cloud включить Speech-to-Text API, создать ключ (Credentials → API key). Пунктуация включается автоматически.

Про облачные движки в диктовке: живой черновик всё равно печатает Vosk (облако не умеет печатать по мере речи, кроме Яндекса в STT-потоке Astra); облако уточняет текст после пауз — как это делает whisper локально. Без ключа движок автоматически подменяется на vosk-фолбэк. Выбор движка действует и на Astra, когда плагин служит её распознавателем.

Установка

Из каталога Astra: Плагины → Browse → «Voice Text Input» → Установить.

Режим разработчика (sideload):

  1. В Astra: Настройки → Приватность → включить «Разрешить неподписанные плагины».
  2. Плагины → Dev → в поле «Load a plugin» вставить путь к папке репозитория и нажать загрузку.
  3. Плагин стартует сразу. После перезапуска Astra плагин, загруженный из папки, возвращается выключенным — включите его во вкладке Installed.

Зависимости ставит сама Astra: она находит Python, создаёт окружение плагина из requirements.lock и запускает код в нём. В обязательном наборе только лёгкие пакеты (SDK, vosk, sounddevice, numpy) — если установка всё же оборвалась, плагин сам добирает недостающее при старте и пишет об этом в лог одну понятную строку. faster-whisper в обязательный набор не входит: он доводится до установки в фоне при первом же использовании движка faster-whisper (~200 МБ, один раз), а до этого диктовка работает на Vosk. Модели скачиваются отдельно (см. «Модели»).

Модели

Лежат в models/ (не попадают в git и в бандл):

  • models/vosk-model-small-ru-0.22 — alphacephei.com/vosk/models
  • faster-whisper small — скачивается сам (HuggingFace) при первой загрузке движка; чтобы заранее: .venv\Scripts\python.exe scripts\smoke_components.py

Проверка всех компонентов (модели, микрофон, печать):

.venv\Scripts\python.exe scripts\smoke_components.py

Разработка

.venv\Scripts\python.exe -m pytest -q          # модульные тесты
astra-plugin check . --strict                  # манифест
astra-plugin test .                            # конформити (mock-демон)
astra-plugin dev .                             # hot-reload в запущенную Astra

Известные ограничения

  • Окна, запущенные от администратора, не принимают синтетический ввод (защита UIPI Windows) — запускайте Astra с теми же правами, что и целевое приложение, либо не диктуйте в админские окна.
  • Если в Astra включено постоянное голосовое прослушивание, она слышит те же фразы — рекомендуется режим активации по кнопке/хоткею.
  • Отмена стирает ровно то, что напечатал плагин; ручные правки текста в окне она не учитывает.
  • Переключение диктовки через ИИ действует до следующего сохранения настроек в Astra.

Лицензия

MIT © Voltur

Поддержать автора

Если голосовой наборщик оказался полезным, можно поддержать разработку:

boosty.to/voltur/donate

Releases

1.1.02026-09-20

Protocol 1

Files and provenance
TargetSizeSHA-256
noarchvoice-text-input-1.1.0-noarch.astraplugin156.1 kBc4c483b7aa45b281ff476a6baa665d91d1a83b0d588c2303f8b946a83d81d2a2

Provenance

Repository
Voltur792/voice-text-input
Release repository
Voltur792/voice-text-input
Tag
v1.1.0
Commit
322c20dc760b7d26d8ad957bf7a5c8b606e89e6b
Older releases (3)

1.0.32026-09-17

Protocol 1

Files and provenance
TargetSizeSHA-256
noarchvoice-text-input-1.0.3-noarch.astraplugin47.6 kBe187e58c0a334ec743916165b41f42d0e44c4652d57c8e5d28b1b2024bfacb4d

Provenance

Repository
Voltur792/voice-text-input
Release repository
Voltur792/voice-text-input
Tag
v1.0.3
Commit
8c2fa3a1114d7f369a62749f8ca21fddff53fabb

1.0.22026-09-17

Protocol 1

Files and provenance
TargetSizeSHA-256
noarchvoice-text-input-1.0.2-noarch.astraplugin46.4 kB63b1e7151aed06428387624c5f9c5692ef44e49628f0efd951736d1e92f70060

Provenance

Repository
Voltur792/voice-text-input
Release repository
Voltur792/voice-text-input
Tag
v1.0.2
Commit
a402353ccd74f7b9d5f1b93edbc26746278f88f8

1.0.12026-09-12

Protocol 1

Files and provenance
TargetSizeSHA-256
noarchvoice-text-input-1.0.1-noarch.astraplugin43.4 kB3167a57ec77e3692c5f077f2cb9b93c1ba2cf296b6a1e0ad00b9222e092bc61a

Provenance

Repository
Voltur792/voice-text-input
Release repository
Voltur792/voice-text-input
Tag
v1.0.1
Commit
33ab1930d91e1d3b8ac1824c53a92e5c0481698b
For the publisherThis listing has to be bound to a repositoryBind by 2026-12-15 06:00 UTC · cutover 2026-10-16 06:00 UTCHow

Migration notice, round 2.

The binding deadline is 2026-12-15 06:00 UTC.

Binding needs a Minice account that owns Astra, a binding line committed to the repository, a new tag, and a moderator’s approval of the first binding.

A release that is not held and passes the automated checks is published at once, marked not reviewed by moderators.

From 2026-10-16 06:00 UTC, a held release waits until this listing is bound.

Binding happens in the plugins panel; there is nowhere else to do it. Repository bindings