Skip to content

charan7105/VoiceType

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VoiceType — Hold a key to talk, release to paste

macOS 14+ MIT License Download

Works in any app — WhatsApp, Slack, VS Code, Notes, Terminal, browser, everywhere.


Install

2. Unzip and move to Applications

3. Open Terminal and run this (one-time, allows the app to open):

xattr -cr /Applications/VoiceType.app

4. Launch VoiceType from Applications

5. Grant permissions when prompted:

It will ask for Just click
Accessibility Open Settings → Toggle VoiceType ON
Microphone Allow
Speech Recognition Allow
Automation (System Events) Allow

That's it. You're ready.


Usage

Hold Right Option (⌥) key Wait 0.5 seconds
Speak Say whatever you want to type
Release the key Text appears at your cursor

Right Option (⌥) is the key to the right of your spacebar.

Click the icon in your menu bar to change the trigger key, hold duration, or turn it off.


FAQ

Where is the app? It's in your menu bar (top-right of your screen). Look for the icon.

Nothing happens when I hold the key? Make sure Accessibility permission is granted: System Settings → Privacy & Security → Accessibility → Toggle VoiceType ON.

It records but doesn't paste? Grant Automation permission: System Settings → Privacy & Security → Automation → Allow VoiceType to control System Events.

Can I change the trigger key? Yes. Click ✻ in the menu bar and pick a different key.

Does it send my voice to the internet? No. Everything happens on your device. No accounts, no API keys, no cloud.




Developer Guide — build from source, architecture, contributing

Build from Source

# Clone
git clone https://github.com/charan7105/VoiceType.git
cd VoiceType

# Install XcodeGen (one-time)
brew install xcodegen

# Generate Xcode project and build
xcodegen generate
xcodebuild -scheme VoiceType -configuration Release build

The built app will be at:

~/Library/Developer/Xcode/DerivedData/VoiceType-*/Build/Products/Release/VoiceType.app

Requirements

  • macOS 14.0 (Sonoma) or later
  • Xcode 16+ (to build from source)

Architecture

Component Technology
Key detection NSEvent global monitor + CGEvent tap
Speech-to-text Apple Speech framework (on-device)
Text injection AppleScript → System Events
UI SwiftUI MenuBarExtra
Recording overlay NSPanel (floating, non-activating)

Project Structure

Sources/
├── VoiceTypeApp.swift           # App entry, MenuBarExtra
├── AppDelegate.swift            # Lifecycle + service coordination
├── AppState.swift               # Observable state
├── KeyMonitor.swift             # Global key detection
├── SpeechService.swift          # Apple Speech STT
├── TextInjector.swift           # Clipboard + paste
├── MenuBarView.swift            # Menu bar dropdown
└── RecordingOverlayWindow.swift # Floating indicator

Roadmap

  • Whisper integration for better accuracy
  • Custom keyboard shortcut picker
  • Windows support via Tauri
  • Multilingual support
  • Auto-punctuation

Contributing

PRs welcome. The codebase is ~500 lines of Swift. Fork, make changes, submit a PR.


License

MIT — do whatever you want with it.

About

Hold a key to talk, release to paste. System-wide voice-to-text for macOS.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages