dahshury/WinSTT

WinSTT: local-first speech-to-text, text-to-speech app. Portable, minimal, easy to use.

30

stars

292

commits

TypeScript

primary language

Sep 7, 2026

updated

dahshury.github.io/WinSTT/

README

WinSTT

WinSTT is a local-first speech-to-text desktop app for macOS, Linux, and Windows. Press a hotkey, speak, and the transcription lands at your cursor in any app. It also includes real-time preview, file transcription, dictionary corrections, snippets, transcription history, optional LLM cleanup, and text-to-speech.

Docs: winstt.github.io/WinSTT · Latest alpha: GitHub Releases

WinSTT main window with a live audio visualizer, hotkey, microphone, and model footer.

Download

One click, straight to the file — no scrolling through the releases page.

Download WinSTT for Windows   Download WinSTT for macOS   Download WinSTT for Linux

Windows portable (.zip) · Debian / Ubuntu (.deb) · Fedora / RHEL (.rpm) · All v0.1.3-alpha.9 assets

Windows x64 builds, including the portable zip, require an AVX2-capable processor (Intel Haswell/Broadwell or AMD Zen, or newer) because the bundled ONNX Runtime targets x86-64-v3.

What It Looks Like

The recording overlay can sit at the bottom of the screen or dock at the top as a dynamic island. Both previews below use the same 16:9 canvas so the README does not jump between short and tall media.

Floating-bottom WinSTT recording overlay.
Floating bottom
Dynamic-island WinSTT recording overlay.
Dynamic island
Model picker with model families, accuracy and speed bars, sizes, and quantization badges.
Model picker
Speech-to-text settings with local and cloud model controls.
Speech-to-text
LLM cleanup settings with provider, model, tone, and modifiers.
LLM cleanup

Features

  • Four recording modes: push-to-talk, toggle, listen, and wake word.
  • On-device STT through ONNX Runtime via ort, with CPU fallback and platform accelerators where available.
  • 70+ model catalog covering Whisper, NeMo, Moonshine, GigaAM, Kaldi, and more.
  • Real-time preview with a fast model while the main model produces the final text.
  • Optional LLM cleanup through local Ollama or opt-in cloud providers.
  • Text-to-speech, dictionary corrections, snippets, and searchable history.

Develop

The project builds on macOS, Linux, and Windows. Local Windows development needs the Visual Studio build tools, Bun, and the Rust toolchain. Use the helper scripts in tools/windows/; they set up the VS environment and run from the repository root.

# Dev server with hot-reload renderer + Rust backend
tools\windows\tauri-dev.ps1

# Release build without bundling an installer
tools\windows\tauri-build.bat

# Rust-only checks from src-tauri/
tools\windows\cargo-env.bat check

cargo build --release is not enough for a standalone app because Tauri still loads the dev URL. Use bun run tauri build --no-bundle through the helper for a standalone executable.

Documentation

The public documentation site is https://winstt.github.io/WinSTT/. The TanStack Start + Fumadocs source lives in docs/ and deploys to GitHub Pages through .github/workflows/pages.yml.

bun run docs:dev
bun run docs:build
bun run docs:build:pages

Structure

PathPurpose
src/Tauri renderer (React, Feature-Sliced Design)
src-tauri/Rust backend: winstt::* modules, STT engines, audio, settings, IPC
docs/TanStack Start docs site and documentation assets
public/, windows/, messages/Static assets, secondary windows, and i18n messages
packages/Shared renderer packages, including the model picker
tools/Developer tooling: platform build helpers, i18n checks, benchmark helpers, and asset generation

Support

If WinSTT is useful to you, you can support its development on Ko-fi.

Support me on Ko-fi

License

MIT. See LICENSE and THIRD_PARTY_NOTICES.md.

Contributors

dahshury

283 commits

dahshury/WinSTT

WinSTT: local-first speech-to-text, text-to-speech app. Portable, minimal, easy to use.

30

stars

292

commits

TypeScript

primary language

Sep 7, 2026

updated

dahshury.github.io/WinSTT/

README

WinSTT

WinSTT is a local-first speech-to-text desktop app for macOS, Linux, and Windows. Press a hotkey, speak, and the transcription lands at your cursor in any app. It also includes real-time preview, file transcription, dictionary corrections, snippets, transcription history, optional LLM cleanup, and text-to-speech.

Docs: winstt.github.io/WinSTT · Latest alpha: GitHub Releases

WinSTT main window with a live audio visualizer, hotkey, microphone, and model footer.

Download

One click, straight to the file — no scrolling through the releases page.

Download WinSTT for Windows   Download WinSTT for macOS   Download WinSTT for Linux

Windows portable (.zip) · Debian / Ubuntu (.deb) · Fedora / RHEL (.rpm) · All v0.1.3-alpha.9 assets

Windows x64 builds, including the portable zip, require an AVX2-capable processor (Intel Haswell/Broadwell or AMD Zen, or newer) because the bundled ONNX Runtime targets x86-64-v3.

What It Looks Like

The recording overlay can sit at the bottom of the screen or dock at the top as a dynamic island. Both previews below use the same 16:9 canvas so the README does not jump between short and tall media.

Floating-bottom WinSTT recording overlay.
Floating bottom
Dynamic-island WinSTT recording overlay.
Dynamic island
Model picker with model families, accuracy and speed bars, sizes, and quantization badges.
Model picker
Speech-to-text settings with local and cloud model controls.
Speech-to-text
LLM cleanup settings with provider, model, tone, and modifiers.
LLM cleanup

Features

  • Four recording modes: push-to-talk, toggle, listen, and wake word.
  • On-device STT through ONNX Runtime via ort, with CPU fallback and platform accelerators where available.
  • 70+ model catalog covering Whisper, NeMo, Moonshine, GigaAM, Kaldi, and more.
  • Real-time preview with a fast model while the main model produces the final text.
  • Optional LLM cleanup through local Ollama or opt-in cloud providers.
  • Text-to-speech, dictionary corrections, snippets, and searchable history.

Develop

The project builds on macOS, Linux, and Windows. Local Windows development needs the Visual Studio build tools, Bun, and the Rust toolchain. Use the helper scripts in tools/windows/; they set up the VS environment and run from the repository root.

# Dev server with hot-reload renderer + Rust backend
tools\windows\tauri-dev.ps1

# Release build without bundling an installer
tools\windows\tauri-build.bat

# Rust-only checks from src-tauri/
tools\windows\cargo-env.bat check

cargo build --release is not enough for a standalone app because Tauri still loads the dev URL. Use bun run tauri build --no-bundle through the helper for a standalone executable.

Documentation

The public documentation site is https://winstt.github.io/WinSTT/. The TanStack Start + Fumadocs source lives in docs/ and deploys to GitHub Pages through .github/workflows/pages.yml.

bun run docs:dev
bun run docs:build
bun run docs:build:pages

Structure

PathPurpose
src/Tauri renderer (React, Feature-Sliced Design)
src-tauri/Rust backend: winstt::* modules, STT engines, audio, settings, IPC
docs/TanStack Start docs site and documentation assets
public/, windows/, messages/Static assets, secondary windows, and i18n messages
packages/Shared renderer packages, including the model picker
tools/Developer tooling: platform build helpers, i18n checks, benchmark helpers, and asset generation

Support

If WinSTT is useful to you, you can support its development on Ko-fi.

Support me on Ko-fi

License

MIT. See LICENSE and THIRD_PARTY_NOTICES.md.

Contributors

dahshury

283 commits

Languages

TypeScript

50.8%

Rust

45.2%