Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WisperLocal — private, on-device dictation for Windows

🌐 Visit tools.dubnext.com to download WisperLocal

Download WisperLocal from tools.dubnext.com

📦 To install: download WisperLocal-Setup.exe from tools.dubnext.com and double-click it

That's everything you need — no Python, no setup, no command line.

The Source Code folder holds the full project (Python code, build scripts, installer config, docs, and tests). You only need it to build or modify WisperLocal for future development — not to use the app.

Press a key. Talk. It types — wherever your cursor is.

Windows 10 | 11 Powered by Whisper Local and private Free and unlimited MIT License

Download · Features · How to use · How it works · Samples · For developers


WisperLocal is a private, on-device dictation app for Windows — a free, local alternative to tools like Wispr Flow. Press a global hotkey, speak, and your words are transcribed by Whisper and pasted straight into whatever app you're using. Nothing leaves your machine — audio is never uploaded, and after a one-time model download it works fully offline.

It's free and unlimited — no accounts, no subscriptions, no telemetry, no per-word caps. A personal project by Chaand Sheikh.

WisperLocal's floating overlay listening while dictating into a text editor

The floating overlay appears right where you're working — speak, then press the hotkey again (or click ✓) and the text lands at your cursor.

⬇️ Download

🟢 Just want to use it? Download the installer below — that's everything you need. No Python, no setup, no command line.

Download WisperLocal from tools.dubnext.com Direct download WisperLocal installer

Get WisperLocal-Setup.exe from tools.dubnext.com or download it directly and run it — it's a per-user installer, no admin required. A 🎙️ icon then appears in your system tray. (Optional AI enhancement needs nothing extra — the model downloads itself on first use.)

Requirements: Windows 10 or 11 · a microphone. Whisper models download automatically the first time you use them.

ℹ️ The installer isn't signed by a recognised publisher yet, so Windows SmartScreen shows a "Windows protected your PC" warning — click More info → Run anyway. (To remove the warning on your own machines, see [code signing](Source Code/docs/CODE_SIGNING.md).)

✨ Features

🎙️ Global hotkey dictation Press Ctrl+Alt+W (configurable) in any app
🌊 Live listening overlay Floating waveform with cancel / insert buttons
📋 Pastes at the cursor Works in any app — keeps your place, no window-switching
✍️ Built-in formatting Capitalization, punctuation, spoken commands, filler removal
🤖 Optional AI polish Fix punctuation with a small local LLM (Qwen / Llama / Gemma) — GPU-accelerated, CPU fallback, never rewrites your words
🧠 Any Whisper model tinylarge-v3-turbo, downloaded on demand with a progress bar
CPU or GPU Runs on CPU; auto-uses your NVIDIA GPU when available
🔁 Toggle or push-to-talk Whichever recording style you prefer
🔒 100% local & private Offline after first download · no accounts · no telemetry
💸 Free & unlimited No subscriptions, no caps, ever

🎬 How to use

  1. Click into any text field — a browser, Notepad, your IDE, a chat box.
  2. Press Ctrl+Alt+W → a beep sounds and the floating waveform appears.
  3. Speak. Press Ctrl+Alt+W again (or click ✓) to stop.
  4. Your text is transcribed, cleaned up, and pasted right where your cursor was.

Double-click the tray icon any time to open the home window, run a system test, or change settings.

WisperLocal home window with a one-click system test

🧠 Models

Pick speed vs. accuracy — models download on demand with a progress bar, so the installer stays tiny (nothing is bundled).

Model Size Speed Accuracy
tiny / base 75–150 MB ⚡⚡⚡ Good for quick notes
small (default) ~480 MB ⚡⚡ Great everyday balance
medium ~1.5 GB More accurate
large-v3-turbo ~1.6 GB ⚡⚡ Best, and fast on a GPU

🤖 Enhanced writing

For an extra touch of polish, WisperLocal can run your transcript through a small local language model that runs fully in-process — no Ollama, no server, nothing to keep running. Pick a lightweight model in Settings (Qwen 0.5B/1.5B, Llama 3.2 1B, or Google Gemma 2 2B); it downloads itself once from Hugging Face and is cached on your machine, then runs offline. It uses your GPU when one is available (cross-vendor, via Vulkan) and falls back to the CPU automatically otherwise. It's deliberately conservative — it only fixes punctuation and capitalization and never rewrites, rephrases, or reorders your words — and is off by default.

"so i think we should ship the feature on friday and tell the team"
                                   ↓
"So I think we should ship the feature on Friday, and tell the team."

🔧 How it works

flowchart LR
  A([Hotkey]) --> B[Record mic]
  B --> C[Whisper<br/>transcribe locally]
  C --> D[Formatting<br/>caps - commands - fillers]
  D --> E{Enhanced<br/>writing?}
  E -- off --> G[Paste at cursor]
  E -- on --> F[Local LLM<br/>polish]
  F --> G
Loading

Every step runs on your computer. Full walk-through: [HOW_IT_WORKS.md](Source Code/docs/HOW_IT_WORKS.md).

⚙️ Settings

Model, hotkey, microphone, language, CPU/GPU, recording mode, formatting rules, and enhanced writing — all from one dialog.

WisperLocal settings: model, hotkey, formatting, and enhanced writing

💬 Samples

Real dictation, cleaned up entirely on-device — more in [SAMPLES.md](Source Code/docs/SAMPLES.md):

🎙️ "the the main point is um we need a lot more testing before we ship" ✍️ WisperLocal: "The main point is we need a lot more testing before we ship."

🗺️ Roadmap

  • Per-app profiles (different model/formatting per application)
  • Custom vocabulary & text replacements
  • Streaming / partial transcription
  • More enhanced-writing backends
  • Linux / macOS support

🧑‍💻 For developers

ℹ️ You only need this section to build or modify WisperLocal. To just use the app, download the installer above — you don't need any of this.

WisperLocal is a Python app (faster-whisper + PySide6). It runs from source on Python 3.12. All source lives in the Source Code foldercd "Source Code" first, or clone the repo.

Run from source
cd "Source Code"
scripts\setup.bat     # creates a venv and installs dependencies
scripts\run.bat       # start it (or double-click scripts\run-hidden.vbs for no console)
Build the app & installer (generate the .exe)

Step-by-step, from a fresh clone to a shippable WisperLocal-Setup-x.y.z.exe:

  1. Install the prerequisitesPython 3.12 and Inno Setup 6 (only needed for step 4).
  2. Open a terminal in the Source Code folder and set up the environment:
    cd "Source Code"
    scripts\setup.bat            :: creates a venv and installs all dependencies
  3. Build the app with PyInstaller:
    scripts\build.bat            :: -> dist\WisperLocal\WisperLocal.exe
  4. Build the installer with Inno Setup:
    scripts\build-installer.bat  :: -> installer_output\WisperLocal-Setup-x.y.z.exe
  5. Done — the installer in installer_output\ is the file you ship (the same kind of file served at tools.dubnext.com).

Details (GPU bundling, Inno Setup) in [PACKAGING.md](Source Code/docs/PACKAGING.md).

Project layout
WisperLocal/
├── README.md  CHANGELOG.md       # this file + version history
└── Source Code/                  # full project, for future development
    ├── LICENSE  requirements.txt
    ├── run_app.py  WisperLocal.spec   # PyInstaller entry + spec
    ├── wisperlocal/    the app — controller, transcriber, overlay, enhancer, ...
    ├── assets/         app icon
    ├── docs/           screenshots + HOW_IT_WORKS - SAMPLES - PACKAGING - RELEASING
    ├── scripts/        setup - run - build - build-installer - run-hidden
    ├── installer/      WisperLocal.iss (Inno Setup)
    ├── tools/          gen_icon.py - gen_assets.py
    └── tests/          smoke_test.py - tts_test.py

Releasing: see [RELEASING.md](Source Code/docs/RELEASING.md) and CHANGELOG.md. Pushing a vX.Y.Z tag triggers GitHub Actions, which builds the GPU-accelerated installer and publishes a Release. The CI builds llama.cpp with the Vulkan backend (GPU on NVIDIA/AMD/Intel, CPU fallback) and AVX disabled (runs on any CPU). A macOS (Metal) job is included but experimental — the app still needs platform adaptation (paste keystroke, startup mechanism) to be fully functional there.

🛠️ Built with

faster-whisper · CTranslate2 · llama-cpp-python · PySide6 · sounddevice · pynput · Inno Setup

📄 License

[MIT](Source Code/LICENSE) © 2026 Chaand Sheikh — do anything you like, just keep the notice. Whisper models carry their own (MIT) licenses.

Built for people who'd rather talk than type — and keep their words to themselves.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages