Skip to main content

Local voice-to-text with Whisper + LLM cleanup

Project description

voice2text

Local voice-to-text with Whisper + LLM cleanup. Push-to-talk, pastes at cursor.

Note: Before anyone suggests splitting this into modules and submodules — this is an intentional design choice. I want to demonstrate that in December 2025, you can have a fully local voice-to-text system with automatic cleanup and correction, running almost instantly on consumer hardware, all in ~270 lines of Python.

Install

Option 1: Pixi (recommended)

pixi run ollama pull qwen2.5:3b
pixi run v2t

Option 2: UV

brew install ollama
ollama pull qwen2.5:3b
uv sync
uv run v2t

Usage

v2t                      # strict mode (restructures sentences)
v2t --casual             # light cleanup (punctuation only)
v2t --pause-music        # pause media while recording (macOS only, requires nowplaying-cli)

Hold Right Command to record, release to transcribe and paste.

--pause-music (macOS only)

Pauses any playing media while recording and resumes after. Requires:

brew install nowplaying-cli

Not available via pixi/conda-forge.

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

voice2text-0.1.0.tar.gz (115.3 kB view details)

Uploaded Source

Built Distribution

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

voice2text-0.1.0-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file voice2text-0.1.0.tar.gz.

File metadata

  • Download URL: voice2text-0.1.0.tar.gz
  • Upload date:
  • Size: 115.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for voice2text-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ace6a7abbcbe0becf11a277dcb7cc634aafe9994d3fc2f1fbc0270064aad2107
MD5 805a8024b33e55d3cfb17418743825f7
BLAKE2b-256 0fbe6e1a08f416f28c9d0bb08b6887f315dd704903044c19db021640a0858e54

See more details on using hashes here.

File details

Details for the file voice2text-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: voice2text-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for voice2text-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dc893a918f5d2e649dc5687c3c1ee3f315fbc3a0332ea047fdf09b07071fb52f
MD5 026dc366b0ce611841a4ac62532184bf
BLAKE2b-256 6912d3374a3beb39a92cb900fb19a4f928cc69f5d450f3993544a701ba494ff2

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