Dictation that stays home.
VoxHearth is a small, open-source macOS menu bar app for private dictation. It records into memory, transcribes with a bundled Core ML model, and inserts the result into the focused app. The installed app has no account, telemetry, automatic updater, remote API, or runtime model download.
microphone → in-memory audio → bundled Core ML model → in-memory text → focused app
- Audio and transcripts are not written to a VoxHearth history or cache. If insertion fails, the transcript may remain in memory for up to two minutes so you can Retry or Discard it; it is then discarded automatically.
- The model is part of the signed app and is loaded through a reviewed, network-free FluidAudio subset; down and cache clients are not linked.
- The normal insertion paths use macOS Accessibility or Unicode keyboard events. An optional clipboard compatibility fallback is off by default.
- Logs contain fixed operation names and error types, never audio, transcript text, clipboard contents, or file paths.
- Release checks reject network entitlements, known updater/network dependencies, unapproved model files, and source use of network APIs.
Building, signing, and Apple notarization require network access. Running the installed app does not. Read the complete privacy statement and threat model, including the macOS and destination-app trust boundaries.
- Apple Silicon Mac
- macOS 14 Sonoma or later
- Microphone permission
- Accessibility permission to insert text into other applications
Official binaries exist only as tagged GitHub Releases. If
that page does not list v0.1.0
, no official VoxHearth binary has been published yet; build from source and treat any unsigned local DMG as a development artifact.
To install a published release:
- Open the
latest GitHub releaseand confirm its tag. - Download the matching
VoxHearth-v<VERSION>.dmg
andSHA256SUMS
. - Verify the checksum and, optionally, the GitHub provenance/SBOM attestations by following VERIFY_RELEASE.md. - Open the DMG, drag VoxHearth to Applications, and launch it.
- Complete the microphone and Accessibility permission steps.
The first launch opens a visible setup window. After setup, VoxHearth remains in the menu bar; launching it again reuses the existing instance instead of registering a second dictation listener.
The release workflow publishes a DMG only after it is signed with a Developer ID Application certificate, notarized by Apple, and given a stapled ticket. VoxHearth has no automatic updater; install future versions manually from GitHub Releases.
The default shortcut is Control-Option-Space. Hold it while speaking and release to transcribe and insert. You can also start and stop from the menu bar. Settings let you choose the shortcut, microphone, and one of the model's 25 supported European languages.
The Accessibility insertion path is preferred. Clipboard compatibility is an explicit opt-in for applications that reject the normal paths; clipboard managers and Universal Clipboard can observe that temporary value.
Xcode 26.2 and its Swift 6 toolchain are the pinned release environment.
./scripts/local-check.sh
./scripts/fetch-model.sh
./scripts/build-app-bundle.sh
The app appears at .build/distribution/VoxHearth.app
. It receives an anonymous ad-hoc signature so the complete local bundle launches consistently, but it has no trusted publisher identity or Apple notarization. To create a local, unsigned development DMG in one command:
./scripts/build-release-local.sh
Model and DMG bytes live under .build/
and are never committed. See BUILDING.md for signing, notarization, source bundling, and the exact release credentials.
Vendor/FluidAudioLocal
is an attributed, network-free subset adapted from FluidAudio commit19600a485baa4998812e4654b70d2bab8f2c9949
(release 0.15.5). The root package has no remote runtime dependency.- The model is pinned to Hugging Face revision
aed02740059203c4a87495924f685de3722ae9ce
. locks every permitted model file by byte count and SHA-256.Models/parakeet-tdt-0.6b-v3-coreml.json
- Each release includes checksums, SPDX 2.3 SBOM, provenance metadata, a complete source archive containing the reviewed FluidAudio subset, and GitHub provenance and SBOM attestations.
The signed DMG is not bit-for-bit reproducible because Apple timestamps, notarization tickets, and disk-image metadata vary. Its source and model inputs are immutable and independently checkable.
See CONTRIBUTING.md before opening a pull request. Report vulnerabilities privately as described in SECURITY.md; never put private audio, transcripts, or credentials in a public issue.
VoxHearth is GPL-3.0-or-later. It is a renamed, independent fork of TypeWhisper v1.5.1. See LICENSE, NOTICE, and UPSTREAM.md.
The bundled FluidAudio code is Apache-2.0, its incorporated components retain their notices, and the model is conservatively redistributed under CC BY 4.0. See THIRD_PARTY_NOTICES.md, MODEL_PROVENANCE.md, and LICENSES.
TypeWhisper is a trademark of its respective owner. VoxHearth is not affiliated with or endorsed by TypeWhisper, NVIDIA, FluidInference, or Apple.