Where Are VoiceStudio Configuration Files Located? A Complete Guide to Template, Desktop, and User Settings
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– Template for multilingual Whisper training with global language support.examples/config/train_config_finetune.json– Configuration for fine-tuning existing voice models on custom datasets.examples/config/train_config_emilia.json– Specialized template for the Emilia dataset training pipeline.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– Data pipeline for fine-tuning scenarios.examples/config/data_config_emilia.json– Emilia-specific data processing configuration.
To load a training configuration in 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– 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– Windows-specific window decorations and native menu settings.frontend/src-tauri/tauri.macos.conf.json– macOS-specific configurations including dock behavior and entitlement settings.frontend/src-tauri/tauri.linux.conf.json– Linux-specific desktop integration and window manager hints.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:
~/.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 verifies that the application correctly persists OMNIVOICE_CACHE_DIR to this directory.
Reading User Configuration
Access the runtime configuration programmatically:
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 liketrain_config_multilingual.jsonandds_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.pyfile 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) 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.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →