vibetalk
v0.2.2
Published
Voice-to-text dictation CLI — speak and it types wherever your cursor is. Powered by Voxtral local AI. No API key needed.
Maintainers
Readme
VibeTalk
Voice-to-text dictation CLI — speak and it types wherever your cursor is.
Works with any app: VS Code, Cursor, terminal, browser, Slack, or any text field.
Powered by Voxtral — a local AI transcription engine. No API key. No cloud. Fully private.
Quick Start
npx vibetalkOn first run, VibeTalk will automatically:
- Clone and build the
voxtral.cengine from source (~1 MB, one-time) - Download the Voxtral AI model weights (~8.9 GB, one-time, saved to
~/.vibetalk/voxtral/)
After setup, every start is instant — no internet needed, everything runs on your machine.
How It Works
- Run
npx vibetalkin a terminal - Press Enter to start recording
- Speak — your words are typed in real-time wherever your cursor is focused
- Press Enter to stop recording
- Repeat as needed. Press Ctrl+C to quit.
Installation
# Use directly with npx (no install needed)
npx vibetalk
# Or install globally
npm install -g vibetalk
vibetalkPlatform Support
| Platform | Support |
|---|---|
| macOS (Apple Silicon — M1/M2/M3/M4) | ✅ Full support, Metal GPU acceleration |
| macOS (Intel) | ✅ Full support, CPU |
| Linux (x86_64) | ✅ Full support (requires build-essential + libopenblas-dev) |
| Windows | ⚠️ Use WSL2 — see below |
Windows users
VibeTalk uses voxtral.c which does not compile natively on Windows. To use VibeTalk on Windows:
- Open PowerShell as Administrator and run:
wsl --install - Restart your PC and open the Ubuntu app
- Inside WSL2, install Node.js and run:
npx vibetalk
VibeTalk will show step-by-step WSL2 instructions automatically if you run it on Windows.
Linux setup
On first run, VibeTalk needs git, build-essential, and libopenblas-dev:
sudo apt-get install -y git build-essential libopenblas-dev
npx vibetalkConfiguration
# Change language (default: en)
vibetalk config set language es
# View all settings
vibetalk config list
# Reset to defaults
vibetalk config resetOptions
vibetalk [start] Start dictation (default command)
--device <index> Audio input device index
--language <lang> Language (en, es, fr, de, etc.)
--typing-strategy <s> auto | robotjs | clipboard
--typing-delay <ms> Ms between keystrokes (default: 12)
--use-hotkey Use global hotkey instead of Enter
--hotkey <combo> Hotkey combo (default: ctrl+shift+v)
--verbose Debug logging
vibetalk config set <k> <v> Set config value
vibetalk config get <key> Get config value
vibetalk config list Show all settings
vibetalk config reset Reset to defaults
vibetalk devices List audio input devicesRequirements
- Node.js 18+
- macOS or Linux (Windows via WSL2)
- A microphone
gitand a C compiler (make,cc)- ~10 GB disk space for the model (one-time download)
Permissions
On macOS, you may need to grant:
- Microphone access to your terminal app
- Accessibility access for keyboard simulation (System Settings > Privacy & Security)
How It Works (Technical)
- Captures microphone audio via PvRecorder (16kHz, 16-bit PCM)
- Pipes raw audio to voxtral.c — a pure C implementation of the Voxtral realtime model
- Receives finalised transcript lines from voxtral's stdout
- Types confirmed text using robotjs
- Falls back to clipboard paste if robotjs is unavailable
License
MIT
