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.2.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.2-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vtype-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 0ce11866143da5d0f8cdfa8543ef2efb12bd70689bfdc09bddfdc0393fcbf7fd
MD5 648790746af5c08960e460f76058cae6
BLAKE2b-256 56f328809e0551410b501655f0627172a77d45b44b09d48b3e6d7b6c3421cd58

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vtype-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ffc42305a8d8d6532f13b2d56d1235738292312e6d9e43ffb690b439d6340ef3
MD5 fc37d2c6680f28fe4403d143ab263638
BLAKE2b-256 465ed9e097bd6c3964a518d7085fcc9b06db99ef134f315f2d2b1fb50839da84

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