English · Русский · macOS version →
A Windows tray app for voice dictation with punctuation, powered by Groq Whisper.
Press a hotkey, speak, and Voica inserts clean, punctuated text into whatever field you're typing in. Bring your own Groq API key.
Voica is a tiny background app that lives in the system tray. It's a native Windows (C# / .NET 8 / WPF) implementation of Voica (macOS), and follows the same cross‑platform behavior spec.
Voica is free and stays free — every feature, no subscription. If it saves you time, you can back the work on Boosty: the road to 1.0 for both the Windows and the macOS version.
- Global hotkey dictation — Push‑to‑talk (hold) or Toggle (press to start/stop). Default:
Toggle + Right Alt. Pick a preset key (Right/Left Alt, CapsLock, ScrollLock, Pause) or record
a custom combination (e.g.
Ctrl+Shift+Space). In Toggle mode a double tap starts the recording, so a stray press can't. - Dictation bar — a floating capsule at the bottom of the screen shows the live level while you speak, with × to cancel (the audio is discarded) and ✓ to stop and transcribe. It never takes focus, so the text still lands in the field you were typing in. Can be turned off, and then the tray icon indicates the state instead.
- Punctuation via Groq Whisper — pick the model (
whisper-large-v3-turboorwhisper-large-v3) and the language (auto‑detect, great for mixed Russian/English, or force Russian/English). - Local offline engine (optional) — recognition fully on your PC via GigaAM v3 (Russian, with punctuation), no network and no API key. If the cloud is selected but the network is down, Voica automatically falls back to the local engine when the model is installed.
- Auto‑insert into the focused field (synthesized Ctrl+V), and the text is always copied to the clipboard as a fallback. Or show an editable result window.
- History (SQLite) — browse, re‑copy, play the audio, delete (one or a whole multi‑selection), and export the entire history to Markdown, CSV or JSON.
- Audio retention — keep recordings for N days (default 30; 0 = keep forever), or don't store audio at all.
- Vocabulary — a hint list of terms/names Whisper often mangles, plus an optional AI pass that fixes the ones still garbled. More: Словарь терминов и ИИ-исправление (in Russian).
- Update checks against this repo's GitHub releases (opt‑in, once a day). Voica never downloads or installs anything itself — it just opens the release page.
- Privacy — no backend, no telemetry. Network is used only for Groq (cloud transcription / AI correction) and GitHub (optional update checks, one‑time model download). With the local engine, audio never leaves your PC. Your API key is stored encrypted with Windows DPAPI.
- English & Russian UI, by system language.
Settings — five tabs: engine and API key, dictation, vocabulary, data, about.
Dictation bar — while recording (level wave, cancel, stop):
History — browse, re‑copy, play, delete, export:
Tray icon (idle):
- Windows 10 version 1809 (build 17763) or later, x64.
- A Groq API key for cloud recognition — create one at https://console.groq.com (free tier's
whisper-large-v3-turbo). Not needed if you use the local offline engine.
Download from the latest release and run it — no installer needed:
Voica.exe(~80 MB) — fully self‑contained, nothing else to install.Voica-fx.exe(~37 MB) — smaller, but needs the .NET 8 Desktop Runtime installed once.
Voica runs in the system tray (no main window). See below about the SmartScreen warning.
Voica isn't code‑signed yet, so on first run SmartScreen shows "Windows protected your PC." Click More info → Run anyway. This is expected for an independent, unsigned app — not a sign that something is wrong:
- Voica is open source, and every release is built by GitHub Actions from the tagged commit
(release author
github-actions[bot]), not on anyone's personal machine — so the binary is reproducible from the source you can read. - You can verify your download: the release page shows a
sha256:digest next to each asset. Compare it with your file (PowerShell):The hash must match the one shown on the release.Get-FileHash Voica.exe -Algorithm SHA256
Code signing (which removes the warning) is planned once the project has enough public visibility to qualify for the free SignPath Foundation program.
On first launch (with no key set) the Settings window opens. Paste your Groq API key, click
Validate, then Save (it's encrypted with DPAPI). You can also set the key via the
GROQ_API_KEY environment variable for development.
- Dictate: double‑tap Right Alt (default), speak, press Right Alt once to stop (Toggle mode). In PTT mode, hold to talk and release to send.
- While recording, the bar at the bottom of the screen shows the level: × cancels (the recording is discarded), ✓ stops and transcribes.
- The recognized text is inserted into the focused field and copied to the clipboard.
- Right‑click the tray icon for Settings, History, Check for Updates, and About.
With the dictation bar on (the default), the tray icon stays neutral. Turn it off and the icon reflects state instead: idle (blue), recording (pulsing red), transcribing (amber).
| Setting | Notes |
|---|---|
| Dictation mode | PTT (hold) or Toggle |
| Hotkey | Preset single key or a custom combination |
| Double tap to start | Toggle mode only; on by default (0.35 s window) |
| Show a recording bar | The bottom‑of‑screen capsule; on by default |
| Output | Insert into field, or show a result window |
| Store audio recordings | On by default |
| Show a notification after inserting | The tray balloon; can be turned off |
| Check for updates on launch | Once a day, opt‑in |
| Delete audio older than | N days; 0 = keep forever |
| Vocabulary | Terms/names hint (last 800 chars used) |
| Groq API key | Validate + Save (DPAPI); Show to reveal |
| Delete all data… | Wipes history, audio, key, settings (random‑phrase confirmation) |
Everything lives outside the executable in %APPDATA%\Voica\, so it survives updates:
history.sqlite— transcription historyaudio\*.wav— stored recordings (16 kHz mono PCM)credentials.dat— DPAPI‑encrypted Groq keymodels\— the local recognition model (if downloaded)settings.json— settingsvoica.log— local diagnostic log
Switch Settings → General → Recognition engine to Local and Voica transcribes entirely
on your PC with Sber's GigaAM v3 (MIT) — Russian speech with punctuation and text
normalization, no network and no API key. The model (~215 MB, int8 ONNX) downloads once from
this repo's model release
with SHA‑256 verification, lives in %APPDATA%\Voica\models\, and can be deleted in
Settings → Data. Notes:
- The vocabulary hint (§ Whisper
prompt) works only with the cloud engine; AI term correction works with both (it needs a key and network). - If cloud is selected but the network is down and the model is installed, Voica falls back to the local engine automatically and shows a small notice.
- With the local engine (and AI correction off), audio and text never leave your PC.
- ONNX conversion by istupakov/gigaam-v3-onnx (MIT).
Voica uses your own Groq API key (BYO-key) — the app never ships or shares anyone's key. Each user gets a free key at console.groq.com; usage is subject to Groq's Terms of Use. Free-tier limits (whisper-large-v3-turbo): 20 req/min, 2000/day, 7200 audio-seconds/hour — far more than dictation needs.
If you enable AI term correction (Settings → Vocabulary), Voica also calls a Groq chat
model. The model isn't hardcoded: Voica reads the live model list for your key and picks the
best available one (by default llama-3.3-70b-versatile, falling back through other families) —
so when Groq retires or renames a model, the app heals itself instead of needing an update. You
can also pin a specific model in the picker next to the toggle. If your Groq organization
restricts model access, allow the chosen model at console.groq.com → Settings → Limits;
otherwise the correction silently falls back to the raw transcription (fail-open by design).
Requires the .NET 8 SDK.
# Build
dotnet build Voica.sln -c Debug
# Self-test (no GUI/network) — exit code 0 on success
Start-Process -FilePath "src\Voica\bin\Debug\net8.0-windows10.0.17763.0\Voica.exe" `
-ArgumentList "--test-all" -Wait -PassThru -NoNewWindow
# Single-file self-contained release
dotnet publish src\Voica\Voica.csproj -c Release -p:PublishSingleFile=trueSee CONTRIBUTING.md for architecture notes and the self‑test conventions.
MIT © Ivan Ushakov.







