WinSTT logoWinSTT
Settings

Audio

Pick your input and output devices, tune the dual-VAD pipeline that decides when you're speaking, and set how the microphone is held between recordings.

The Recording tab controls how WinSTT captures sound and decides when speech starts and stops — the microphone it listens on, the two voice-activity detectors that gate recording, and the timing knobs around them.

2
VAD stages (AND logic)
0.7
Silero default sensitivity
0.7 s
Post-speech silence
1.0 s
Pre-recording buffer

Devices

The Recording tab's input section: the microphone Input Device picker above the start of the Recording Sound controls.
The Input Device picker, above the start of the Recording Sound controls.
An open audio device picker dropdown listing the system default microphone followed by the enumerated capture devices.
The system default lists first, then every enumerated device.
Input Devicedefault System default
audio.inputDeviceIndex

The microphone WinSTT records from. The list is the system default plus every enumerated capture device. A device change applies on the next recording — an in-flight one keeps the old device. Hidden in Listen mode, which captures system output instead (see General).

The Output Device picker, where start/stop chimes and text-to-speech play back.
The output device for chimes and text-to-speech.
Output Devicedefault System default
general.outputDeviceId

Where start/stop chimes and text-to-speech play. Only shown when the recording sound or TTS is enabled. The Chromium default sentinel is filtered out; an empty selection passes through to the system default.

The VAD pipeline

Voice activity detection (VAD) is how WinSTT tells speech apart from silence and background noise in the hands-free modes. WinSTT runs two detectors in series and only treats audio as speech when both agree (AND logic) — a fast energy gate catches the obvious silence, and a neural model confirms it's actually a voice. This keeps the overlay from popping on a cough or a keyboard clack without dropping quiet, real speech.

Audio frames pass the fast WebRTC gate and neural Silero check before endpointing.
  1. WebRTC VAD — fast energy gate

    A lightweight energy-and-spectral detector runs first. It's cheap enough to run on every frame and rejects clear silence before the neural model is ever consulted.

  2. Silero VAD — neural confirmation

    Frames that pass WebRTC go to the Silero neural network, which scores how confidently the audio is a human voice. Speech is declared only when Silero's confidence clears its trip threshold and WebRTC already agreed.

  3. Endpoint timing — when the segment ends

    Once speech is active, WinSTT watches for the end. In Listen and Wake Word a stretch of silence longer than Post-Speech Silence finalizes the segment. In Toggle the Smart Endpoint classifier (or a sentence-pause heuristic) decides. In Push-to-Talk none of this applies — the hotkey release is a hard boundary and VAD is irrelevant.

When the VAD controls are visible

Silero and WebRTC tuning only appear in Listen and Wake Word mode — the hands-free modes where WinSTT, not you, decides when recording starts and stops. In Push-to-Talk and Toggle you draw the boundaries by key, so the sensitivity sliders are hidden.

Silero sensitivity

Silero Sensitivitydefault 0.7
audio.sileroSensitivity

Confidence threshold for the neural detector, 0–1 in steps of 0.05. Higher is more sensitive. Internally the trip point is 1 − sensitivity, so the default 0.7 trips whenever Silero's confidence exceeds 0.3. Raise it if quiet or distant speech is being missed; lower it if background voices keep waking the recorder. The default is calibrated for quiet and distant speech.

WinSTT keeps a sensitivity per microphone in audio.sileroSensitivityByDeviceName (a map keyed by device name). When you switch input device, the live sensitivity is seeded from that device's last-known value, so each mic boots with its own setting instead of whatever the previously-active device used, and the value survives restarts.

Silero Deactivity Detectiondefault true
audio.sileroDeactivityDetection

Master switch for the Silero stage, doubling as the section header. With it off, only WebRTC gates recording. Applies immediately — no restart needed.

WebRTC sensitivity

WebRTC Sensitivitydefault 3
audio.webrtcSensitivity

Aggressiveness of the energy gate, an integer 0–3. The range is inverted: 0 is the most permissive (lets quiet speech through), 3 is the strictest (demands loud, clear audio). The default 3 leans on Silero for the nuance and uses WebRTC purely to throw away obvious silence. Drop it toward 0 if soft speech is being filtered before Silero ever sees it.

Endpoint and buffer timing

Post-Speech Silence Durationdefault 0.7
audio.postSpeechSilenceDuration

Seconds of silence after speech before the segment is finalized, from 0.1 up in 0.1 steps. This drives the VAD-based modes only — Listen and Wake Word. Push-to-Talk ignores it entirely, and Toggle with Smart Endpoint defers to the classifier instead. Shorter feels snappier but can clip pauses mid-thought; longer waits for you to finish.

WinSTT also keeps a short pre-recording buffer — a 1.0-second ring of audio captured before speech onset (audio.preRecordingBufferDuration). When VAD trips slightly late, the buffer back-fills the first syllable so the start of your sentence isn't lost. It's fixed at 1.0 s and not exposed as a UI control.

These settings live in the schema but not the UI

Four audio keys exist in the schema with no UI control — reserved for future features or pinned for stability.

Schema-only audio keys with no UI control.
Setting keyDefaultStatus
audio.minGapBetweenRecordings0Reserved for a minimum-pause feature; never enforced.
audio.extraRecordingBufferMs0 (range 0–2000 ms)Would capture extra audio after a user-driven stop to catch trailing syllables; not surfaced yet.
audio.sampleRate16,000 HzWhisper-native; low-level infrastructure pinned for stability.
audio.bufferSize512 framesLow-level infrastructure pinned for stability.

Microphone lifecycle

The Recording tab's microphone-lifecycle controls: the Release Microphone dropdown and the Clamshell Microphone swap selector.
How long the mic stream stays open, and the clamshell auto-swap.
Release Microphonedefault immediateRestart server
audio.microphoneRelease

How long the OS audio stream stays open after a recording stops. Immediate (default) releases the mic the instant recording ends — the cleanest for the privacy indicator but adds a small re-open cost next time. Never keeps the stream open for the fastest start. 30 seconds, 1 minute, and 5 minutes hold it open for that window, then release. The source reads this once at construction, so changes only take effect after a server restart.

Requires a restart

Release Microphone is read when the audio source is built. Changing it needs a server restart before the new policy takes hold; most other VAD tunings on this tab apply on the next segment.

Clamshell Microphonedefault Off
audio.clamshellMicrophone

Auto-swap to a chosen alternate microphone when a laptop lid closes — for a docked machine that should switch to an external USB mic when clamshelled. Pick None to disable, or any input device to swap to. The lid state is polled every 5 seconds. Supported on macOS and Linux; Windows support is deferred, so this has no effect on a Windows build today.

A note on the hotkey

The hotkey recorder — the control that captures the key combo for your active recording mode — lives on the Shortcuts tab, not here. Every detail of binding modes, modifiers, and re-paste is documented on its own page.

The hotkey recorder control on the Shortcuts tab, capturing the key combo for the active recording mode.
The hotkey recorder captures the combo for your active recording mode.

Setting your push-to-talk combo, switching recording modes, and the re-paste shortcut are all documented in Hotkey settings.

On this page