Private dictation for Mac

Your words,
right at the cursor.

Hold the fn key, speak, then release. FreeVoiceTranscribe turns your voice into text locally, then returns it to the supported focused editable field where you started.

Free and open source under the MIT license. Run it from source today; a signed and notarized public download is not available yet.

Runs on
Apple Silicon
Requires
macOS 14+
Launch status
Public build pending
Illustrative product flow · Timing varies by recording length and Mac.

Hold one key. Speak naturally. Keep your work moving.

Voice to caret

A direct path from voice to text.

There is no dashboard between a thought and the place it belongs. The shortcut follows you from app to app.

  1. 01
    fn

    Hold

    Start with a supported editable field focused in the app you are using.

  2. 02

    Speak

    The microphone is active only for the recording you start.

  3. 03

    Release

    Your recording is transcribed by the local model on your Mac.

  4. 04

    Keep moving

    The original app and exact focused field are verified again before insertion. If that check or insertion fails, the transcript is copied instead.

Need both hands? Press fn + Space while recording to switch to hands-free mode. Press fn again when you are done.

Privacy, by architecture

Your voice does not need a round trip through someone else’s cloud.

A

Transcription stays local

After a one-time speech-model download, inference runs on your Apple Silicon Mac.

B

The microphone has a clear boundary

It opens only while you are recording and releases when the recording ends or is cancelled.

C

No account. No transcript archive.

Only the latest transcript persists locally for recovery until a newer result replaces it. The app does not build a transcript history.

Small by design

The useful controls. Nothing to tend.

01

Cancel without residue

Press Esc during a recording to stop and delete the audio.

02

Fail closed, then copy

The app verifies the original process and exact focused editable field before insertion. If verification or insertion fails, it copies the transcript to the clipboard instead.

03

A sensible recording boundary

Each recording is capped at five minutes and can be cancelled sooner.

04

A quiet menu-bar presence

Setup is available when you need it. The app stays out of the Dock when you do not.

Launch status

The local app works.
Public distribution is pending.

There is no public download yet. A distribution build still needs Developer ID signing and Apple notarization before release. Until then, you can run FreeVoiceTranscribe from source.

Current state

Public build pending

The application has been built and verified locally. There is no public release artifact or download link yet.

Before you begin

Requirements

Hardware
Mac with Apple Silicon
System
macOS 14 or newer
First launch
One-time model download
Permissions
Microphone + Accessibility

Accessibility permission enables the global fn shortcut and insertion into a supported focused editable field.

Open source, MIT licensed

Install from source.

You need an Apple Silicon Mac with macOS 14 or newer, Python 3.11 to 3.13, and PortAudio. The first launch downloads the speech model once.

  1. Install PortAudio with Homebrew.

    brew install portaudio
  2. Clone the repository.

    git clone https://github.com/Sdefendre/freevoicetranscribe.git
    cd freevoicetranscribe
  3. Run the launcher. It creates a virtual environment, installs the pinned requirements, and starts the app.

    ./run.sh
  4. Follow the setup window: grant Microphone and Accessibility access, then download the local speech model.

Full instructions, including manual setup and building the macOS app, are in the README on GitHub.

The practical questions

Before you start.

Does it need an internet connection?

Only for the one-time speech-model download. Once the model is on your Mac, transcription runs locally.

Which text fields are supported?

The field must be focused, enabled, and exposed by its app to macOS Accessibility as an editable value or text selection. Support can vary in apps that use custom editors or restrict paste behavior.

What happens if the original field cannot be verified?

The app fails closed: it does not type into a different field. It copies the transcript to the clipboard instead. If copying also fails, the latest transcript remains available from the menu bar.

Why does it need Accessibility permission?

macOS requires Accessibility permission for the global fn shortcut, focused-field verification, and insertion into the supported editable field where you started.

What transcript data is stored?

Only the latest transcript persists locally for recovery until a newer transcript replaces it. There is no transcript history. Temporary recording audio is deleted after completion or cancellation.

What if I start recording by accident?

Press Esc. Recording stops and that temporary audio is deleted without transcription.

Does it run on Intel Macs?

No. FreeVoiceTranscribe currently requires a Mac with Apple Silicon and macOS 14 or newer.

Can I download it now?

Not as a packaged app yet. A public build still needs Developer ID distribution signing and Apple notarization. You can run it from source today; see Install from source.

FreeVoiceTranscribe

Built for the cursor.
Not a dashboard.

Private, local dictation for the moment when typing is slower than thinking.

Apple Silicon · macOS 14+ · Public distribution build pending