# faster-whisper-dictation configuration
# See: https://github.com/bhargavchippada/faster-whisper-dictation

[server]
url = "http://localhost:8000"         # OpenAI-compatible transcription server (used only in server mode)
model = "Systran/faster-whisper-large-v3"
language = ""                         # empty = auto-detect per utterance (Slovenian/English)
timeout = 60                          # Maximum server transcription wait in seconds
prompt = ""                              # Keep Auto language detection neutral; add only personal names or exact terms
# temperature = 0.0                    # 0.0 = deterministic, latency-bounded beam search
# hotwords = ""                        # Comma-separated words to boost

[voiceprompt]
slovenian_slang = false                # mixed English/Slovenian slang retry profile
buffered_transcription = true          # pre-transcribe long speech blocks; paste once on release
output_mode = "paste"                  # "paste" into focused app or leave text on "clipboard"
voice_commands = false                 # exact whole-utterance commands; disabled by default

[hotkey]
binding = "f1"                        # Hotkey: modifiers + key (e.g. "alt+v", "ctrl+shift+d", "f1")
mode = "hold"                         # "toggle" (press to start/stop) or "hold" (hold to speak)

[vad]
threshold = 0.6                       # Speech detection sensitivity (0.0-1.0)
silence_ms = 250                      # Wait after speech stops before transcribing (ms)
min_speech_ms = 250                   # Ignore utterances shorter than this (ms)
max_speech_s = 180.0                  # Internal VAD segment size; held recordings are not truncated

[audio]
sample_rate = 16000                   # Sample rate in Hz (16000 is optimal for Whisper)
channels = 1                          # Number of audio channels (1 = mono)
# device = ""                        # "" = Windows default input device (HyperX Quadcast)

[engine]
type = "local"                        # "local" (default/private) or "server" (explicit audio upload)
compute_type = "float16"              # "auto", "float16" (GPU), "int8" (CPU)
device = "cuda"                       # "auto", "cuda", "cpu"

[websocket]
reconnect_attempts = 3                # Number of reconnection attempts
reconnect_delay = 1.0                 # Seconds between reconnection attempts
