Configuration Reference
Overview
All pipeline settings are centralized in configs/config.yaml. This document describes every configuration option.
Project
project:
name: "armenian-video-dubbing"
version: "0.1.0"
root: "."
device: "cuda" # cuda, cpu, mps
dtype: "float16" # float16, bfloat16, float32
seed: 42
| Key |
Type |
Description |
device |
string |
Compute device. cuda (NVIDIA GPU), cpu, or mps (Apple Silicon) |
dtype |
string |
Default tensor precision |
seed |
int |
Random seed for reproducibility |
ASR
asr:
backend: "whisper" # whisper or nemo
whisper:
model: "large-v3"
language: "hy"
beam_size: 5
vad_filter: true
word_timestamps: true
batch_size: 16
| Key |
Type |
Description |
backend |
string |
ASR engine: whisper or nemo |
model |
string |
Whisper model size |
language |
string |
Target language code |
beam_size |
int |
Beam search width |
vad_filter |
bool |
Voice Activity Detection filtering |
word_timestamps |
bool |
Enable word-level timestamps |
batch_size |
int |
Inference batch size |
Translation
translation:
model: "facebook/seamless-m4t-v2-large"
source_lang: "eng"
target_lang: "hye"
dialect: "eastern" # eastern or western
max_length: 512
num_beams: 5
| Key |
Type |
Description |
dialect |
string |
eastern (hye) or western (hyw) |
source_lang |
string |
ISO 639-3 source language |
target_lang |
string |
ISO 639-3 target language |
max_length |
int |
Maximum sequence length |
num_beams |
int |
Beam search width |
TTS
tts:
backend: "fish-speech" # fish-speech or cosyvoice
fish_speech:
sample_rate: 44100
max_new_tokens: 2048
top_p: 0.7
temperature: 0.7
repetition_penalty: 1.2
emotion_tags: true
reference_audio_seconds: 10
chunk_length: 200
| Key |
Type |
Description |
backend |
string |
TTS engine |
emotion_tags |
bool |
Enable emotion-aware synthesis |
reference_audio_seconds |
int |
Duration of voice reference clip |
chunk_length |
int |
Characters per synthesis chunk |
temperature |
float |
Sampling temperature (creativity) |
top_p |
float |
Nucleus sampling threshold |
Lip-Sync
lipsync:
model: "musetalk"
fps: 25
face_det_batch_size: 8
bbox_shift: 0
batch_size: 16
use_float16: true
face_enhancement: true
| Key |
Type |
Description |
model |
string |
Lip-sync model (musetalk) |
fps |
int |
Video frame rate |
bbox_shift |
int |
Vertical face bounding box adjustment |
face_enhancement |
bool |
Enable CodeFormer post-processing |
Audio Post-Processing
audio:
demucs:
model: "htdemucs_ft"
segment: 7.8
overlap: 0.25
shifts: 1
sample_rate: 44100
loudness_target: -14.0 # LUFS
crossfade_ms: 50
| Key |
Type |
Description |
demucs.model |
string |
Demucs variant for source separation |
loudness_target |
float |
Target loudness in LUFS |
crossfade_ms |
int |
Crossfade duration between segments |
Duration Matching
timing:
max_stretch_ratio: 1.25
min_compress_ratio: 0.80
silence_threshold_db: -40
min_pause_ms: 150
method: "rubberband"
| Key |
Type |
Description |
max_stretch_ratio |
float |
Maximum stretching factor |
min_compress_ratio |
float |
Maximum compression factor |
method |
string |
Time-stretch algorithm (rubberband or wsola) |
Inference
inference:
batch_video_max_concurrent: 2
gpu_memory_fraction: 0.9
enable_quantization: true
quantization_bits: 4
| Key |
Type |
Description |
enable_quantization |
bool |
Enable model quantization |
quantization_bits |
int |
Quantization precision (4 or 8) |
gpu_memory_fraction |
float |
Maximum GPU memory usage |
Ethics
ethics:
add_watermark: true
watermark_text: "AI-Dubbed"
watermark_opacity: 0.3
consent_required: true
consent_log_path: "logs/voice_consent.json"
| Key |
Type |
Description |
add_watermark |
bool |
Overlay AI watermark on output |
consent_required |
bool |
Require voice consent logging |
consent_log_path |
string |
Path to consent log file |
Environment Variables
Settings can also be controlled via environment variables (see .env.example):
| Variable |
Description |
HF_TOKEN |
HuggingFace access token |
ARMTTS_API_KEY |
API authentication key |
ARMTTS_CONFIG |
Path to config file |
CUDA_VISIBLE_DEVICES |
GPU device selection |
WANDB_API_KEY |
Weights & Biases tracking |