Skip to main content

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-transcribe fallback with one env switch.
  • Automatic paste at cursor (clipboard-safe restore).

Install

pip install talktype

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 Ctrl+Option+D to start recording.
  • Press Ctrl+Option+D again to stop, transcribe, and paste.
  • Press Ctrl+Option+Q to 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 <ctrl>+<alt>+d Toggle recording
DICTATE_QUIT_HOTKEY <ctrl>+<alt>+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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

talktype-0.2.0.tar.gz (271.9 kB view details)

Uploaded Source

Built Distribution

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

talktype-0.2.0-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file talktype-0.2.0.tar.gz.

File metadata

  • Download URL: talktype-0.2.0.tar.gz
  • Upload date:
  • Size: 271.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.15

File hashes

Hashes for talktype-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c86d079ccf87fe8048f4863370e290893c26a7162dc4d79655047094a14008ad
MD5 41f0840522c3676ea5c3c05e45e80aa8
BLAKE2b-256 67a85016d05d496f3c50e3097562b7a21df13dad16f3ffe4f86e08a03ffa14eb

See more details on using hashes here.

File details

Details for the file talktype-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: talktype-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.15

File hashes

Hashes for talktype-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ffb6a552cf2117005b616e92b51119c6f3970e3b888fd1b8cfa94b91b3845402
MD5 0719530693aec5a70b7d46fa39c6ec67
BLAKE2b-256 02cdd161aeac2f8b67e9ff6266eb0cf2a13a831d3b6554e8ff936068c42d364e

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