// docs / config
Configuration
LiveAudio writes a config.json with sensible defaults on first run. Change everything from the GUI, or edit the file directly. This page is the full key reference.
File location
Where config.json lives depends on whether you run the installer build or a source checkout.
| Installer build | Path |
|---|---|
| Windows | %LOCALAPPDATA%\LiveAudio\data |
| Linux | ~/.local/share/liveaudio/data |
| Source / dev | Path |
|---|---|
| Windows | %APPDATA%\LiveAudio |
| Linux | ~/.config/liveaudio |
With the launcher, the data home is <root>/data unless you set LIVEAUDIO_HOME to point somewhere else. When the app runs without the launcher (a dev checkout), it defaults to %APPDATA%\LiveAudio / ~/.config/liveaudio, and a legacy config.json left in the current working directory is migrated automatically on first load.
Portable mode: create an empty portable.marker file next to the launcher and the root becomes <launcher dir>/data, so config, sessions and models all stay beside the app instead of in the per-user locations above. In this mode HF_HOME is also redirected into the portable folder, so downloaded Whisper models live on the same drive — ideal for a USB stick.
Options
| Key | Type | Description |
|---|---|---|
output_dir | string | Path to the sessions folder. |
device | string | "cuda" or "cpu". |
cpu_threads | number | Number of CPU threads for inference. |
model_size | string | "tiny", "base", "small" or "turbo". |
blacklist | string | Comma-separated filter words (see the getting-started blacklist). |
continuous_session | boolean | Keeps the same session across restarts. |
subtitle_style | string | default, karaoke, neon, minimal, bold, rgb, typewriter. |
subtitle_backlog_policy | string | "auto", "live_only" or "send_all". |
subtitle_max_live_delay_sec | number | Max delay before OBS hides backlog. |
subtitle_catchup_interval_sec | number | Pacing between backlog items. |
silence_timeout | number | Seconds of silence before cutting a segment. |
max_chunk_duration | number | Max seconds before forcing a cut. |
audio_device | string | null | Selected device, or null for the system default. |
selected_profile_id | string | "fast", "balanced", "quality" or "stable". |
profile_mode | string | "preset" or "custom" — set to "custom" automatically when you edit a built-in profile. |
ws_port | number | WebSocket server port (default: 8765). |
obs_enabled | boolean | Enable or disable sending subtitles to OBS. |
whisper_context_prompt_en | string | Optional initial-prompt context passed to Whisper for English (e.g. recurring names or jargon). Empty by default. |
whisper_context_prompt_es | string | Same, for Spanish. Empty by default. |
asr_language | string | Language code for Whisper (e.g. "en", "es"). |
settings_navigation_mode | string | Settings UI layout — "tabs". |
diagnostics_enabled | boolean | Enables local diagnostics instrumentation. |
Example config.json
{
"output_dir": "C:\\streams\\sessions",
"device": "cuda",
"cpu_threads": 8,
"model_size": "small",
"blacklist": "amara.org, subtítulos por, gracias por ver",
"continuous_session": true,
"subtitle_style": "default",
"subtitle_backlog_policy": "auto",
"subtitle_max_live_delay_sec": 10.0,
"subtitle_catchup_interval_sec": 1.5,
"silence_timeout": 0.8,
"max_chunk_duration": 5.0,
"audio_device": null,
"selected_profile_id": "balanced",
"profile_mode": "preset",
"ws_port": 8765,
"obs_enabled": true,
"whisper_context_prompt_en": "",
"whisper_context_prompt_es": "",
"asr_language": "en",
"settings_navigation_mode": "tabs",
"diagnostics_enabled": false
}