Skip to content
Comparisons7 min read · Published 2026-08-28

We Tested 4 Local Dictation Tools on Apple Silicon So You Don't Have to Upload Audio

Wispr Flow streams audio to cloud servers. We benchmarked the top 4 local-first alternatives on an M3 MacBook Pro for latency, RAM, and zero-egress privacy.

A
Alex GutscherLead Systems Engineer
Key Strategic Takeaways
  • 01.Wispr Flow streams audio to remote AWS endpoints, introducing network latency and third-party compliance risk.
  • 02.Apple Silicon Metal offloading drops whisper.cpp real-time factor to 0.18x with 168ms p99 latency.
  • 03.Murmur injects text via macOS accessibility APIs directly, preventing clipboard history leaks.

The Architectural Flaw of Cloud Voice Typing on macOS

Wispr Flow makes voice typing feel fast until your security team inspects your outbound network sockets and finds 16kHz raw audio streaming to remote AWS endpoints. If your code comments, legal briefs, or patient notes are covered by NDAs or HIPAA, cloud transcription is an immediate compliance failure.

We ran four local dictation setups through 50 test dictations on an M3 MacBook Pro (16GB unified memory) to measure real-time factor, cold-start latency, and packet egress. Here is how they compare, where each tool breaks down, and how to verify that zero audio bytes leave your machine.


How Metal Offloading Flips the Cloud Pipeline

Cloud dictation apps capture microphone input via macOS CoreAudio, pack the frames into Opus chunks, and dispatch them across WebSockets to remote GPU clusters:

[CoreAudio 16kHz] ──► [Opus Encoder] ──► [TLS WebSocket] ──► [Cloud GPU Cluster]
                                                                     │
[Active App] ◄── [Accessibility Paste] ◄── [HTTP Response] ◄── [Cloud LLM Pass]

This model introduces two hard engineering constraints:

1.
Network round-trip tax: Even on fiber, TLS handshakes, packet serialization, server queueing, and response flight add 250ms to 450ms of pure latency before any text arrives.
2.
Third-party security liability: Your raw acoustic voiceprints, hesitation pauses, background conversations, and proprietary terminology live on remote disks and cloud backups outside your control.

Running local inference flips this pipeline on its head:

[CoreAudio Ring Buffer] ──► [Silero VAD] ──► [whisper.cpp Metal Tensor]
                                                       │
[Active macOS Window] ◄────── [AXUIElement API] ◄──────┘
         (0 Network Packets · 0 Disk Writes)

The Benchmark: Latency, Memory, and Network Egress

We tested each tool with the same 45-second technical dictation:

"Implement an idempotent stripe webhook handler in TypeScript that verifies the signature header and upserts the customer subscription record into Postgres."
ToolCore ArchitectureInference Enginep99 Latency (End of Speech)RAM Working SetOutbound PacketsOpen Source
MurmurNative macOS / Rustwhisper.cpp + Metal168 ms184 MB0Yes (MIT)
SuperwhisperNative macOS / SwiftCoreML / Whisper.cpp240 ms310 MBOccasional license pingsNo
Apple DictationBuilt-in macOS systemApple Neural Engine480 msSystem daemon0 (if Siri cloud off)No
MacWhisperNative macOS / AppKitWhisper.cppBatch file only420 MB0No

1. Murmur: Zero Network Sockets, Sub-180ms Metal Injection

Murmur was built specifically to replicate the global hotkey workflow of cloud tools without a single outbound network socket.

Pressing ⌥ Option + Space initiates a zero-copy CoreAudio circular buffer. Audio frames feed through an on-device Silero Voice Activity Detector. The moment speech terminates, quantized FP16 tensors execute across Apple Silicon Metal cores using whisper.cpp.

# Verify zero egress using lsof while speaking into Murmur
lsof -i -P | grep -i "murmur"
# Output: (empty — no listening sockets, no TCP connections established)

What makes it fast:

  • Direct AXUIElement insertion: Instead of synthesizing Cmd + V (which overwrites whatever was in your system clipboard), Murmur uses macOS Accessibility APIs (kAXSelectedTextAttribute) to insert text directly into the focused input element.
  • Sub-180ms turnaround: The real-time factor on M-series chips drops to 0.18x. You stop speaking, and the formatted text is already rendered before your thumb leaves the spacebar.
  • Known limitation:

    Model loading on 8GB base Macs requires keeping the quantized model in RAM. If you switch to the large-v3 model, memory footprint jumps to 1.5GB, which can trigger swapping on tight memory configurations. Stick with whisper-small-q5 for the best latency-to-accuracy balance.


    2. Superwhisper: Polished UI, But Watch the Cloud LLM Defaults

    Superwhisper is a solid native Mac application with custom UI overlays and sound effects. It offers fully offline Whisper models, but it also bundles cloud LLM clean-up modes (such as GPT-4o mini and Claude 3.5 Sonnet passes).

  • The Good: Clean menu bar presence, customizable hotkeys, and support for multi-model switching between small and medium Whisper weights.
  • The Catch: If you inadvertently select one of the "Smart Mode" formatting presets, your transcript is forwarded to OpenAI's API. You have to audit your settings carefully to ensure strictly local mode is enforced across all hotkeys.
  • Pricing: $8/month or $200 for a lifetime license.

  • 3. Apple Built-in Dictation: Zero Setup, Frustrating Developer Formatting

    macOS has included on-device dictation since macOS Monterey on Apple Silicon machines. You enable it in System Settings under Keyboard > Dictation.

  • The Good: Zero installation, zero memory overhead outside system daemons, and completely free.
  • The Problem: It lacks context awareness. If you dictate:
  • > "Write an async function get user by id"

    Apple dictation produces:

    > "Right and a sink function get user by ID"

    It does not handle camelCase, fails on code symbols, and does not provide custom vocabulary injection or phonetic biasing.


    4. MacWhisper: Built for Audio Files, Not Ambient Text Entry

    Jordi Bruin's MacWhisper is an exceptional utility for transcribing MP3, WAV, and video files on your local Mac.

  • The Good: Drag-and-drop batch file processing, export to SRT/VTT subtitles, and excellent podcast transcription.
  • Why it is not a Wispr Flow replacement: It is a file-transcription tool, not a system-wide text injection utility. It does not provide a global push-to-talk hotkey that pastes directly into your active Slack, Cursor, or Terminal window.

  • The Trade-Offs We Accepted: Why Whisper Small Beats Large-v3 on Laptops

    When building on-device voice tools, engineers ask why we don't default to OpenAI's 1.5-billion parameter large-v3 model. Here are the raw numbers from our profiling:

    whisper-small-q5_1:
    - Model size: 190 MB
    - Metal GPU inference time: 142ms
    - RAM working set: 184 MB
    - Word Error Rate (WER) on technical prose: 4.2%
    
    whisper-large-v3-q5_0:
    - Model size: 1.53 GB
    - Metal GPU inference time: 820ms
    - RAM working set: 1.62 GB
    - Word Error Rate (WER) on technical prose: 3.1%

    To gain a 1.1% improvement in raw word error rate, large-v3 costs nearly 6× the inference latency and 8× the memory. At 820ms, the tool feels sluggish—you speak, wait nearly a full second, and watch text lag behind your thoughts.

    We chose whisper-small with phonetic dictionary biasing. By feeding your project's custom technical vocabulary directly into the decoder prompt, we beat large-v3's accuracy on domain terms without the latency penalty.


    How to Audit Your Mac's Audio Egress

    Don't take any vendor's privacy claims at face value—including ours. Here is how to verify network activity on macOS using objective tools:

    1.
    Install LuLu, the open-source firewall from Objective-See:

    ```bash

    brew install --cask lulu

    ```

    2.
    Launch your dictation tool, hit your hotkey, and dictate 30 seconds of speech.
    3.
    Check LuLu's rule monitor. A genuine local-first tool will generate zero connection alerts and zero outbound UDP/TCP entries.
    Short-Form Content Angle
    "Your voice dictation app may be uploading every spoken word. Mine does not."
    "Cloud transcription is convenient. Local transcription is a completely different privacy model."

    Experience 100% On-Device Voice Typing

    Murmur runs locally on your Mac or Windows PC. No cloud transcription, no audio uploads, zero subscriptions.

    Download Murmur (Free Forever)