Activedev toolsSwiftMIT

Just Speak

System-wide offline voice dictation for macOS

2 stars37 viewsAdded 1mo ago

AI-Agent Assisted

Tier 2
Claude Code
Signals: README-built-with-claude

README

JustSpeak

Built with Claude Code - AI-assisted development from concept to completion. ๐Ÿค–

A lightweight macOS menu bar app for offline voice dictation, with optional cloud LLM post-processing. Hold Command, speak, and your words appear at your cursor.

Features

  • Offline Transcription - Core speech-to-text runs locally with Whisper.cpp
  • System-Wide - Works in any application where you can type
  • Simple Hotkey - Hold Command to record, release to transcribe and paste
  • Cancel Anytime - Press Escape while holding to cancel recording
  • Optional LLM Cleanup - Route transcribed text to an OpenAI-compatible endpoint before paste
  • Privacy Control - Keep everything local or opt in to cloud post-processing
  • Accurate - Powered by OpenAI's Whisper large-v3-turbo model
  • Native macOS - Built with Swift, optimized for Apple Silicon

Requirements

  • macOS 13.0 or later
  • Apple Silicon (M1/M2/M3) recommended
  • Microphone access permission

Installation

Download Pre-built App

Install with Homebrew Cask:

brew install --cask zyuapp/tap/just-speak

Or download the latest zip from the GitHub Releases page and move JustSpeak.app to /Applications.

Note: builds are currently unsigned and not notarized, so macOS may show a security warning on first launch. If that happens, open System Settings > Privacy & Security, scroll to Security, click Open Anyway for JustSpeak, then confirm Open.

Build from Source

# Clone and setup
git clone https://github.com/zyuapp/just-speak.git
cd just-speak
./setup-whisper.sh

# Build
xcodebuild -project JustSpeak.xcodeproj -scheme JustSpeak -configuration Debug clean build

# Find built app
ls -la ~/Library/Developer/Xcode/DerivedData/JustSpeak-*/Build/Products/Debug/JustSpeak.app

Usage

  1. First Launch - Grant microphone permission when prompted, download Whisper model from menu
  2. Record - Hold Command key (โŒ˜) and speak
  3. Optional LLM Setup - Open app menu > Settings... and add Base URL, Model, and API key
  4. Transcribe - Release Command to stop and auto-paste
  5. Cancel - Press Escape while holding to abort

Tech Stack

  • SwiftUI + AppKit - Menu bar app with NSApplicationDelegateAdaptor
  • AVFoundation - Native audio recording (16kHz mono WAV)
  • Whisper.cpp - Local transcription with Metal acceleration
  • Sandboxed - Minimal permissions, secure by design

Development

See CLAUDE.md for architecture details and development guidelines.

Acknowledgments

Tags

built-with-claude-codeswiftmacos

Similar Tools