Portable offline voice typing for Windows, built for coding, research, and fast text capture.
Download Latest Release | View Third-Party Notices | 中文说明
Turn a Windows machine into a portable offline dictation workstation with a bundled runtime, configurable hotwords, and a practical client/server workflow.
- Offline by default: no cloud speech pipeline required for the core workflow
- Portable release: unzip, add models, launch, and use on another Windows PC
- Dual ASR path:
Qwen-ASRpreferred,Fun-ASR-Nano CPUas fallback - Fast text workflow: dictation, clipboard paste, direct typing, and cleanup rules
- Hackable package: hotwords, regex replacement, shortcuts, and LLM roles stay editable
- Download the latest packaged release from GitHub Releases.
- Extract it anywhere on a Windows machine.
- Put the required speech models into
models/. - Run
start_server.exe. - Run
start_client.exe. - Press
Scroll Lockto start and stop recording.
| Area | What you get |
|---|---|
| Runtime | Portable Windows package with bundled dependencies |
| Input flow | Scroll Lock record toggle, clipboard paste mode, and direct typing |
| Recognition | Qwen-ASR first, Fun-ASR-Nano CPU fallback |
| Customization | Hotwords, regex replacement, startup scripts, and role templates |
| Output | Plain text, subtitles, JSON, and post-processing rules |
This repository is source-visible, but the main end-user entry point is the packaged Windows release.
- Download the latest packaged build from the Releases page
- Model files are not included in the repository or release zip
- Keep THIRD_PARTY_NOTICES.md when redistributing the package
This release package:
- includes the portable runtime and launch scripts
- does not include speech model files
- keeps a generic AI-research-oriented hotword set
- removes obvious personal and donation-related content
Model files are not bundled.
You can choose one of the following approaches:
- Download compatible packaged model files from the upstream model release page used by this project:
https://github.com/HaujetZhao/CapsWriter-Offline/releases/tag/models - Check the official upstream model projects and prepare/convert the required files yourself:
https://github.com/alibaba-damo-academy/FunASRhttps://github.com/QwenLM/Qwen3-ASR
After downloading, place the files under the local models/ directory. See models/README.txt.
- Click
Scroll Lockonce to start recording, click again to finish - Clipboard paste mode and direct typing mode
- Portable tray startup and silent startup scripts
- AI-research-oriented default hotwords and correction rules
- Optional LLM roles with blank API keys by default
- File transcription support for subtitles, text, and JSON
Recommended steps on another Windows PC:
- Install Microsoft VC++ runtime if missing.
- Extract the release zip anywhere.
- Download model files separately into
models/. - Run
start_server.exe. - Run
start_client.exe. - Optionally run
install_startup.vbsfor startup integration.
config_client.py: hotkeys, paste mode, clipboard restore logicconfig_server.py: preferred model and fallback thresholdshot.txt: strong replacement hotwordshot-rule.txt: regex replacementshot-server.txt: soft context hotwords for Fun-ASR
- Users who want an offline Windows dictation tool without a full installer workflow
- Developers who want to tweak hotwords, text cleanup, and startup behavior
- Researchers who want a practical local speech-to-text package they can move between machines
The LLM/ folder is included as examples only.
- API keys are blank by default
- you can keep them disabled safely
- if enabled, review each role file before use
This release is based on multiple upstream open/public projects and bundled Python runtime dependencies.
Special thanks to the upstream work that made this portable package practical:
CapsWriter-Offlinefor the overall offline voice typing workflow, code organization ideas, and model packaging conventionsFunASRfor the fallback ASR path and related runtime integrationSherpa-ONNXfor offline speech runtime components used in the packaged environmentQwen3-ASRfor the preferred recognition path and related integration work
Review THIRD_PARTY_NOTICES.md before public redistribution.
If you redistribute or fork this repository publicly, keep that notice file with the package and preserve attribution to the upstream projects listed there.
This package is intended to be practical and hackable rather than fully installer-driven.
- The repository contains the portable Windows runtime for convenience
- Large bundled runtime files are tracked with Git LFS where needed
- Speech model files are intentionally excluded
- Public forks should preserve upstream attribution and notice files
