Skip to main content

Offline voice input — speak into any focused window, no cloud required

Project description

vtype

Offline voice input for any focused window. Press Ctrl+Alt+V (Windows/Linux) or Control+Option+V (Mac), speak, and your words are typed instantly — no cloud, no API key, no subscription.

Works in Claude Code terminal, VS Code, any text editor, browser, chat app — whatever window is focused.


Install

pip install vtype

First run downloads the Whisper speech model (~150 MB). Subsequent runs are instant.

Usage

vtype
  • Press Ctrl+Alt+V (Windows/Linux) or Control+Option+V (Mac) — starts listening
  • Speak naturally
  • Silence for ~1 second → transcribes and types into the focused window
  • Press the hotkey again to cancel
  • Ctrl+C to quit

Requirements

  • Python 3.9+
  • A microphone
  • FFmpeg (for audio processing)

FFmpeg install:

Platform Command
Windows winget install ffmpeg
macOS brew install ffmpeg
Linux sudo apt install ffmpeg

How it works

  • Speech detection runs locally using RMS-based VAD (no network calls)
  • Transcription uses OpenAI Whisper (base model, runs on CPU)
  • Text is typed via OS-level keyboard simulation — works in any window including terminals and browser tabs

Privacy

Everything runs on your machine. Audio never leaves your device.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vtype-0.1.3.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vtype-0.1.3-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file vtype-0.1.3.tar.gz.

File metadata

  • Download URL: vtype-0.1.3.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for vtype-0.1.3.tar.gz
Algorithm Hash digest
SHA256 00e6d3864b30359375b194097b159c476fc81c198e9a020dff6d74608681b5ed
MD5 4e54a061be34dec79f4bd500846023ed
BLAKE2b-256 3c640f324247b5d10724a36eaf3e1e5409b499dda78be6e8c738d6ca8919e8ca

See more details on using hashes here.

File details

Details for the file vtype-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: vtype-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for vtype-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 772bf5d32f59ff198f030324157299fd0c27cbfadcc2cb20fecdd5b9719ab53d
MD5 233673d66883d11805fa7cfb01b3fcb0
BLAKE2b-256 abe0932aa05696b1b62a29aab7a2d6851cd4dc2e8542f4213cd3f64fe5e2712b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page