WinSTT logoWinSTT
Settings

General

Recording mode, audio feedback, display language, the visualizer and recording overlay, live-transcription placement, and startup behavior.

The Recording tab is where you choose how recording is triggered, how WinSTT looks while you dictate, and how it starts at sign-in. It is the busiest settings tab — and several controls appear or hide depending on the recording mode you pick.

3
Sections — Recording, Display, Startup
4
Recording modes
5
Visualizer styles
6
Display languages, fully translated

Recording

This section sets the trigger strategy and the feedback you get while dictating. The first control swaps the rest of the section in and out.

The Recording section: the four-way recording-mode switcher and the Recording Sound toggle with its Sound Library.
The Recording section — mode switcher and the recording-sound library.
Recording Modedefault ptt
general.recordingMode

A four-way switcher: Push-to-Talk Toggle Listen Wake Word. Push-to-talk holds to record; toggle starts/stops on a tap; listen transcribes system audio from a loopback device; wake word arms a keyword detector. Switching mode shows or hides the mode-specific controls below. See Recording modes for when to use each.

Manual Toggle Stopdefault false
general.manualToggleStop

Shown only in Toggle mode. When on, a toggle session runs continuously from the first press to the second — silence-based auto-stop and silence-timing punctuation tuning are both disabled. Use it for long-form dictation where soft pauses were cutting you off.

Loopback Devicedefault null
general.loopbackDeviceIndex

Shown only in Listen mode. Picks which WASAPI loopback (system-audio) device is transcribed. null uses the default render device. This lets WinSTT caption a call, video, or anything playing through your speakers.

The Recording tab in Listen mode — the loopback device picker and the Speaker Diarization toggle replace the microphone controls.
Listen mode swaps the mic controls for a loopback device picker and a diarization toggle.

Wake-word controls (Wakeword mode)

These three controls appear only when the mode is Wakeword.

The Recording tab in Wake Word mode — the wake-word keyword selector, the sensitivity slider, and the detection-timeout control.
Wake Word mode exposes the keyword, its sensitivity, and a post-trigger timeout.
Wake Worddefault alexa
general.wakeWord

A keyword that arms recording when spoken. The list unifies 18 free keywords across two engines — a 2x badge means both Porcupine (PVP) and openWakeWord (OWW) agree (highest accuracy); single-engine keywords carry just the PVP or OWW badge. The detector backend is chosen automatically from the keyword you select.

Wake Word Sensitivitydefault 0.6
general.wakeWordSensitivity

A 0.00–1.00 slider in 0.05 steps (21 positions). Lower is stricter — fewer false triggers, may miss soft pronunciations. Higher is more permissive. 0.60 is a sensible middle for most voices.

Wake Word Timeoutdefault 5
general.wakeWordTimeout

Seconds the gate stays armed after a detection (1–30). If you say the wake word but never follow up, the engine returns to listening after this window — protection against stray noise triggering a long-tail recording.

Speaker Diarizationdefault false
general.speakerDiarization

Shown only in Listen mode. Colors each speaker in the transcript and tracks identities across the session. First use downloads ~32 MB of ONNX models. Toggles live — no restart.

Audio feedback

System Audio Reductiondefault 0
general.systemAudioReductionWhileDictating

Now lives on the Output tab. A 6-step slider — Off, 20%, 40%, 60%, 80%, Mute — that ducks your speaker volume while you dictate so playback doesn't bleed into the mic. Intermediate values drop to (100 − value)% of the previous level; the original volume is restored when recording stops.

Recording Sounddefault true
general.recordingSound

Hidden in Listen mode. Plays a short chime when recording starts and stops. Turning it on reveals the Sound Library below.

Custom sound library

With Recording Sound on, the Sound Library lists the built-in chime plus any clips you add. Drag in or browse for a .wav/.mp3 (≤ 3 s), then rename, preview, select, or delete each entry. The active clip is stored as general.recordingSoundPath (empty = built-in); your uploads live in general.recordingSoundLibrary. The chime plays through the output device set on the Audio tab (general.outputDeviceId).

Display

This section controls the interface language and everything you see while recording.

The Display section: the display-language picker, the visualizer-type switcher, and the recording-overlay size slider.
The Display section — interface language, visualizer style, and the recording overlay.
Display Languagedefault en
useLocaleStore

The interface language, independent of the language you dictate in. Six locales are fully translated — Arabic (العربية), English, Spanish (Español), French (Français), Hindi (हिन्दी), and Chinese (中文). Arabic renders right-to-left. (Additional seeded locales appear in the list but still display English until their translation passes land.)

Visualizer

The visualizer is the animated audio meter shown in the main window and the recording overlay. Pick the style that suits you — all five react live to your mic input.

Visualizer Typedefault bar
general.visualizerType

A five-way switcher: Bar, Grid, Radial, Wave, and Aura. The gallery below shows each reacting to speech.

The gallery below is rendered from the app's visualizer styles so each clip can stay high-resolution, consistent, and easy to compare.

Bar (default)
Grid
Radial
Wave
Aura
Visualizer Bar Countdefault 9
general.visualizerBarCount

Shown only when the type is Bar. The number of bars, 3–21 in odd steps (3, 5, 7 … 21). More bars read denser; fewer read calmer.

Recording overlay

Recording Overlaydefault on, xs
general.showRecordingOverlay

A 6-step slider — Off · XS · S · M · L · XL — that both turns the floating overlay on and sets its size. Position 0 (Off) hides the overlay and reverts overlay-only live-display choices to in-app; XS–XL pick the visualizer height. Greyed out in Listen mode (the overlay never shows there). Size is stored as general.visualizerSize.

Overlay Modedefault floating-bottom
general.overlayMode

Greyed out when the overlay is off. Two layouts (shown below): Floating bottom — a two-piece pill near the bottom of the primary display; and Dynamic island — a morphing capsule docked to the top-center that grows as the live preview fills in.

Floating bottom — a two-piece pill at the bottom.
Dynamic island — a top-center notch with a timer.
Live Transcription Displaydefault both
general.liveTranscriptionDisplay

Where the live preview renders, as two checkboxes — In app (the main-window feed) and In pill (inside the overlay). The combination maps to none, in-app, in-pill, or both. The "In pill" option is disabled while the overlay is off.

Overlay position is platform-derived

general.overlayPosition (auto/none/top/bottom, default auto) gates which screen edge the pill may appear on. On Windows and macOS auto resolves to the bottom edge; on Linux it resolves to none because some compositors break the paste pipeline when an always-on-top window appears mid-keystroke.

Startup

How WinSTT behaves at sign-in and when you close the window.

The Startup section: Start on Login, Start Minimized, Minimize to Tray, and Send Crash Reports toggles.
The Startup section — sign-in launch, tray behavior, and crash reporting.
Start on Logindefault false
general.autoStart

Launch WinSTT automatically when you sign in.

Start Minimizeddefault false
general.startMinimized

Start hidden in the system tray instead of opening the main window.

Minimize to Traydefault true
general.minimizeToTray

Closing the window keeps WinSTT running in the tray rather than quitting. With this off, the close button exits the app entirely.

Send Crash Reportsdefault trueRestart
general.sendCrashReports

Opt-out anonymized crash/error reporting via Sentry. Audio and transcripts are never sent — only stack traces and error context.

Requires a restart

Toggling Send Crash Reports takes effect on the next launch — crash reporting is switched on or off once when WinSTT starts and can't be changed mid-session.

A handful of controls live under the same general.* schema but are surfaced on the tab that fits them best:

general.* keys surfaced on the tab that fits them best.
SettingKeyDefaultWhere it lives
Auto-submit after pastegeneral.autoSubmitfalseQuality
Auto-submit keygeneral.autoSubmitKeyenterQuality
Context awarenessgeneral.contextAwarenessfalseQuality
Context deny-listgeneral.contextDenyList6 password managersLLM cleanup
History max entriesgeneral.historyMaxEntries1000History
Recording retentiongeneral.recordingRetentioncapHistory
Pre-release updatesgeneral.receivePrereleaseUpdatesfalseAbout tab
Output devicegeneral.outputDeviceIdsystem defaultAudio

A few highlights, with their gotchas:

Auto-Submitdefault false
general.autoSubmit

When on, WinSTT presses a submit key right after the paste lands. Auto-Submit Key (general.autoSubmitKey) chooses the combo — Enter for chat boxes or Ctrl+Enter for IDE prompts. Off pastes and leaves the cursor where the target app puts it.

Context Awarenessdefault false
general.contextAwareness

Reads text from the focused window just before each dictation and feeds it to the LLM cleanup step so names and jargon are spelled correctly. This is platform-gated and opt-in: it shows a confirmation dialog before activating, and is only offered when it actually helps (a Whisper model or LLM cleanup is active).

Context Deny-Listdefault 6 entries
general.contextDenyList

An app/host allow-out list for context capture. Each entry is an executable basename (1password.exe) or a URL host suffix (bankofamerica.com, matches subdomains). Matching windows have their captured text, HTML, and URL stripped before reaching the LLM. Seeded with six common password managers.

History Max Entriesdefault 1000
general.historyMaxEntries

Cap on persisted transcription-history rows (10–10,000). The main process trims oldest on each insert; larger histories slow the history dashboard.

Recording Retentiondefault cap
general.recordingRetention

Auto-deletes saved recordings: Never keeps everything; Cap prunes recordings beyond History Max Entries; 3 days / 2 weeks / 3 months are absolute age cutoffs. Cleanup runs at startup and whenever the policy changes — "Never" still saves, it just never prunes.

Pre-Release Updatesdefault false
general.receivePrereleaseUpdates

Opt in to alpha/beta auto-updates. Alpha installs always keep updating to newer alphas regardless of this toggle; the knob only changes behavior on stable builds.

Reset

A single button at the bottom restores every setting to its factory default after a confirmation dialog.

Reset to Defaults has no undo

Confirming the reset clears all tabs — model, audio, quality, dictionary, snippets, LLM, TTS, and integrations — back to defaults. There is no undo; your API keys, custom modifiers, dictionary entries, and sound library are wiped.

On this page