Skip to main content

A dication tool powered by Parakeet

Project description

Parakeet Dictation (macOS)

Local, fast, privacy-friendly dictation for macOS using NVIDIA Parakeet (MLX on Apple Silicon) with a push-to-talk hotkey.
Bonus: speak commands to rewrite selected text via AWS Bedrock (Claude).


Table of Contents


Why this project?

Parakeet Dictation gives you on-device speech-to-text on macOS with a single push-to-talk key (Globe/Function). It’s built to be:

  • Private: Audio is processed locally on your Mac.
  • Fast: Parakeet models are optimized and run great on Apple Silicon via MLX.
  • Practical: Dictate into any app, or select text and say how to transform it (“make this more professional”, “translate to Spanish”, etc.)-the app rewrites it via AWS Bedrock and pastes it in place.

Features

  • 🖥️ Menu bar app (stays out of your way)
  • 🎙️ Push-to-talk: Press the Globe / Fn key to start recording, press again to transcribe & paste
  • Local ASR with NVIDIA Parakeet (Apple Silicon via MLX)
  • ⌨️ Auto-paste at cursor in the foreground app
  • Voice-driven text editing (optional): when text is selected, your speech is treated as an instruction and the selection is replaced with the result (via AWS Bedrock → Claude)
  • ✅ Clear recording status via the menu bar icon
  • 🧰 Simple background mode (no UI) for power users

Demo

Add a short GIF here showing:

  1. Globe key down → speaking → Globe key up → text appears
  2. Selecting text → Globe key → “make this friendlier” → selection is replaced

Requirements

  • macOS 12+ (Apple Silicon recommended for speed)
  • Python 3.10+
  • Microphone
  • Accessibility permission (to paste text programmatically)
  • PortAudio (for PyAudio)
  • Optional (for AI edits): AWS account with Bedrock access (Claude)

Installation

1. Install system deps

brew install portaudio ffmpeg

2. Clone & install Python deps

git clone https://github.com/osadalakmal/parakeet-dictation.git
cd parakeet-dictation

python3 -m venv .venv
source .venv/bin/activate

pip install -r requirements.txt

Configuration

cp .env.example .env

Edit .env with your AWS region and credentials if you want Bedrock-powered editing.


Usage

Push-to-talk dictation

  1. Launch the app (see Development or Background sections below).
  2. Press the Globe (🌐) / Function key to start recording.
  3. Speak normally.
  4. Press the key again to stop. The app will transcribe and paste the text at your current cursor position.

Voice-driven text editing (Claude via Bedrock)

  1. Select text in any app.
  2. Press the Globe / Fn key and speak an instruction, e.g.:
  • “Make this more professional”
  • “Fix the grammar”
  • “Summarize this”
  • “Translate to Spanish”
  1. Press the key again to stop. The selected text will be replaced with the edited version.

When no text is selected, your speech is treated as dictation and the text is inserted normally.

Menu bar controls

  • Start/Stop Listening - toggles recording
  • Settings - (future) configuration UI
  • Quit - exits the app

Permissions (macOS)

  • Microphone: System Settings → Privacy & Security → Microphone → allow your Terminal/app
  • Accessibility: System Settings → Privacy & Security → Accessibility → allow your Terminal/app

Without Accessibility permission, the app cannot paste text for you.


Run in the background

pip install -r requirements.txt
nohup ./run.sh >/dev/null 2>&1 & disown

Stop it later:

ps aux | grep 'src/main.py'
kill -9 <PID>

Troubleshooting

  • No audio: ensure portaudio is installed
  • Nothing pastes: check Accessibility permissions
  • Bedrock errors: check AWS credentials and region
  • High CPU usage: first run warms up the model

Development

python src/main.py
  • Menu bar UI via rumps
  • Hotkey via pynput
  • Audio capture via pyaudio
  • ASR via parakeet-mlx
  • Optional Claude-powered edits via Bedrock

Roadmap

  • Preferences UI
  • Streaming/partial results
  • macOS app packaging
  • Latency/quality settings
  • Crash logging

FAQ

Does dictation send audio to the cloud? No. Local only. Editing uses Bedrock if enabled.
What languages are supported? English.
Intel Macs? Works but slower.


Credits

  • Parakeet MLX (NVIDIA Parakeet on Apple Silicon)
  • Originally forked from a Whisper-based dictation app

License

MIT

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

parakeet_dictation-0.1.6.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

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

parakeet_dictation-0.1.6-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file parakeet_dictation-0.1.6.tar.gz.

File metadata

  • Download URL: parakeet_dictation-0.1.6.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for parakeet_dictation-0.1.6.tar.gz
Algorithm Hash digest
SHA256 7047b8cb3720c9d68f46ee87c9c8a5bd4fdd7c6ee2cb749ce074faccc8961fe1
MD5 f800acf62448c327958c4b6aee95bc2e
BLAKE2b-256 05f5d115e3579782cacae91ba2474055bec4692dfd48bd7f80ad11a334b767f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for parakeet_dictation-0.1.6.tar.gz:

Publisher: publish-to-pypi.yml on osadalakmal/parakeet-dictation

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file parakeet_dictation-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for parakeet_dictation-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 067f65b3dba9d538e5b3c3460b1334eaf7568227bc10a9c8f0c3f3dcb1c27ebc
MD5 3e39b198ca9674dd7769d7670224eab8
BLAKE2b-256 76aaca68319174854a18a62ac8838f18385fd99e912b89a5ec2c9f220196d6f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for parakeet_dictation-0.1.6-py3-none-any.whl:

Publisher: publish-to-pypi.yml on osadalakmal/parakeet-dictation

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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