# Where Are VoiceStudio Configuration Files Located? A Complete Guide to Template, Desktop, and User Settings

> Find VoiceStudio configuration files easily. Locate templates in examples config desktop settings in frontend src-tauri and user settings in ~/.config/omnivoice/env with this guide.

- Repository: [Palash Debnath/VoiceStudio](https://github.com/debpalash/VoiceStudio)
- Tags: how-to-guide
- Published: 2026-09-05

---

**VoiceStudio stores its configuration files in three distinct locations: example templates in `examples/config/`, desktop application settings in `frontend/src-tauri/`, and user-specific runtime settings in `~/.config/omnivoice/env`.**

Understanding VoiceStudio configuration file locations is essential for customizing training pipelines, modifying desktop app behavior, and managing user preferences. The open-source voice AI platform separates configurations by scope—repository templates for development, Tauri-specific files for the desktop UI, and a dynamic JSON file for runtime user settings.

## Example and Template Configurations

VoiceStudio ships with JSON templates in the repository root to bootstrap training and data processing workflows.

### Training Configuration Templates

The `examples/config/` directory contains model training presets that define hyperparameters, model architectures, and dataset paths:

- **[`examples/config/train_config_multilingual.json`](https://github.com/debpalash/VoiceStudio/blob/main/examples/config/train_config_multilingual.json)** – Template for multilingual Whisper training with global language support.
- **[`examples/config/train_config_finetune.json`](https://github.com/debpalash/VoiceStudio/blob/main/examples/config/train_config_finetune.json)** – Configuration for fine-tuning existing voice models on custom datasets.
- **[`examples/config/train_config_emilia.json`](https://github.com/debpalash/VoiceStudio/blob/main/examples/config/train_config_emilia.json)** – Specialized template for the Emilia dataset training pipeline.
- **[`examples/config/ds_config_zero2.json`](https://github.com/debpalash/VoiceStudio/blob/main/examples/config/ds_config_zero2.json)** – DeepSpeed ZeRO-2 optimization settings for distributed training.

### Data Pipeline Configurations

Data processing workflows rely on separate JSON files that define preprocessing steps, augmentation strategies, and dataloader parameters:

- **[`examples/config/data_config_finetune.json`](https://github.com/debpalash/VoiceStudio/blob/main/examples/config/data_config_finetune.json)** – Data pipeline for fine-tuning scenarios.
- **[`examples/config/data_config_emilia.json`](https://github.com/debpalash/VoiceStudio/blob/main/examples/config/data_config_emilia.json)** – Emilia-specific data processing configuration.

To load a training configuration in Python:

```python
import json
from pathlib import Path

# Path to a template config shipped with the repo

CONFIG_PATH = Path(__file__).parent.parent / "examples" / "config" / "train_config_multilingual.json"

with CONFIG_PATH.open(encoding="utf-8") as f:
    train_cfg = json.load(f)

print(train_cfg["model_name"])   # e.g., "whisper-multilingual"

```

## Desktop Application Configuration (Tauri)

The VoiceStudio desktop application uses Tauri framework configuration files located in `frontend/src-tauri/`. These control window behavior, permissions, and platform-specific builds.

### Core Tauri Configuration

The primary configuration file defines the application identity, window properties, and security capabilities:

- **[`frontend/src-tauri/tauri.conf.json`](https://github.com/debpalash/VoiceStudio/blob/main/frontend/src-tauri/tauri.conf.json)** – Main configuration specifying window size, application metadata, and core permissions.

### Platform-Specific Overrides

VoiceStudio maintains separate configuration files for each operating system to handle native-specific behavior:

- **[`frontend/src-tauri/tauri.windows.conf.json`](https://github.com/debpalash/VoiceStudio/blob/main/frontend/src-tauri/tauri.windows.conf.json)** – Windows-specific window decorations and native menu settings.
- **[`frontend/src-tauri/tauri.macos.conf.json`](https://github.com/debpalash/VoiceStudio/blob/main/frontend/src-tauri/tauri.macos.conf.json)** – macOS-specific configurations including dock behavior and entitlement settings.
- **[`frontend/src-tauri/tauri.linux.conf.json`](https://github.com/debpalash/VoiceStudio/blob/main/frontend/src-tauri/tauri.linux.conf.json)** – Linux-specific desktop integration and window manager hints.
- **[`frontend/src-tauri/capabilities/default.json`](https://github.com/debpalash/VoiceStudio/blob/main/frontend/src-tauri/capabilities/default.json)** – Security capabilities defining allowed APIs and resource access permissions.

## User-Specific Runtime Configuration

VoiceStudio creates a mutable configuration file on first launch to store user preferences and system paths.

### Runtime Config Location and Format

The application stores user settings in:

```text
~/.config/omnivoice/env

```

This JSON file contains runtime variables such as `OMNIVOICE_CACHE_DIR`, `PRODUCT_NAME`, and user-selected model directories. The **Settings** endpoint writes to this location when users modify preferences through the UI.

According to the VoiceStudio source code, the test suite in [`tests/test_user_env.py`](https://github.com/debpalash/VoiceStudio/blob/main/tests/test_user_env.py) verifies that the application correctly persists `OMNIVOICE_CACHE_DIR` to this directory.

### Reading User Configuration

Access the runtime configuration programmatically:

```python
import json
import os
from pathlib import Path

USER_CFG = Path(os.getenv("HOME")) / ".config" / "omnivoice" / "env"

if USER_CFG.is_file():
    with USER_CFG.open() as f:
        user_cfg = json.load(f)
    print(user_cfg.get("OMNIVOICE_CACHE_DIR"))
else:
    print("No user config found – run the app to generate one.")

```

## Summary

- **Template configurations** reside in `examples/config/` and include training and data pipeline JSON files like [`train_config_multilingual.json`](https://github.com/debpalash/VoiceStudio/blob/main/train_config_multilingual.json) and [`ds_config_zero2.json`](https://github.com/debpalash/VoiceStudio/blob/main/ds_config_zero2.json).
- **Desktop application settings** are located in `frontend/src-tauri/` with platform-specific variants for Windows, macOS, and Linux.
- **User runtime settings** are stored in `~/.config/omnivoice/env`, created automatically when the application first runs.
- The [`tests/test_user_env.py`](https://github.com/debpalash/VoiceStudio/blob/main/tests/test_user_env.py) file validates that user preferences correctly write to the runtime configuration directory.

## Frequently Asked Questions

### Where does VoiceStudio store user preferences and cache settings?

VoiceStudio stores mutable user preferences in `~/.config/omnivoice/env`. This JSON file is created on first application launch and contains variables like `OMNIVOICE_CACHE_DIR` and product configuration data that the app reads on startup.

### How do I modify training configurations in VoiceStudio?

Copy the relevant template from `examples/config/` (such as [`train_config_finetune.json`](https://github.com/debpalash/VoiceStudio/blob/main/train_config_finetune.json)) to your working directory, modify the parameters, and reference the new path when launching training scripts. Never modify the original templates directly to preserve the ability to revert to defaults.

### What format are VoiceStudio configuration files?

All VoiceStudio configuration files use **JSON format**. This applies to training templates in `examples/config/`, Tauri desktop configurations in `frontend/src-tauri/`, and the user runtime file at `~/.config/omnivoice/env`.

### How can I check if VoiceStudio has initialized its user config directory?

Verify that the file `~/.config/omnivoice/env` exists. If the file is missing, VoiceStudio has not yet completed its first-run initialization. Launch the desktop application once to generate the directory structure and default runtime configuration.