Skip to content

digimata/parrot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

parrot

A minimal macOS dictation daemon. Push-to-talk, on-device transcription, text inserted at the cursor.

Install

curl -fsSL https://digimata.github.io/parrot/install.sh | sh
parrot setup                       # grants mic + accessibility, downloads the model
parrot install --launch-at-login   # optional — runs in the background on login

Requires: macOS 14+ on Apple Silicon (M1 or newer). Transcription runs on the Apple Neural Engine via CoreML — so the installer refuses to run on Intel.

The installer drops the binary in /usr/local/bin/parrot. Builds are unsigned for now, so the installer strips the quarantine xattr — once you've inspected the script you'll see exactly what it does.

How to use

  1. Run it. Either parrot install --launch-at-login (daemonized, runs forever, lives in the menu bar), or parrot in any terminal tab.
  2. Click into the text field you want to dictate into — Messages, the address bar, a Slack thread, anywhere a cursor blinks.
  3. Hold the fn key, speak, release. A small pill appears at the bottom of the screen while the mic is hot.
  4. The transcript types itself in at the cursor when you release. Usually within 200-300ms.

That's it. There is no record button, no stop button, no "send" — fn is the whole interface.

Note: on most modern Macs the fn key is the bottom-left key. If yours is set to "Change input source" or "Show emoji & symbols," parrot setup will tell you how to flip it back to plain fn.

CLI

parrot                                 # run in the foreground (^C to quit)
parrot setup                           # one-time setup: permissions + model download
parrot install --launch-at-login       # register a LaunchAgent (background daemon)
parrot install --uninstall             # remove the LaunchAgent
parrot doctor                          # check permissions + fn key setting
parrot models list                     # list available models
parrot models download <id>            # pre-download a model
parrot --model whisper-large-v3-turbo  # bigger, multilingual, slower first-run
parrot --hotkey right-option           # change the push-to-talk key
parrot --no-overlay                    # disable the bottom-of-screen pill

Stack

  • Swift — single SPM executable target
  • WhisperKit — Whisper inference via CoreML, ANE-accelerated
  • AVAudioEngine — mic capture
  • CGEventTap — global hotkey
  • CGEvent — text injection at cursor
  • NSWindow (borderless, click-through) — recording-indicator pill

See docs/architecture.md for design notes.

Build from source

swift build -c release
.build/release/parrot --help

About

Ultra-minimalist macOS dictation.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors