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.1.tar.gz (4.1 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.1-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vtype-0.1.1.tar.gz
  • Upload date:
  • Size: 4.1 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.1.tar.gz
Algorithm Hash digest
SHA256 3a878cc474803d1657999964dba486d8a7df568e3ba4f21f87b5a16a4d886c81
MD5 d4fe27040724c1389a4268ffc9dc4af6
BLAKE2b-256 98651a025819737f0816c306af72452b76f2617bd1584a919bc75ec5021c1aa9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vtype-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.1 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bc867ad1eaca56de06b9183f39403cd804cea8e47a085b46f4aade7a16d98abd
MD5 50a4730eb9c7240c28112c286943a421
BLAKE2b-256 2b3699cd98a4350ec9ce501c352fae207209b13c03f2234e91776b85d92bb2ba

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