ParrotParrot

How to Set Up Local Voice Dictation on Mac

Step-by-step guide to running voice dictation entirely on your Mac with no cloud services, no API keys, and no internet required.

KG
Kash GohilCreator of Parrot
Tutorial
January 24, 2026·5 min read

You can run voice dictation entirely on your Mac with zero internet, zero API keys, and zero data leaving your device. Parrot's local mode uses Whisper.cpp for transcription and Ollama for AI cleanup, both running on-device. Setup takes under 5 minutes, and once the models (~4GB) are downloaded, it works fully offline.

This guide walks through every step - from installing the prerequisites to fine-tuning your setup for the best results.

What "local" actually means

When you run Parrot in local mode, two things happen on-device:

  • Transcription uses Whisper.cpp - a C++ port of OpenAI's Whisper model that runs natively on Apple Silicon and Intel Macs. It uses Core ML and Metal acceleration on Apple Silicon for near-real-time performance.
  • Cleanup uses Ollama - a local LLM runner. It handles grammar fixes, filler word removal, and applying your writing style - all without an internet connection. (Cloud users can use OpenAI or Anthropic models instead.)

No audio leaves your machine. No text is sent anywhere. After the initial model download, you don't even need an internet connection.

Prerequisites

Before installing Parrot, you'll need two tools set up on your Mac. Both are free and open source.

1. Install Homebrew (if you don't have it)

Homebrew is a package manager for macOS that makes installing command-line tools easy. Open Terminal and run:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Follow the on-screen prompts. After installation, restart your terminal.

2. Install Whisper.cpp

Whisper.cpp is what handles speech-to-text locally. Install it via Homebrew:

brew install whisper-cpp

Then download a Whisper model. The "medium" model offers the best balance of accuracy and speed:

# Download the medium model (~1.5 GB)
whisper-cpp-download-ggml-model medium

Other model sizes you can choose:

  • tiny (~75 MB) - fastest, lowest accuracy. Good for quick testing.
  • base (~142 MB) - fast, decent accuracy for simple dictation.
  • small (~466 MB) - good middle ground if you're low on disk space.
  • medium (~1.5 GB) - recommended. Accurate for everyday use.
  • large-v3 (~3 GB) - most accurate, but slower. Best for non-English languages.

See the full list of models in the Whisper.cpp models documentation.

3. Install Ollama

Download Ollama from the official site and follow the installer. Alternatively, install via Homebrew:

brew install ollama

Start the Ollama service:

ollama serve

Then pull a model for the AI cleanup step. We recommend llama3.2 for its balance of quality and speed:

# Pull the default cleanup model (~2.5 GB)
ollama pull llama3.2

Other models that work well:

  • llama3.2 (3B, ~2.5 GB) - recommended. Fast and accurate for text cleanup.
  • mistral (7B, ~4.1 GB) - higher quality output, slower on base M1/M2.
  • phi3 (3.8B, ~2.3 GB) - lightweight alternative with good performance.

Browse all available models at the Ollama model library.

Step 1: Install Parrot

Join the waitlist to get access when Parrot launches. On first launch, it'll ask for microphone permission - that's the only system permission it needs.

If macOS shows a "cannot be opened because the developer cannot be verified" warning, go to System Settings → Privacy & Security and click Open Anyway.

Step 2: Choose local mode during onboarding

When you first open Parrot, the onboarding wizard asks whether you want local or cloud mode. Pick Local. You can switch anytime in settings, so this isn't a permanent decision.

Parrot will verify that Whisper.cpp and Ollama are available on your system. If either is missing, you'll see a prompt with install instructions.

Step 3: Verify the models

Parrot will detect the Whisper and Ollama models you installed in the prerequisites. If you want to confirm everything is working, run these commands in Terminal:

# Verify Whisper.cpp is installed
whisper-cpp --help

# Verify Ollama is running and the model is available
ollama list

You should see your chosen models listed. If Ollama isn't running, start it with ollama serve before using Parrot.

Step 4: Start dictating

Press Cmd+Shift+Space (or your custom hotkey) to start recording. Press it again to stop. Your transcription appears where your cursor is - no copy-paste needed.

The first transcription may take a few extra seconds while the models load into memory. Subsequent transcriptions will be faster.

Step 5: Customize your setup

Once basic dictation is working, head to Parrot's settings to tune your experience:

  • Custom vocabulary - add names, technical terms, and jargon so Whisper recognizes them correctly. See our guide on custom vocabulary.
  • Writing context - tell the AI cleanup model what kind of text you typically dictate (emails, code comments, medical notes) so it formats output appropriately.
  • Hotkey - change the default Cmd+Shift+Space to any key combination that fits your workflow.

Performance expectations

Local transcription is slightly slower than cloud APIs. Here's what to expect by hardware:

  • Apple Silicon (M1/M2/M3/M4) - about 1–2 seconds of processing per 10 seconds of audio with the medium model. Metal GPU acceleration makes this feel near-instant for short dictations.
  • Intel Macs - roughly 2–4x slower than Apple Silicon. Consider using the "small" or "base" Whisper model for faster results.
  • RAM - the medium Whisper model needs about 2–3 GB of RAM. If you're running Ollama simultaneously, aim for at least 16 GB total system memory.

Accuracy is very good with the medium Whisper model. It won't match the latest cloud offerings from Deepgram or ElevenLabs on edge cases, but for everyday dictation it's more than sufficient. Adding custom vocabulary helps significantly with proper nouns.

Troubleshooting

  • "Whisper not found" - make sure whisper-cpp is in your PATH. Run which whisper-cpp in Terminal to check. If it's not found, reinstall with brew install whisper-cpp.
  • "Ollama connection refused" - Ollama needs to be running in the background. Start it with ollama serve or launch the Ollama app.
  • Slow transcription - try a smaller Whisper model (small or base). Close memory-heavy apps to free up RAM.
  • Poor accuracy - upgrade to a larger Whisper model, or add frequently misheard words to your custom vocabulary in Parrot's settings.
  • Microphone not working - check System Settings → Privacy & Security → Microphone and ensure Parrot has permission.

Why go local?

Three reasons people choose local mode:

  • Privacy - nothing leaves your Mac. Important for medical professionals, lawyers, and anyone handling sensitive information.
  • No API key required - no external accounts, no setup beyond the initial model downloads.
  • Offline - works on planes, in areas with bad connectivity, or if you just don't want to depend on the internet.

When to consider cloud instead

If you need the absolute fastest transcription, or you're on an older Intel Mac where local processing is slow, Parrot offers two cloud options:

  • BYOK (Bring Your Own Key) - use your own API keys for OpenAI Whisper, Deepgram, or ElevenLabs. You control the provider relationship. Check our comparison of transcription APIs to pick one.
  • Managed mode - let Parrot handle everything. No API keys to manage, we route your audio to the best available provider.

You can switch between local, BYOK, and managed modes anytime in Parrot's settings. Your vocabulary, history, and preferences carry over.

Resources

Try Parrot

Voice dictation for Mac. Free local mode, Pro from $8/mo.