Local-first dictation for macOS — press a hotkey, talk, text appears at your cursor
Project description
talk
macOS only (Apple Silicon recommended). Requires Python 3.11+.
Local-first dictation for macOS. Press a hotkey, talk, text appears at your cursor.
- Parakeet local transcription by default (zero API cost on Apple Silicon).
- OpenAI
gpt-4o-transcribefallback with one env switch. - Automatic paste at cursor (clipboard-safe restore).
Install
pip install talk
That's it. On first run, Parakeet model weights (~1.2 GB) download automatically.
Alternative: from source
git clone https://github.com/strangeloopcanon/talk.git
cd talk
./scripts/install_macos.sh
./scripts/doctor_macos.sh
./scripts/run_macos.sh
Usage
talk run
- Press
Cmd+Shift+Spaceto start recording. - Press
Cmd+Shift+Spaceagain to stop, transcribe, and paste. - Press
Cmd+Shift+Qto quit.
Preflight checks
talk doctor
File transcription
talk transcribe-file /path/to/sample.wav
macOS permissions
You must grant your terminal app:
- Microphone -- for audio recording
- Accessibility -- for paste keystroke automation
- Input Monitoring -- for global hotkeys
If paste fails but transcription works, Accessibility permission is usually the issue.
Configuration
Works out of the box with zero configuration. To customize, create ~/.config/talk/.env:
mkdir -p ~/.config/talk
Key options (all have sensible defaults):
| Variable | Default | Notes |
|---|---|---|
DICTATE_BACKEND |
parakeet |
parakeet (local) or openai (cloud) |
DICTATE_HOTKEY |
<cmd>+<shift>+<space> |
Toggle recording |
DICTATE_QUIT_HOTKEY |
<cmd>+<shift>+q |
Quit the app |
DICTATE_AUTOPASTE |
true |
Paste transcription at cursor |
PARAKEET_MODEL |
mlx-community/parakeet-tdt-0.6b-v3 |
Local model |
OPENAI_API_KEY |
(empty) | Required if backend=openai |
See .env.example for the full list.
Switching backend
# In ~/.config/talk/.env or as env vars:
DICTATE_BACKEND=openai
OPENAI_API_KEY=sk-...
Cleanup
Parakeet model weights are cached in ~/.cache/huggingface/hub/. To reclaim disk space:
rm -rf ~/.cache/huggingface/hub/models--mlx-community--parakeet-tdt-0.6b-v3
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 talktype-0.1.0.tar.gz.
File metadata
- Download URL: talktype-0.1.0.tar.gz
- Upload date:
- Size: 98.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7eee25b4eea5e8a5fa2b950a578d7ab89a9d492f10b6805cf20f8a00b1b4ee54
|
|
| MD5 |
6d83c5fe0b272452e2d9360e595219a1
|
|
| BLAKE2b-256 |
e77cc8c96858fe882e0fa29c136a65efef786893b4526c20f5658b722f0db84b
|
File details
Details for the file talktype-0.1.0-py3-none-any.whl.
File metadata
- Download URL: talktype-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f93431778c2b6bc66ef281bf68c6333421f06bf8b27ea3291937ea26e9145be2
|
|
| MD5 |
a7f5fb28a763d7787a35ea16ee7742fe
|
|
| BLAKE2b-256 |
e1a8c622725af0cd3499d45ea6bbaed267b8c07da191a1d31b3f1474c7986f01
|