VoiceInk is a native macOS application that transcribes what you say to text almost instantly. You can find all the information and download the app from here.
- ποΈ Accurate Transcription: Local AI models that transcribe your voice to text with 99% accuracy, almost instantly
- π Privacy First: 100% offline processing ensures your data never leaves your device
- β‘ Modes: Intelligent app detection automatically applies your perfect pre-configured settings based on the app/ URL you're on
- π§ Context Aware: Smart AI that understands your screen content and adapts to the context
- π― Global Shortcuts: Configurable keyboard or mouse shortcuts for quick recording and push-to-talk functionality
- π Personal Dictionary: Train the AI to understand your unique terminology with custom words, industry terms, and smart text replacements
- π Smart Modes: Instantly switch between AI-powered modes optimized for different writing styles and contexts
- π€ AI Assistant: Built-in voice assistant mode for a quick chatGPT like conversational assistant
As an open-source project, you can build VoiceInk yourself by following the instructions in BUILDING.md. However, the original, compiled version available via Homebrew includes additional benefits like automatic updates, priority support via Discord and email, and helps fund ongoing development.
macOS ties privacy permissions to an app's code signature, and an ad-hoc signed build gets a new signature every time it is rebuilt. The Accessibility and Input Monitoring permissions granted to the previous build therefore stop applying, even though System Settings may still show VoiceInk as allowed, and the recording shortcut silently stops working. After each rebuild, quit VoiceInk, replace the copy in /Applications with the new VoiceInk.app, and reset the stale permissions. Then open VoiceInk, grant Accessibility and Input Monitoring again in System Settings (the open commands below go straight to each pane), and finally quit and reopen VoiceInk: the app only installs its keyboard listener at launch, so the shortcut will not respond until it is restarted with the permissions in place.
tccutil reset Accessibility com.prakashjoshipax.VoiceInk
tccutil reset ListenEvent com.prakashjoshipax.VoiceInk
open "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility"
open "x-apple.systempreferences:com.apple.preference.security?Privacy_ListenEvent"Signing local builds with a stable Apple Development certificate (make local LOCAL_CODESIGN_IDENTITY="<SHA or name>", see BUILDING.md) avoids this: once granted, permissions survive rebuilds.
- macOS 15.0 or later
- Building from Source - Detailed instructions for building the project
- Contributing Guidelines - How to contribute to VoiceInk
- Code of Conduct - Our community standards
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
- whisper.cpp - High-performance inference of OpenAI's Whisper model
- FluidAudio - Used for Parakeet model implementation
- TranscribeCpp for Swift - SwiftPM distribution of transcribe.cpp, used for local GGUF transcription models
- SenseVoice Small by FunAudioLLM / Alibaba - Multilingual model available under the FunASR Model Open Source License Agreement
- Sparkle - Keeping VoiceInk up to date
- KeyboardShortcuts - User-customizable keyboard shortcuts
- LaunchAtLogin - Launch at login functionality
- MediaRemoteAdapter - Media playback control during recording
- Zip - File compression and decompression utilities
- SelectedTextKit - A modern macOS library for getting selected text
- Swift Atomics - Low-level atomic operations for thread-safe concurrent programming
Made with β€οΈ by Pax, hacked by @chris-kobrzak