Skip to content

Latest commit

 

History

70 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SayIt

SayIt

Just say it, and write well

Open-source voice typing for Windows. Press a shortcut and speak—SayIt transcribes, cleans up, and inserts polished text wherever your cursor is.

License: AGPL-3.0 Windows Latest release

Download for Windows · Try the web demo · 简体中文

SayIt in action: pressing the shortcut, speaking, and the cleaned-up text appearing at the cursor

Trigger the shortcut, speak, and the cleaned-up text is typed in at your cursor — no window switching.

Why SayIt?

Typing is often the slowest part of working with AI. SayIt turns speech into text you can use immediately, while keeping the important choices in your hands:

  • Voice typing anywhere — dictate into editors, chat apps, browsers, and other Windows software.
  • Editable AI cleanup — remove filler words, repair recognition errors, format ideas, or keep a faithful transcript. Every prompt is yours to change.
  • Context-aware writing (off by default) — reads the text around your cursor so new dictation matches its tone and terminology. Select text first and your speech becomes an editing instruction—translate, tighten, rewrite, or ask a question—replacing the selection directly. Password fields are skipped.
  • Flexible speech recognition — use a cloud ASR provider, run a local GGUF model on your own GPU, connect to the public trial server, or host your own backend.
  • English and Chinese interface — the UI follows your system language and can be switched at any time.
  • Hotwords and per-app rules — improve names and technical terms, then change cleanup behavior automatically for different apps.
  • Overlay feedback — a small waveform overlay shows recording state and elapsed time, with optional live captions while you speak.
  • Transparent data flow — the app shows which mode is active and where audio and text are processed.
  • Local history and diagnostics — review recordings, re-transcribe them, and collect useful troubleshooting details without guesswork.

Choose how it runs

Mode Best for Data flow
Local mode Privacy and offline use Speech recognition stays on your PC. With AI cleanup off, nothing leaves the device.
Cloud API mode The best balance for personal use Your PC talks directly to the ASR and AI providers you configure. No SayIt server is involved.
Server mode Teams and managed deployments Audio is processed by a SayIt backend you control—or by the public trial server for a quick start.

Local recognition ships seven GGUF models, with GPU acceleration when available: Parakeet Unified EN (fastest and most accurate for English), SenseVoice Small, Fun-ASR Nano, Nemotron 3.5 ASR (32 languages), and three Qwen3-ASR sizes. Cloud recognition supports Doubao, Qwen, Xiaomi MiMo, and Groq Whisper; AI cleanup works with DeepSeek, Qwen, Groq, MiMo, Ollama, and any OpenAI-compatible endpoint.

A closer look

SayIt home screen showing dictation stats and a feedback box

Home — dictation stats, the active shortcut, and a feedback box that carries your last transcript.


Voice engine settings with Local, Cloud API, and Server mode cards above the model list

Voice engine — choose Local, Cloud API, or Server mode, then download and switch recognition models. Detected GPUs are used automatically.


AI cleanup settings showing built-in presets and per-app prompt rules

AI cleanup — every built-in preset is editable, and per-app rules can switch presets based on the app you are typing into.


AI providers grid with measured response times on each model card

AI providers — bring your own keys, add any OpenAI-compatible endpoint, and test round-trip latency on every card.


History list with search, raw ASR text, timings, and playback controls

History — searchable local records. Expand one to see the raw ASR text, timings, audio playback, and re-transcribe.


Appearance settings with app themes, waveform themes, overlay width, and a live overlay preview

Appearance — three app themes, waveform styles, overlay width, and live captions with a preview of the overlay.

Get started

  1. Download the latest Windows installer.
  2. Open SayIt and choose a voice engine. The default public server is enough for a quick trial.
  3. Press the configured shortcut in any app and speak. By default you press once to start and again to finish; hold-to-talk is available too, under a separate shortcut.

For regular use, choose Local mode or add your own cloud provider keys from the in-app settings. The provider console links are available beside each key field.

Self-hosting

The backend combines FastAPI, WebSocket streaming, Qwen3-ASR, and an optional OpenAI-compatible cleanup model. Docker Compose is the recommended deployment path.

git clone https://github.com/crosswk/SayIt.git
cd SayIt/server
cp config.example.yaml config.yaml
cp .env.example .env
# Add your provider and deployment settings to .env/config.yaml
docker compose up -d --build

GPU speech recognition requires an NVIDIA GPU; 16 GB or more of VRAM is recommended for the default server model. See the server guide for configuration, deployment, security, and API details.

Performance reference

Qwen3-ASR-1.7B with vLLM on an AWS EC2 g5.xlarge (NVIDIA A10G 24 GB):

Audio length ASR latency RTF
30 seconds ~0.8 s 0.025
1 minute ~1.6 s 0.026
2 minutes ~2.1 s 0.017
3 minutes ~2.5 s 0.014
5 minutes ~3.0 s 0.010

Development

Desktop client

cd client
npm install
npm run tauri dev

Requirements: Node.js 18+, Rust 1.75+, CMake 3.20+, and the Vulkan SDK. The first native build compiles the C++ speech engine and may take around 20 minutes; later builds use the cache.

On non-English Windows installations, set CL=/utf-8 before building so MSVC reads UTF-8 source files correctly.

Server

cd server
python3 -m venv .venv
source .venv/bin/activate
pip install -r backend/requirements.txt
cd backend
uvicorn app.main:app --port 8000

Requirements: Python 3.10+ and, for GPU inference, an NVIDIA GPU with CUDA.

Project layout

SayIt/
├── client/       # Tauri + React desktop client
├── server/       # FastAPI backend, gateway, web demo, and deployment files
├── docs/         # User guides and images
└── dev-docs/     # Internal development notes

Contributing

Bug reports, focused pull requests, and feature discussions are welcome. Please open a GitHub issue or read the contribution guide before submitting a larger change.

Contributors


crosswk

Claude (Anthropic)

License

GNU Affero General Public License v3.0

You may use, modify, and self-host SayIt. If you distribute a modified version or run it as a network service, the corresponding source must remain available under the same license.

About

Open-source voice typing for Windows — a Wispr Flow / Superwhisper alternative. Press a shortcut, speak, and AI-polished text lands at your cursor. Local models, your own API keys, or a self-hosted backend.

Topics

Resources

Contributing

Stars

342 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages