Alpha · Windows

Voice2Text: dictation, bindings and LLM processing

Voice2Text is a separate Screph application for dictation and text insertion into a compatible Windows target. Recognized text can be reviewed before insertion. A binding can also capture a selected screen region, send the image and dictation to a configured LLM, and insert the transformed response.

Video

Current archive

Voice2Text runs from Voice2Text.exe in the ZIP archive after it is extracted to a separate directory. The app operates from the system tray; no separate installer is required.

Download the current Alpha archive

What is implemented

  1. Recording opens from the tray with Start recording; Show widget reveals an existing widget.
  2. Voice2Text transcribes speech with the selected speech provider and shows the text for review. Ctrl+Enter finishes input; Esc closes or cancels the current widget.
  3. A normal result is sent to the active compatible Windows target. This is input simulation, not a universal API for every app; targets at another privilege level or with a custom editor may reject the text.
  4. A binding remembers a target window and point. Before insertion the app performs and validates a real click, foreground state and point ownership; insertion stops if validation fails.
  5. A binding can define a capture region and an LLM profile. The region image and dictated request are then sent to the model, and the transformed response is inserted into the target.

Menu and settings

SurfaceCurrent contract
Tray menuStart recording, Show widget, Bindings (management and quick new binding), Settings, LLM history, Language and Exit.
SettingsApplication, Recognition, LLM, Screen Capture and Bindings, including autostart, clipboard behavior and history persistence.
BindingsMultiple buttons or points for one window, plus screen-region, LLM-profile and insertion-method selection.
AutostartWhen enabled, Voice2Text writes its command to HKCU\Software\Microsoft\Windows\CurrentVersion\Run.

Recognition and network use

ProviderWhat it doesData boundary
VoskLocal streaming recognition; the current ZIP already includes the small Russian model.Audio is not sent to a speech cloud. Another language or model requires separately supplied local files.
YandexCloud speech recognition.Audio and request parameters are sent to the configured Yandex service.
GoogleGoogle Cloud Speech using a credentials file.Audio is sent to Google; settings store the credentials path while the file remains at that path.
OpenAICloud transcription through the configured API.Audio is sent to the configured OpenAI-compatible endpoint; keys are stored through the system secret store.
LLM bindingTransforms dictation with an optional region capture.Text and the selected image go to the profile provider; enable this only for data you are allowed to send.

Local data and history

  • In a packaged run, settings, models and enabled file-based LLM history live in the portable Voice2TextData directory beside the app. VOICE2TEXT_CONFIG_DIR selects another data root.
  • Packaged-app bindings are currently an exception: they are stored in %APPDATA%\Voice2Text\bindings.json, not in Voice2TextData.
  • The log is first created beside the executable as voice2text.log; if that location is not writable, %LOCALAPPDATA%\Voice2Text\logs is used.
  • API keys are stored through keyring/Windows Credential Manager. Ordinary settings contain endpoint, model and paths, but should not contain a plaintext key.
  • In-memory LLM history is limited to 200 entries. Persisting prompts and responses to a file is off by default, can be enabled by the user and can be cleared in the UI.
  • The always-copy option places recognized or transformed text on the system clipboard; account for Windows clipboard history.

System requirements

  • OS: Windows 10/11 x64.
  • Devices: a working microphone; screen and target bindings require an interactive Windows desktop.
  • Offline: the bundled Vosk model recognizes Russian locally. Cloud speech and LLM providers and their checks require network access and your own credentials.
  • Optional Python: the new standalone build does not bundle Torch, Transformers, Whisper or Librosa; when needed they are supplied through Voice2TextData\optional-python\site-packages and the optional-dependencies manifest.