VoiceFlow is a macOS menu-bar voice typing app inspired by Freeflow workflows.
- Hold a hotkey to record, release to transcribe
- Smart output modes:
Verbatim,Clean,Clean + Hinglish DictationvsRewritemode- Background-noise filtering
- Paste-based insertion for stable typing
- macOS 13+
- Xcode 15+
- OpenAI API key
- Open
VoiceFlow.xcodeprojin Xcode - Select scheme
VoiceFlow - Run:
Product -> Run
VoiceFlow runs as a menu-bar app (no Dock icon by design).
- Add your OpenAI API key
- Grant Microphone permission
- Grant Accessibility permission
- Grant Input Monitoring permission
System Settings -> Privacy & Security -> Input Monitoring- Add
VoiceFlow.appfrom Xcode build output if needed
- Onboarding
Donestays disabled until all required permissions are granted.
VoiceFlow requires 3 permissions:
- Microphone: capture audio
- Accessibility: inject transcribed text into the active app
- Input Monitoring: listen for global hotkeys
If any permission is missing:
- Hotkeys are unavailable
- Menu warning appears
- Settings shows permission health and quick-fix actions
- Primary:
Fn - Fallback:
Right Option
If Fn does not work:
- Set
System Settings -> Keyboard -> Press π key to=Do Nothing - Disable/reassign Dictation shortcut from
Press π Twice - Use
Right Optionfallback
- Language:
Auto-detectrecommended - Output Quality:
Verbatim: closest to raw speechClean: grammar/punctuation cleanupClean + Hinglish: English stays English, Hindi becomes Latin-script Hindi
- Transcription Mode:
Dictation: preserve spoken phrasingRewrite: cleaner final intent text
- Microphone Filter:
- Higher value = more background filtering
- Good starting range:
0.008to0.012
- Record audio
- Voice activity filtering (with fallback)
- STT transcription (primary + fallback model)
- Post-processing by mode/style
- Inject text into active app
Use the provided release script:
scripts/release_dmg.sh \
--version v1.0.0 \
--app-path dist/VoiceFlow.app \
--bundle-id com.voiceflow.appRequired environment:
DEVELOPER_ID_APP_CERT- Notarization auth:
NOTARYTOOL_KEYCHAIN_PROFILE, orAPPLE_ID+APPLE_APP_SPECIFIC_PASSWORD+TEAM_ID
Output:
dist/VoiceFlow-<version>.dmgdist/checksums.txt
For friend testing:
- Share the notarized DMG from
dist/ - Friend drags app to
/Applications - Friend launches app and grants permissions in onboarding
See INSTALL.md for the full walkthrough, including the one-shot
xattr + codesign --sign - fix for the "permissions don't stick / app crashes
after first use" problem on unsigned DMGs.
TL;DR after installing an unsigned build:
xattr -dr com.apple.quarantine /Applications/VoiceFlow.app
codesign --force --deep --sign - /Applications/VoiceFlow.app
open /Applications/VoiceFlow.appOr just double-click First Run (fix permissions).command from the DMG.
MIT β see LICENSE. Note: MIT is a copyright license for the source code. It has nothing to do with macOS code signing. Distributing a DMG that launches cleanly on another Mac still requires either an Apple Developer ID certificate or the quarantine-strip workaround above.
Check Xcode logs:
Recording startedRecording stoppedTranscription success: ... charsTranscription error: ...
- Verify Accessibility permission
- Verify Input Monitoring permission
- Try
Right Optionfallback
- Open Onboarding or Settings and click
Requestfor Input Monitoring - Click
Open Settingsto jump directly to privacy pane - If still missing, quit app, remove old entry from Input Monitoring list, relaunch and request again
- Increase
Microphone Filter - Reduce ambient noise / use better mic
Use:
Language: Auto-detectOutput Quality: Clean + HinglishTranscription Mode: Dictation
| Symptom | Likely missing permission | Fix |
|---|---|---|
| No recording starts from hotkey | Input Monitoring | Request in onboarding, then open Input Monitoring settings |
| Recording works but no text typed | Accessibility | Request accessibility and enable app in system list |
| No audio captured | Microphone | Request microphone and confirm selected input device |
Sources/App- app lifecycle and menu bar behaviorSources/Services- recording, hotkeys, transcription, injectionSources/Views- popover, onboarding, settings, overlayResources- plist and entitlements
- Built for local development and testing with Xcode
- OpenAI API usage incurs model-based costs