t2t Svelte Themes

T2t

Fn push‑to‑talk dictation for macOS: local Whisper transcription + auto‑paste into the focused app.

t2t

Hold Fn key to record audio, release to transcribe and auto-paste.

How It Works

  • Press and hold Fn key → records microphone audio
  • Release Fn key → transcribes using a local Whisper model, copies to clipboard, and pastes automatically
  • Visual feedback: red orb while recording, orange while processing

Setup

# Install dependencies
npm install

# Development
bun tauri dev

# Build
bun tauri build

Requirements

  • Rust (install via rustup)
  • Bun (recommended) or Node.js 18+
  • macOS (currently macOS only; tested on Apple Silicon)

First Run

On first launch, the app automatically downloads the Whisper model (150MB) to `/.cache/whisper/ggml-base.en.bin`. This happens in the background.

Permissions (macOS)

Grant these in System Settings > Privacy & Security:

  • Accessibility - Required for Fn key detection and focusing the correct field before paste
  • Microphone - Required for audio recording

The app will prompt you if permissions are missing.

Tech Stack

  • Frontend: Svelte 5 + SvelteKit
  • Backend: Rust + Tauri
  • STT: whisper-rs (local Whisper.cpp model)
  • Hotkey: macOS event monitoring (Fn key) + fallbacks
  • Audio capture: native (Rust via cpal)

Notes / Debugging

  • Logs: ~/Library/Logs/t2t.log
  • Model location: ~/.cache/whisper/ggml-base.en.bin

License

MIT

Top categories

Loading Svelte Themes