cd /news/artificial-intelligence/show-hn-dictata-local-whisper-dictat… · home topics artificial-intelligence article
[ARTICLE · art-97521] src=github.com ↗ pub= topic=artificial-intelligence verified=true sentiment=· neutral

Show HN: Dictata – Local Whisper dictation with LLM cleanup

Dictata v0.1.0, a 100% local system-wide voice dictation app for Windows built in Rust, transcribes speech via whisper.cpp and offers optional LLM cleanup, with no data leaving the machine. The release supports hotkey dictation, streaming mode, Vulkan GPU acceleration, multiple audio sources, and custom vocabulary, but Linux is not supported in this version.

read4 min views1 publishedAug 15, 2026
Show HN: Dictata – Local Whisper dictation with LLM cleanup
Image: Michielbdejong (auto-discovered)

100% local system-wide voice dictation for Windows, in native Rust. Press a global hotkey, speak, press again: the text is transcribed locally by whisper.cpp and pasted into the active application. No data ever leaves the machine.

Current release: v0.1.0 — see CHANGELOG.md.

Hotkey dictation(toggle or push-to-talk), automatic paste into the active application, floating dock with waveform (configurable size, opacity and position).Continuous mode (streaming): text is inserted as you speak, at every detected .** Silence skipping (VAD)**: optional whisper.cpp voice-activity detection on standard (non-streaming) dictation — less compute and fewer hallucinations on silence. Downloads a small (~2 MB) model on first use; toggle in Configuration.Vulkan GPU transcription(AMD/Intel/NVIDIA) or CPU — whisper-rs with thevulkan

feature.Audio sources: microphone, system audio (WASAPI loopback) or a mix of both (meeting mode).** Output modes**: raw, or post-processing through a local OpenAI-compatible LLM (cleanup, email, message, list…), with customizable prompts.Transcribe a file(audio/video, History page) — any format handled by ffmpeg.- Custom vocabulary and replacements injected as the initial prompt. - Built-in ggml model library: download, delete, and hardware-aware recommendations (detected GPU/VRAM when running on Vulkan, CPU/RAM otherwise). HuggingFace search: install any ggml.bin

model from a direct URL, a repo (owner/name

) or a keyword search.fr / en / es interface, dark theme, system tray icon, transcription history.

  • Windows 10/11. Linux is not supported in this release — seeLINUX.mdfor what works, what does not, and why. ffmpeginPATH

(only for "Transcribe a file").- To build with GPU support: the Vulkan SDKand the Visual Studio Build Tools (CMake + Ninja included).

cargo build --release

Build specifics:

MAX_PATH workaround (Windows): whisper.cpp'svulkan-shaders-gen

sub-project can exceed the Windows MAX_PATH limit (260 characters) and break MSBuild (FTK1011/C1083). If that happens, create a local (untracked).cargo/config.toml

pointing the build to a short path at a drive root:

[build]
target-dir = "C:/wt"   # any short path

The executable and its

config.json

then live in<target-dir>\<profile>\

. - After a

cargo clean

, rebuild inside a Visual Studio environment with the Ninja generator:

VsDevCmd.bat -arch=amd64 && set CMAKE_GENERATOR=Ninja && set CMAKE_GENERATOR_INSTANCE= && set VULKAN_SDK=<SDK path> && cargo build

For a CPU-only build (no Vulkan SDK required):

cargo build --release --no-default-features
powershell -ExecutionPolicy Bypass -File scripts\release-windows.ps1 -Variant both

Runs the tests, builds, and writes dist\dictata-<version>-windows-x86_64[-cpu].zip

with its SHA-256. The zip contains only dictata.exe

, README.md

, LICENSE

and CHANGELOG.md

: no config.json

is shipped (the app writes its own defaults on first run, and a development config.json

carries personal data). The binary is self-contained — no DLL to ship alongside it; the Vulkan build uses the provided by the graphics driver.

The executable carries its icon and version metadata, embedded by build.rs

via winresource

. The icon itself is drawn by a script rather than checked in as an opaque blob — edit the numbers and regenerate all sizes at once:

powershell -ExecutionPolicy Bypass -File scripts\make-icon.ps1

scripts/release-linux.sh

mirrors the packaging script, but has never been run — see LINUX.md.

  • Launch the executable: the application lives in the system tray.
  • Open Settings(tray menu, or set theDICTATA_OPEN_SETTINGS=1

environment variable at launch): pick a model in the Models page (built-in download), set the hotkey, language and audio source. - Place the cursor where you want to write, press the hotkey (default Ctrl+Alt+Space

), speak, press again.Hold for about half a second to cancel the current take — Escape is read globally, so a plain tap is left to the application you are typing into.Esc

The configuration is read from config.json

next to the executable, or from the directory pointed to by the DICTATA_HOME

environment variable. The file must be UTF-8 without BOM.

GPU: gpu

config field — "auto"

(default, uses Vulkan when available), "cpu"

, "vulkan"

, "cuda"

.

Module Role
main.rs
Orchestration: states, hotkey, dock, transcription threads
audio.rs
cpal capture (mic / loopback / mix), 16 kHz resampling, ffmpeg decoding
transcriber.rs
whisper-rs wrapper (model , transcription)
streaming.rs
Continuous mode: -based chunking, progressive emission
settings.rs
Settings window (8 pages, egui) — presentation
settings_logic.rs
Settings business logic, testable without UI
dock.rs
Floating dock (waveform, states)
modes.rs / llm.rs
Output modes and local LLM post-processing
models.rs
ggml catalog, download/delete, HuggingFace search, paths
i18n.rs
fr/en/es translations (tr() )
config.rs / history.rs / paste.rs / hotkey.rs / tray.rs / hardware.rs / platform.rs
Config, history, paste, global hotkey, tray, hardware detection, Windows integration
cargo test

64 unit tests (config, resampling, mixing, modes, settings logic, hardware rating, HuggingFace query parsing, audio-context sizing, history retention, cancel gesture, download safety…). A CLI example is provided:

cargo run --example transcribe -- <file.wav>   # DICTATA_GPU=1 for GPU

Licensed under the MIT License with the Commons Clause — see

LICENSE.

Free to use, copy, modify, distribute and self-host, for personal or any other purpose.You may not: you cannot sell the software, or offer a paid product or service (hosting, SaaS, paywall, paid support…) whose value derives substantially from it.Sellit

© 2026 Antoine Chatry.

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @dictata 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-dictata-loca…] indexed:0 read:4min 2026-08-15 ·