Open source · Tauri 2 · Rust

press, speak,
paste!!

Yap is a tiny voice-to-text dictation app for Linux, Windows, and macOS. A global hotkey, a transparent floating pill, and your words land in whatever app is focused.

default hotkey · Ctrl + Shift + Space

Listening...
Features

built to disappear into your workflow.

One hotkey, two transcription backends, and zero friction. Yap stays in the tray and shows a transparent pill when it's listening.

Global hotkey dictation

Hit your shortcut anywhere — terminal, browser, IDE, chat — speak, then hit it again. Yap pastes into the focused app.

Groq cloud, instant.

Whisper-large-v3-turbo via Groq's API. Sub-second transcription for everyday dictation. Free tier is generous.

Local Whisper, offline.

Bundled whisper.cpp via whisper-rs. Pick a model from Tiny (31 MB) up to Large Turbo (874 MB). Cached in memory after first run.

Transparent pill overlay.

A floating, always-on-top indicator that pulses while listening. No window clutter, just vibes.

VAD + noise gate.

Silence is trimmed automatically; samples below 0.5% amplitude are zeroed. Cleaner audio in, cleaner transcripts out.

Cross-platform native.

Tauri 2 + Rust binary. xdotool / ydotool / enigo for keyboard injection on X11, Wayland, Windows, and macOS.

How it works

mic to focused window in milliseconds.

Audio is captured at 16 kHz mono via cpal, gated, trimmed, and sent to your chosen backend. The transcript is written to your clipboard and pasted into whatever app has focus.

01

capture

Mic recording starts at 16 kHz mono with a noise gate live on the stream.

02

clean

Both ends are trimmed at a 1% threshold with 150 ms padding.

03

transcribe

Either POST a WAV to Groq, or run whisper-rs in a blocking thread.

04

inject

Transcript hits the clipboard, then a synthetic Ctrl+V fires.

Backends

cloud or fully offline. your call.

Switch backends anytime in Settings. Local models live in your app data directory and load once per session.

cloud

Groq

whisper-large-v3-turbo, served fast. Bring your own key from console.groq.com.

  • latencysub-second
  • setuppaste API key
  • requiresinternet
offline

Local Whisper

whisper.cpp via whisper-rs. Pick a GGML model that suits your machine.

  • tiny (q5)31 MB
  • base142 MB
  • large turbo (q5)547 MB
  • large turbo874 MB
Install

clone, install, run.

Yap is built from source with Tauri. You'll need Rust, Node 18+, and pnpm. Platform prerequisites are listed in the README.

# 1. Clone the repo git clone https://github.com/xeven777/yap cd yap # 2. Install JS dependencies pnpm install # 3. Run in dev mode (hot-reload Rust + Svelte) pnpm tauri dev # Or build a release binary for your OS pnpm tauri build
Get it on GitHub →