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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ace6a7abbcbe0becf11a277dcb7cc634aafe9994d3fc2f1fbc0270064aad2107
|
|
| MD5 |
805a8024b33e55d3cfb17418743825f7
|
|
| BLAKE2b-256 |
0fbe6e1a08f416f28c9d0bb08b6887f315dd704903044c19db021640a0858e54
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc893a918f5d2e649dc5687c3c1ee3f315fbc3a0332ea047fdf09b07071fb52f
|
|
| MD5 |
026dc366b0ce611841a4ac62532184bf
|
|
| BLAKE2b-256 |
6912d3374a3beb39a92cb900fb19a4f928cc69f5d450f3993544a701ba494ff2
|