ποΈ Production-quality, 100% offline voice typing & AI text refinement for Windows. Hold Ctrl+Space anywhere, speak naturally, and dictate into any app instantly. Powered by .NET 10, Whisper.cpp & LLamaSharp.
C#
6
31 commits
updated Sep 8, 2026
Production-quality, local-first voice typing and on-device AI assistant for Windows.
Hold Ctrl+Space to dictate speech. Hold Shift+Space to transform selected text or ask AI.
Ctrl + Space (Voice Typing / Dictation): Hold from any application (Notepad, VS Code, Word, Chrome, Windows Terminal, Slack, Outlook), speak naturally, and release to inject transcribed text directly at your cursor.Shift + Space ("Ask AI" & Voice Transform Mode):
Shift+Space to command ("Reply politely to this email", "Refactor to LINQ", "Translate to Spanish", "Summarize in 3 bullet points"). The local LLM processes the selection and injects the result.Shift+Space at an empty prompt to generate text on the fly ("Draft an apology for being 5 minutes late", "Write a python regex for email").π Copied to Clipboard (Ctrl+V to paste) so you can click reply and paste immediately.Vacanam automatically detects the foreground application process and tailors AI responses accordingly:
code, devenv, idea64, windowsterminal, powershell): Preserves camelCase, snake_case, variable/function syntax, CLI flags, and avoids turning code into prose.slack, teams, discord, telegram, whatsapp): Natural, punchy, conversational tone suitable for direct messaging.outlook, olk, winword, thunderbird): Professional, well-structured business phrasing.start.wav on key press, success.wav on injection, error.wav on failure) generated natively without external audio dependencies. Can be toggled on/off in Settings.Ctrl+Space, and test their microphone on the spot.π‘ Quick Start & Shortcuts.β‘ Ultra Fast (tiny ~75 MB) β Instant response for short phrases and low-end PCs. (Auto-downloaded on initial setup if no model is present).β Balanced (Recommended) (small ~466 MB) β Optimal sweet spot of speed and high recognition accuracy.π― High Precision (medium ~1.5 GB) β Exceptional accuracy for technical & complex terms.π Maximum Accuracy (large-v3 ~3.1 GB) β Maximum precision for multi-language speech & accents."select all" (Ctrl+A), "undo that" (Ctrl+Z), "redo that" (Ctrl+Y), "copy that", "paste that", "save file" (Ctrl+S), "press enter", "press tab", "press escape", "delete line", "delete word", "switch window" (Alt+Tab), "close window" (Alt+F4), "lock computer"."insert signature", "insert date", "my meeting link") with dynamic {DATE}, {TIME}, and {DATETIME} tags.Qwen2.5-0.5B-Instruct & Llama-3.2-1B-Instruct) via LLamaSharp.%LOCALAPPDATA%\Vacanam\history.db in WAL mode).olk, code, slack, notepad).Mic Muted π / Mic Volume 20% π). βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β System Tray (Idle) β
ββββββββββββββββ¬ββββββββββββββββββββββββββββββββ¬βββββββββββββββ
β Hold Ctrl+Space β Hold Shift+Space
βΌ (Voice Typing) βΌ (Voice Transform / Ask AI)
ββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββ
β WASAPI 16kHz PCM Capture β β Capture Selected Text β
β + Active Window HWND β β + WASAPI Audio + Context β
ββββββββββββββββ¬ββββββββββββββββ βββββββββββββββ¬βββββββββββββββ
βΌ βΌ
ββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββ
β VAD Silence Trimming β β VAD Silence Trimming β
β β Whisper.net STT β β β Whisper.net STT β
ββββββββββββββββ¬ββββββββββββββββ βββββββββββββββ¬βββββββββββββββ
βΌ Transcribed Speech βΌ Voice Instruction
ββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββ
β (Optional) Local LLM Polish β β Local LLM Transform β
β for punctuation & grammar β β (Prompt + Context Profile)β
ββββββββββββββββ¬ββββββββββββββββ βββββββββββββββ¬βββββββββββββββ
βΌ Final Output βΌ Transformed / Answer
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Inject Text into Active Application (Ctrl+V) β
β (Or auto-copy to clipboard if in read-only view) β
ββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β (If History Opt-in Enabled)
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Save Transcript Record to Local SQLite History β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
VacanamSetup-1.x.x.exe from GitHub Releases.Ctrl+Space anytime to dictate.[!NOTE] Code Signing: Free code signing provided by SignPath.io, certificate by SignPath Foundation.
# Clone the repository
git clone https://github.com/avikeid2007/Vacanam.git
cd Vacanam
# Restore dependencies
dotnet restore Vacanam.slnx
# Build Release binary
dotnet build Vacanam.slnx --configuration Release
# Run Vacanam
dotnet run --project src/Vacanam.App --configuration Release
Right-click the Vacanam tray icon (π) and choose Settings:
| Tab | Capabilities |
|---|---|
| Hotkeys | Configure primary dictation key (Ctrl+Space), toggle Push-to-Talk, and enable/disable Shift+Space AI Transform. |
| Speech | Select speech models (Ultra Fast, Balanced, High Precision, Maximum Accuracy) with live download progress. |
| AI | Enable/disable local LLM refinement, manage GGUF models (Qwen 2.5 0.5B, Llama 3.2 1B), and edit System Prompts (Refinement, Transform, Ask AI). |
| Audio | Choose input microphone, test live volume slider (0β100%), toggle mute, adjust VAD threshold, and enable/disable sound effects. |
| Commands | Enable standalone voice shortcuts ("undo that", "copy that"), smart punctuation, and custom expansion snippets ({DATE}, {TIME}). |
| History | Search local SQLite transcripts in real time, filter by application, copy to clipboard, or delete individual entries. |
| General | Toggle Start with Windows, tray notifications, and quick start guide behavior. |
| Privacy | View offline guarantees and opt-in/out of transcript storage. |
Vacanam is built with a strictly decoupled modular architecture across 8 projects:
Vacanam.slnx
βββ src/
β βββ Vacanam.Core/ Pure domain interfaces, models, enums (net10.0)
β βββ Vacanam.Windows/ Win32 P/Invoke (RegisterHotKey, GetForegroundWindow, SendInput, KeySimulator)
β βββ Vacanam.Audio/ WASAPI audio capture, pure C# AudioConverter, VAD silence trimmer
β βββ Vacanam.Speech/ Whisper.net speech recognition & automatic model downloader
β βββ Vacanam.LLM/ LLamaSharp v0.27.0 CPU local LLM text refinement & transform engine
β βββ Vacanam.Input/ Text injection strategies (Clipboard backup/restore, SendInput, UIA)
β βββ Vacanam.Infrastructure/ Settings persistence (JSON), SQLite history, DI registration
β βββ Vacanam.App/ WPF UI (Tray, Floating Overlay, Onboarding Window, Settings Window)
βββ tests/
βββ Vacanam.Tests/ xUnit unit tests across core domain, audio feedback, transform, and hotkeys
All models, settings, databases, and operational logs are stored locally:
%LOCALAPPDATA%\Vacanam\
βββ Models\
β βββ Whisper\
β β βββ ggml-tiny.bin (Ultra Fast ~75 MB)
β β βββ ggml-small.bin (Balanced ~466 MB, Recommended)
β βββ LLM\
β βββ Qwen2.5-0.5B-Instruct-Q4_K_M.gguf (~398 MB)
β βββ Llama-3.2-1B-Instruct-Q4_K_M.gguf (~808 MB)
βββ history.db (SQLite database - opt-in history)
βββ Logs\
β βββ vacanam-YYYYMMDD.log
βββ settings.json
Distributed under the MIT License. Free and open-source forever.
Vacanam is an independent project designed for local offline voice typing and desktop AI assistance on Windows.
C#
99.0%
Inno Setup
1.0%
ποΈ Production-quality, 100% offline voice typing & AI text refinement for Windows. Hold Ctrl+Space anywhere, speak naturally, and dictate into any app instantly. Powered by .NET 10, Whisper.cpp & LLamaSharp.
C#
6
31 commits
updated Sep 8, 2026
Production-quality, local-first voice typing and on-device AI assistant for Windows.
Hold Ctrl+Space to dictate speech. Hold Shift+Space to transform selected text or ask AI.
Ctrl + Space (Voice Typing / Dictation): Hold from any application (Notepad, VS Code, Word, Chrome, Windows Terminal, Slack, Outlook), speak naturally, and release to inject transcribed text directly at your cursor.Shift + Space ("Ask AI" & Voice Transform Mode):
Shift+Space to command ("Reply politely to this email", "Refactor to LINQ", "Translate to Spanish", "Summarize in 3 bullet points"). The local LLM processes the selection and injects the result.Shift+Space at an empty prompt to generate text on the fly ("Draft an apology for being 5 minutes late", "Write a python regex for email").π Copied to Clipboard (Ctrl+V to paste) so you can click reply and paste immediately.Vacanam automatically detects the foreground application process and tailors AI responses accordingly:
code, devenv, idea64, windowsterminal, powershell): Preserves camelCase, snake_case, variable/function syntax, CLI flags, and avoids turning code into prose.slack, teams, discord, telegram, whatsapp): Natural, punchy, conversational tone suitable for direct messaging.outlook, olk, winword, thunderbird): Professional, well-structured business phrasing.start.wav on key press, success.wav on injection, error.wav on failure) generated natively without external audio dependencies. Can be toggled on/off in Settings.Ctrl+Space, and test their microphone on the spot.π‘ Quick Start & Shortcuts.β‘ Ultra Fast (tiny ~75 MB) β Instant response for short phrases and low-end PCs. (Auto-downloaded on initial setup if no model is present).β Balanced (Recommended) (small ~466 MB) β Optimal sweet spot of speed and high recognition accuracy.π― High Precision (medium ~1.5 GB) β Exceptional accuracy for technical & complex terms.π Maximum Accuracy (large-v3 ~3.1 GB) β Maximum precision for multi-language speech & accents."select all" (Ctrl+A), "undo that" (Ctrl+Z), "redo that" (Ctrl+Y), "copy that", "paste that", "save file" (Ctrl+S), "press enter", "press tab", "press escape", "delete line", "delete word", "switch window" (Alt+Tab), "close window" (Alt+F4), "lock computer"."insert signature", "insert date", "my meeting link") with dynamic {DATE}, {TIME}, and {DATETIME} tags.Qwen2.5-0.5B-Instruct & Llama-3.2-1B-Instruct) via LLamaSharp.%LOCALAPPDATA%\Vacanam\history.db in WAL mode).olk, code, slack, notepad).Mic Muted π / Mic Volume 20% π). βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β System Tray (Idle) β
ββββββββββββββββ¬ββββββββββββββββββββββββββββββββ¬βββββββββββββββ
β Hold Ctrl+Space β Hold Shift+Space
βΌ (Voice Typing) βΌ (Voice Transform / Ask AI)
ββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββ
β WASAPI 16kHz PCM Capture β β Capture Selected Text β
β + Active Window HWND β β + WASAPI Audio + Context β
ββββββββββββββββ¬ββββββββββββββββ βββββββββββββββ¬βββββββββββββββ
βΌ βΌ
ββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββ
β VAD Silence Trimming β β VAD Silence Trimming β
β β Whisper.net STT β β β Whisper.net STT β
ββββββββββββββββ¬ββββββββββββββββ βββββββββββββββ¬βββββββββββββββ
βΌ Transcribed Speech βΌ Voice Instruction
ββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββ
β (Optional) Local LLM Polish β β Local LLM Transform β
β for punctuation & grammar β β (Prompt + Context Profile)β
ββββββββββββββββ¬ββββββββββββββββ βββββββββββββββ¬βββββββββββββββ
βΌ Final Output βΌ Transformed / Answer
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Inject Text into Active Application (Ctrl+V) β
β (Or auto-copy to clipboard if in read-only view) β
ββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β (If History Opt-in Enabled)
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Save Transcript Record to Local SQLite History β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
VacanamSetup-1.x.x.exe from GitHub Releases.Ctrl+Space anytime to dictate.[!NOTE] Code Signing: Free code signing provided by SignPath.io, certificate by SignPath Foundation.
# Clone the repository
git clone https://github.com/avikeid2007/Vacanam.git
cd Vacanam
# Restore dependencies
dotnet restore Vacanam.slnx
# Build Release binary
dotnet build Vacanam.slnx --configuration Release
# Run Vacanam
dotnet run --project src/Vacanam.App --configuration Release
Right-click the Vacanam tray icon (π) and choose Settings:
| Tab | Capabilities |
|---|---|
| Hotkeys | Configure primary dictation key (Ctrl+Space), toggle Push-to-Talk, and enable/disable Shift+Space AI Transform. |
| Speech | Select speech models (Ultra Fast, Balanced, High Precision, Maximum Accuracy) with live download progress. |
| AI | Enable/disable local LLM refinement, manage GGUF models (Qwen 2.5 0.5B, Llama 3.2 1B), and edit System Prompts (Refinement, Transform, Ask AI). |
| Audio | Choose input microphone, test live volume slider (0β100%), toggle mute, adjust VAD threshold, and enable/disable sound effects. |
| Commands | Enable standalone voice shortcuts ("undo that", "copy that"), smart punctuation, and custom expansion snippets ({DATE}, {TIME}). |
| History | Search local SQLite transcripts in real time, filter by application, copy to clipboard, or delete individual entries. |
| General | Toggle Start with Windows, tray notifications, and quick start guide behavior. |
| Privacy | View offline guarantees and opt-in/out of transcript storage. |
Vacanam is built with a strictly decoupled modular architecture across 8 projects:
Vacanam.slnx
βββ src/
β βββ Vacanam.Core/ Pure domain interfaces, models, enums (net10.0)
β βββ Vacanam.Windows/ Win32 P/Invoke (RegisterHotKey, GetForegroundWindow, SendInput, KeySimulator)
β βββ Vacanam.Audio/ WASAPI audio capture, pure C# AudioConverter, VAD silence trimmer
β βββ Vacanam.Speech/ Whisper.net speech recognition & automatic model downloader
β βββ Vacanam.LLM/ LLamaSharp v0.27.0 CPU local LLM text refinement & transform engine
β βββ Vacanam.Input/ Text injection strategies (Clipboard backup/restore, SendInput, UIA)
β βββ Vacanam.Infrastructure/ Settings persistence (JSON), SQLite history, DI registration
β βββ Vacanam.App/ WPF UI (Tray, Floating Overlay, Onboarding Window, Settings Window)
βββ tests/
βββ Vacanam.Tests/ xUnit unit tests across core domain, audio feedback, transform, and hotkeys
All models, settings, databases, and operational logs are stored locally:
%LOCALAPPDATA%\Vacanam\
βββ Models\
β βββ Whisper\
β β βββ ggml-tiny.bin (Ultra Fast ~75 MB)
β β βββ ggml-small.bin (Balanced ~466 MB, Recommended)
β βββ LLM\
β βββ Qwen2.5-0.5B-Instruct-Q4_K_M.gguf (~398 MB)
β βββ Llama-3.2-1B-Instruct-Q4_K_M.gguf (~808 MB)
βββ history.db (SQLite database - opt-in history)
βββ Logs\
β βββ vacanam-YYYYMMDD.log
βββ settings.json
Distributed under the MIT License. Free and open-source forever.
Vacanam is an independent project designed for local offline voice typing and desktop AI assistance on Windows.
C#
99.0%
Inno Setup
1.0%