Files
win-dictate/README.md
T

3.8 KiB

Win Dictation - AI Voice to Text for Windows

A push-to-talk speech-to-text utility for Windows using OpenAI's Whisper model. Record, transcribe, and paste with a single hotkey.

Win Dictation Screenshot

Quick Download

Download Latest Release (WinDictation.zip)

Extract the ZIP file and run win-dictation.exe. The release includes all required DLLs and a Whisper model.


Features

Performance

  • Physical-core threading: Uses one thread per physical core for efficient batch transcription
  • CPU-only: Optimised for the target Intel i5-7th-gen 2-core/4-thread machine
  • Smart model selection: Auto-selects tiny.en for CPU-only, base.en when GPU is present
  • Self-calibrating progress: Learns transcription speed per model and machine, delivering a smooth countdown

User Interface

  • Single-surface rendering: No inter-window seams or hairlines — the entire UI is one painted surface
  • Dark theme: Calm, elevated card design with hover/press feedback
  • Per-monitor DPI awareness: Looks sharp at any display scale
  • System tray: Minimise to tray, global hotkey to record

Audio Processing

  • Push-to-talk: Press Ctrl+Shift+Space, speak, press again to transcribe
  • 500ms auto-end: Stops recording after 500ms of silence
  • Multiple microphones: Select from all available input devices
  • 16kHz sample rate: Optimised for Whisper

Usage

Controls

  • Record: Click the Record pill or press Ctrl+Shift+Space
  • Pin: Keep window always-on-top
  • Copy / Paste / Clear: Text actions
  • Model / Mic: Select from popup menus
  • Hide: Ctrl+Shift+H hides the window

Indicators

  • Level: Live audio energy during recording
  • Progress bar: Smooth, counting-down estimate during transcription
  • Status: Thread count at idle, elapsed time during recording

Building from Source

Prerequisites

  • Windows 10/11
  • CMake 3.5+
  • Visual Studio 2022/2026 with C++ workload
  • SDL2 (included in deps/)

Build Steps

cmake -S . -B build -G "Visual Studio 18 2026" \
  -DSDL2_DIR="deps/SDL2-2.28.5/cmake"
cmake --build build --config Release

The executable will be at build\bin\Release\win-dictation.exe.

Technical Details

Architecture

Hotkey → SDL Capture → Stop → Batch whisper_full → Text → Auto-paste
  1. SDL audio capture: 16kHz mono recording into memory
  2. Stop-and-transcribe: Press stop or hit max length (600s), then one whisper_full call
  3. Progress estimation: Linear model fitted per machine/model, fused with whisper's chunk progress
  4. Text output: Appended to transcript, copied to clipboard, optionally auto-pasted

Model

Place .bin files in models/ next to the executable. The app auto-detects available models:

Model Size Params Best for
tiny.en 75 MB 39M CPU-only systems
base.en 140 MB 74M GPU-accelerated systems

Project Structure

win-dictation/
├── src/              # Application source
│   ├── main.cpp      # UI and message handling
│   ├── transcriber.* # Recording and transcription
│   ├── timing.h      # Progress estimation engine
│   ├── settings.h    # INI persistence
│   ├── text_util.h   # Transcript helpers
│   └── logging.h     # Log utilities
├── whisper/          # Whisper.cpp library
├── ggml/             # GGML tensor library
├── models/           # Whisper model files
├── release/          # Pre-built package
└── CMakeLists.txt    # Build configuration

License

MIT — follows whisper.cpp.

Resources