Codeberg

Dictate.
Locally.
Done.

Hold the hotkey → speak → finished text lands in the active app.
No cloud service, no subscription, no third-party app. 100 % offline.

macOS 14+ Apple Silicon AGPL v3 No subscription

Three promises. No exceptions.

100% local

Your audio never leaves your Mac. whisper.cpp runs directly on your hardware — no cloud, no server, no outbound calls.

No subscription, no account

Build once, use forever. No sign-up, no subscription, no tracking. The tool is yours.

Open source — AGPL v3

Full source code on Codeberg. An independent implementation built on whisper.cpp, FluidAudio (Parakeet, Apache 2.0) and Ollama.

What Voxista does

A native macOS menu bar app — lean, precise, no bloat.

Three speech engines

Choose your engine: Whisper (best quality), Parakeet (near-instant on the Neural Engine, 25 European languages) or Apple Speech (on-device, no download). Settings → Models explains the trade-offs — all run locally. Downloaded models are checked against a known checksum.

Double-tap, hold, or the fn key

Default: double-tap — doesn't conflict with special characters like @. Alternatively push-to-talk (hold) or the fn/🌐 globe key. Freely assignable shortcut, e.g. ⌥ Space. Esc discards the recording.

Enhancement modes

Raw · Clean up · As email · Translate to English — plus custom actions in the editor. Optionally use a cloud provider (Langdock / OpenAI-compatible) instead of Ollama locally.

Warm mode

"Keep model in memory" starts whisper-server in the background — transcription begins instantly, no model load time on first dictation.

Live preview while dictating

Beta (Parakeet): the recording window shows your words as you speak — waveform, auto-scroll, incoming text. What finally gets inserted is always the full, clean result.

Dictionary, cleanup & snippets

Automatic word replacement (dictionary.txt), a proper noun list (vocabulary.txt) for the LLM, and text snippets via trigger word. New: optional text cleanup without any AI — strip filler words and turn spoken punctuation into symbols.

History

Recent transcriptions accessible in the window and directly from the menu bar menu. Search, pin, delete individually, drag & drop out.

Meeting detection

If another app is using the microphone (Teams, Zoom & co.), Voxista offers to transcribe your side of the conversation — your audio lands as a take. Transcript and AI minutes go to the clipboard on request; the automatic copy can be switched off separately for each.

Recording HUD with waveform

A floating pill shows live status: real-time waveform, word counter "✓ 128 words inserted", 10-second countdown on silence.

Automation & CLI

The same binary as a command-line tool — for Shortcuts, the URL scheme voxista:// (token-protected) and an optional webhook (e.g. n8n).

Updates install themselves

One click on “Install version …” and Voxista downloads the package, verifies its signature and restarts — no Gatekeeper prompt on updates. A small badge on the menu bar icon shows when one is waiting.

How it works

Four steps from hotkey to text in the active app — entirely on your Mac.

Record

Hotkey & microphone

Hold or double-tap — Voxista records at 16 kHz WAV. The menu bar icon pulses red. Esc cancels.

Transcribe

Your chosen engine, locally

Whisper, Parakeet or Apple Speech — all run entirely on your hardware. Long recordings are split at silence points and transcribed with progress updates.

Optional

LLM enhancement

Ollama (qwen2.5) cleans up, formats, or translates the raw text — depending on the selected mode. Dictionary and vocabulary are applied.

Output

⌘V into the active app

Text is pasted via clipboard + ⌘V exactly where the cursor is. Optionally followed by an automatic Return.

Scripting & integration

Voxista as a building block in your automation stack — Shortcuts, shell scripts, webhooks.

Terminal
# ./build.sh --install sets up the command automatically
voxista --transcribe interview.mp3             # audio → text (local)
voxista --enhance "um the meeting is tomorrow" --mode clean
voxista --list-modes                           # list available modes
URL scheme

voxista:// — trigger actions directly from other apps, Shortcuts and scripts. Starting a dictation (start, toggle, mode) takes your personal token from Settings → Automation, which also holds a ready-made example URL; stop and cancel work without one.

Webhook

Each completed dictation is optionally sent to a webhook (e.g. n8n) — secured with a Bearer token stored in the macOS Keychain.

Shortcuts app

"Run shell script" action — uses the same engine and settings as the running app.

Getting started

The fastest path is the prebuilt download. If you prefer, build from source instead — both options are described below.

Option A — Download (recommended)

3 steps
# 1. Download & unzip, drag Voxista.app to /Applications:
#    → codeberg.org/kleinschmidt/Voxista/releases/latest
# 2. First launch: right-click the app → "Open" → "Open"
#    (Voxista is self-signed, not notarized — one-time prompt only)
#    Alternatively, in Terminal:
xattr -dr com.apple.quarantine /Applications/Voxista.app
# 3. The Whisper model is downloaded automatically on first launch (guided setup)

whisper is already bundled in the download — Homebrew is not required. From then on the app updates itself: it checks daily, and one click downloads the new version, verifies its signature and restarts — without a Gatekeeper prompt.

Option B — Build from source · 1 — Prerequisites

Terminal — once
# Homebrew (brew.sh) and Swift Command Line Tools are required
# Full Xcode is not needed

# Speech recognition
brew install whisper-cpp
mkdir -p ~/whisper-models
curl -L -o ~/whisper-models/ggml-large-v3-turbo-q5_0.bin \
  https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-turbo-q5_0.bin

# Optional LLM enhancement (local)
brew install --cask ollama-app
ollama pull qwen2.5:7b

2 — Build & install

Terminal
git clone https://codeberg.org/kleinschmidt/Voxista
cd Voxista
./setup-signing.sh   # once: create a stable signing certificate
./make-icon.sh        # generate app icon
./build.sh --install  # build and install to /Applications
# The built app runs without Homebrew (whisper is bundled)
First launch: In System Settings → Privacy & Security allow Voxista under Accessibility (global hotkey + paste) and grant Microphone access when prompted on first dictation.
Sharing as a ZIP: Voxista is self-signed (ad-hoc), not notarized. Recipients need to lift the Gatekeeper block once: xattr -dr com.apple.quarantine /Applications/Voxista.app Or: right-click the app → "Open" → "Open".

Changelog

What each version brought — newest first.

1.26 August 5, 2026
  • Important for automations: voxista:// now needs a token for start, toggle and mode — you find it under Settings → Automation, with a ready-made example URL. Without it any website could start a recording and have the transcript pasted into its own window. stop and cancel keep working without one
  • Fixed: quitting Voxista while a meeting or dictation was recording left an unreadable file behind — the recording is now finalized properly
  • Fixed: a failed transcription now says why (no model, cancelled, timed out) instead of looking like “nothing was said” — and the recording is kept so nothing is lost
  • Fixed: if part of a long transcription fails, the gap is marked in the text instead of quietly disappearing
  • Fixed: a damaged settings file (snippets, dictionary, modes, history) is no longer overwritten with an empty one — your data stays recoverable
  • New: copy the meeting transcript to the clipboard whenever you want, and turn the automatic copy off if it gets in your way — separately for transcript and AI minutes
  • New: downloaded speech models are checked against a known checksum
1.25 August 5, 2026
  • New: Voxista installs its updates itself — one click on “Install version …” downloads the package, checks its signature and restarts. No more Gatekeeper prompt on update (takes effect from the next version onwards, since this one still has to be installed by hand)
  • New: the menu bar icon shows a small download badge when an update is waiting
  • Fixed: after granting Screen Recording or Accessibility, macOS quits Voxista to apply the permission — Voxista now says so beforehand and comes back on its own instead of staying gone
1.24 July 15, 2026
  • New (Beta): live preview while dictating with Parakeet — the recording window shows the text as it comes in, with waveform and auto-scroll (the text that gets inserted is always the full final result)
  • New: text cleanup without AI — remove filler words and turn spoken punctuation into symbols (Settings → Dictionary, opt-in, language-aware)
  • New: use the fn/Globe key as a dictation hotkey
  • New: choose the Parakeet model (v3 or v2)
  • Fixed: quitting the app no longer hangs waiting for the speech server
1.23 July 13, 2026
  • New: choose your speech engine — Whisper (best quality), Parakeet (near-instant on the Neural Engine, 25 European languages) or Apple Speech (no download). Settings → Models explains the trade-offs
  • Meeting transcripts and AI minutes now also land in the history — and the result panel gets a “Show in Finder” button
  • Onboarding: start dictating right away without a model download, plus a try-it-out field
  • Note: requires macOS 14 (Sonoma) or later from this version on
1.22 July 7, 2026
  • Improved: meeting detection now watches all microphones, not just the system default — meetings that record through a headset are detected reliably
1.21 July 6, 2026
  • New: a debug logging switch in the menu — turn it on, restart once, and Voxista records everything (including errors) to a log you can send to the developer with a single click (“Send log to developer”)
1.20 July 6, 2026
  • New: “Record meeting now” in the menu bar and in Settings — start a meeting recording by hand, even when automatic detection doesn’t trigger (e.g. a non-default microphone or an app that isn’t on the list)
1.19 July 2, 2026
  • Security pass after a code review: the webhook token is only sent over HTTPS/localhost and the update link is validated before opening
  • Fixed a crash when a custom model name contained spaces or special characters; custom entries can no longer escape the models folder
  • whisper-server shuts down cleanly on restarts — its port can no longer stay blocked (“keep model in memory” no longer silently falls back)
1.18 June 16, 2026
  • Fixed: the meeting-capture panel now reliably appears when a meeting is detected (Teams, Zoom, FaceTime …) — it was invisible before
  • With this, the full flow works: stereo capture, speaker-separated transcript (Me / Others) and one-click AI minutes
1.17 June 14, 2026
  • Third-party license texts are now bundled and linked from the About tab (plus a warranty disclaimer)
  • Contact address updated to hello@heinemann.media
1.16 June 12, 2026
  • Terminal (CLI), error messages and first-run templates are now fully bilingual
  • AI prompts and meeting speaker labels follow the app language
  • Stability: hardened context capture against rare crashes
1.15 June 12, 2026
  • Voxista now speaks English: the interface defaults to English and can be switched to German (Settings → General)
  • All menus, panels and dialogs are fully bilingual
  • Built-in AI prompts and meeting speaker labels follow the app language
1.14 June 12, 2026
  • Voxista is now available for download: prebuilt releases on Codeberg (signed ZIP)
  • Update notice: the app checks for new versions daily — one click in the menu takes you to the download (no auto-install)
  • About tab: “Check for updates” button
1.13 June 12, 2026
  • Renamed: Voxify becomes Voxista — logo and features stay the same
  • All your data (settings, dictionary, takes, history, API keys) migrates automatically
  • The CLI is now “voxista”; URL scheme voxista:// (voxify:// remains as an alias)
1.12 June 12, 2026
  • Meeting recording (phase 2): now captures the other side too — stereo take (you on the left, everyone else on the right)
  • Speaker transcript: “Me:” / “Others:” interleaved by time, right from the meeting panel (also via CLI)
  • One-click AI minutes: topics, decisions, action items, open questions (new “Meeting minutes” mode)
1.11 June 11, 2026
  • Meeting detection (phase 1): when another app holds the microphone and Teams/Zoom & co. are running, Voxista offers to transcribe your side — your audio lands as a take
  • New working logo: Voxista brand mark as app icon, in the About tab and onboarding (vectorized in Branding/)
1.10 June 11, 2026
  • Long recordings (> 5 min) are split at silence points and transcribed with progress ("Part 2 of 5") — much more reliable than processing in one go
  • HUD position choosable: bottom or top center
  • Webhook can be secured with an auth token (Bearer, Keychain); donate button in the About tab
1.9 June 11, 2026
  • Dictation language (German / English / Auto) switchable directly from the menu
  • Text snippets: dictate a trigger word (e.g. "Signature") → snippet is inserted
  • Automation: CLI with --json/--stats/--export-history, URL scheme voxista://, optional webhook (n8n)
  • Polish: confirmation dialogs before deleting, auto-save on exit, visible errors
  • HUD word count: "✓ 128 words inserted"
1.8 June 11, 2026
  • Takes list: every recording is kept (timestamp), with player, transcribe, export and individual delete
  • Silence auto-stop: after extended silence the HUD counts down 10 s — speaking again cancels it (limit configurable)
1.7 June 11, 2026
  • Live preview in the HUD (experimental): running transcript every ~2.5 s — requires warm mode
  • Freely assignable hotkey (e.g. ⌥ Space) in addition to right modifier keys
  • Esc cancels an active recording; "✓ Inserted" confirmation after dictation
  • Menu bar icon reflects state (pulsing red while recording)
  • History: search, pin, delete individually, drag & drop entries out
  • Actions editor: "Try it" tests the prompt with sample text
  • Guided first launch (microphone, Accessibility, model) instead of silent failure
  • Recording tab with live waveform; system mute applies there too
1.6 June 11, 2026
  • Warm mode "keep model in memory": whisper-server keeps the model loaded — transcription starts immediately
  • Dictation history accessible directly from the menu bar menu
  • New recording HUD with live waveform
  • Bug fixes: download status check, clipboard protection
  • Performance improvements: file caches, faster settings
  • First unit tests
1.5 June 10, 2026
  • File transcription via drag & drop
  • Permissions overview with live status
  • Microphone selection
  • Waveform player
  • Visible enhancement errors
1.4 June 10, 2026
  • Settings with sidebar
  • Cloud provider for AI enhancement (Langdock/custom, keys in Keychain)
  • Editable preview before inserting
  • CLI mode for Shortcuts
1.2 / 1.3 June 10, 2026
  • Double-tap activation
  • Settings window
  • Custom models
  • App-specific modes
  • Context from selected text
  • History
  • Level meter
1.1 June 10, 2026
  • Dictionary & vocabulary
  • Hybrid hotkey
  • VAD (Voice Activity Detection)
  • Model management
  • Sound feedback
1.0 June 10, 2026
  • Initial release
  • Push-to-talk dictation
  • 4 modes (Raw, Clean up, As email, Translate to English)
  • Local Whisper + Ollama

Voxista stays free