sagascript Svelte Themes

Sagascript

Low-latency, privacy-first dictation for macOS. Push-to-talk transcription with local Whisper models.

Sagascript

Dictate anywhere. Privately. A lightweight menu bar app for macOS and Windows. Press a hotkey, speak, and text appears in any application. Local transcription powered by Whisper — no cloud, no internet required.

Features

  • Push-to-talk dictation -- hold a global hotkey, speak, release to transcribe and paste into any app
  • 100% local transcription -- runs Whisper models on-device (Metal/Core ML on macOS) with no data leaving your machine
  • Privacy by default -- audio is processed in memory and immediately discarded; zero network traffic unless you explicitly opt in to a remote provider
  • No telemetry or tracking -- no analytics, no usage sharing, no data collection of any kind
  • Cloud when you choose -- optionally use OpenAI's API with your own key for maximum accuracy; remote transcription is never the default
  • Multi-language -- English, Swedish, Norwegian, and 90+ other languages
  • CLI + GUI -- full CLI for scripting and automation, menu bar app for everyday use
  • File transcription -- transcribe audio and video files (MP3, WAV, M4A, FLAC, MP4, MKV, OGG, and more)
  • Configurable -- choose your model, language, hotkey, and output behavior
  • Cross-platform -- macOS 13+ (Apple Silicon & Intel) and Windows 10+ (coming soon)

Building from source

Prerequisites

  • macOS: macOS 13.0+ (Apple Silicon or Intel)
  • Windows: Windows 10+
  • Rust 1.75+ (curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh)
  • Node.js 20+ (brew install node on macOS, or download from nodejs.org on Windows)
  • Tauri CLI (cargo install tauri-cli)

Build and run

git clone https://github.com/Magnus-Gille/sagascript.git
cd sagascript
npm install
cargo tauri dev

Build a release binary

cargo tauri build

On macOS the .app bundle will be in src-tauri/target/release/bundle/macos/. On Windows the installer will be in src-tauri/target/release/bundle/msi/ or src-tauri/target/release/bundle/nsis/.

CLI usage

Sagascript includes a full CLI. After building, the binary is at src-tauri/target/release/sagascript (or use the app bundle).

# Transcribe an audio/video file
sagascript transcribe recording.mp3

# Record from microphone and transcribe
sagascript record

# List available Whisper models
sagascript list-models

# Download a model
sagascript download-model ggml-base.en

# Manage settings
sagascript config list
sagascript config set language sv
sagascript config get hotkey

# Generate shell completions
sagascript completions zsh > ~/.zfunc/_sagascript

# Generate man pages
sagascript manpages --dir /usr/local/share/man/man1

Run sagascript --help for the full list of commands.

Permissions

macOS

Sagascript needs the following permissions (macOS will prompt you on first use):

  • Microphone -- for recording audio
  • Accessibility -- for pasting transcriptions into the active app
  • Input Monitoring -- for the global hotkey

Windows

  • Microphone -- for recording audio

Contributing

See CONTRIBUTING.md for development setup, code style, and how to submit changes.

Acknowledgments

  • whisper.cpp by Georgi Gerganov -- the inference engine that makes local transcription fast
  • whisper-rs -- Rust bindings for whisper.cpp
  • Tauri -- the framework powering the native app shell
  • OpenAI Whisper -- the original speech recognition model
  • NbAiLab/NPSC -- Norwegian test audio (CC0, Norwegian National Library)

License

MIT

Top categories

Loading Svelte Themes