Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/npateriya/LocalVoiceAI/llms.txt

Use this file to discover all available pages before exploring further.

This guide walks you through installing LocalVoiceAI, granting the two required macOS privacy permissions, starting the background service, and making your first voice transcription — all in under five minutes on an Apple Silicon Mac running macOS 14 or later.

Installation

Choose the installation method that suits you. Downloading a pre-built release is the fastest path; building from source is useful if you want to modify the code or stay on the latest commit.

Finishing Setup

1

Grant macOS Permissions

LocalVoiceAI requires two privacy permissions to operate. Open System Settings → Privacy & Security and add ~/.local/bin/localvoice to both lists:
  • Accessibility — allows LocalVoiceAI to simulate Cmd+V and paste transcribed text into the active window.
  • Input Monitoring — allows LocalVoiceAI to detect the Fn+F10 keypress system-wide, regardless of which app has focus.
Make sure both toggles are blue (enabled) before continuing. See the Permissions page for detailed screenshots and troubleshooting.
2

Start the Service

Load the LaunchAgent to begin listening for keypresses. If you installed from the release tarball:
launchctl start com.localvoiceai.localvoice
If you built from source, you can use the Makefile shortcut instead:
make start
3

Dictate Into Any App

Switch to any application — a chat window, a code editor, a browser text field, a terminal — and try it out:
  1. Place your cursor where you want text to appear.
  2. Hold Fn+F10.
  3. Speak naturally.
  4. Release Fn+F10.
LocalVoiceAI captures your audio, transcribes it locally on the Metal GPU, and pastes the result at the cursor within one to two seconds.
4

Check the Logs

If something doesn’t work as expected, inspect the live log output:
tail -f /tmp/localvoice.log
The log shows recording start/stop events, transcription output, and any errors — including missing-permission messages.
The two privacy permissions persist across reboots, so you only need to grant them once. However, if you later run make update to rebuild and reinstall the binary, both permissions must be re-granted because the binary hash changes and macOS invalidates the previous authorization.
On first run, LocalVoiceAI automatically downloads the Whisper ggml-small model (~244 MB) from HuggingFace to ~/.cache/localvoice/. This happens once in the background — you will see download progress in the log. Subsequent starts use the cached model and are instantaneous.

Build docs developers (and LLMs) love