Configuration Parsing Warning:Invalid JSON for config file config.json

XTTS-v2 β€” pinned mirror for cond-DIM

An unmodified, commit-pinned mirror of coqui/XTTS-v2, published so the results in the cond-DIM paper stay reproducible even if the upstream repository moves, is retagged, or disappears.

⚠️ Non-commercial. XTTS-v2 is released under the Coqui Public Model License (CPML). That license applies unchanged to this mirror and to any model edited on top of it. Read it before use.

What this is

Upstream coqui/XTTS-v2
Pinned commit 6c2b0d75eae4b7047358e3b6bd9325f857d43f77
Modifications None. Byte-identical weights.
Purpose Reproducibility anchor for the cond-DIM paper

This is not an unlearned model. It is the base checkpoint that cond-DIM edits. The unlearning method itself is a few-step fine-tune of the speaker-conditioning path and is distributed as a small adapter patch, not as full weights.

Files

config.json          XTTS-v2 model config
model.pth            main checkpoint (1.87 GB)
dvae.pth             discrete VAE (211 MB)
mel_stats.pth        mel statistics
speakers_xtts.pth    built-in speaker embeddings
vocab.json           tokenizer vocabulary
LICENSE.txt          Coqui Public Model License 1.0.0

Note: the Hub's "Invalid JSON for config file config.json" warning

This warning is expected and harmless. Upstream's config.json uses bare Infinity literals for two fields:

"max_audio_len": Infinity,
"max_text_len": Infinity,

Infinity is valid to Python's json module but is not part of the JSON spec, so the Hub's strict parser rejects the file and shows the warning. The identical warning appears on coqui/XTTS-v2 itself.

Both fields are training-time dataset filters and are never read during synthesis, so nothing is broken. The file is left exactly as upstream published it: this repository exists to be a byte-identical reproducibility anchor, and silently editing the config would defeat that. Coqui's own loader (XttsConfig) parses it without complaint.

Usage

Fetch it the way the paper's code does:

from huggingface_hub import snapshot_download

snapshot_download(
    repo_id="RootAccess4Life/cond-dim-xtts-v2",
    local_dir="models/xtts_v2",
)

Then point cond-DIM at it:

export CD_XTTS_DIR=models/xtts_v2
python scripts/run_eval.py --config configs/xtts.yaml

To fetch from upstream instead (the default in the repo):

python scripts/download_models.py --model xtts

Why XTTS-v2 in this paper

XTTS-v2 is an autoregressive codec language model, and it is the backbone where cond-DIM faces its strongest adversary: XTTS ships an official codec LM loss, which makes a white-box relearn attack (re-finetuning to recover an erased speaker) genuinely threatening. Relearn-robustness is therefore reported on XTTS-v2 in the paper.

Related

Citation

@misc{pujari_conddim,
  title  = {cond-DIM: One Method, Three Conditioning Paths for Host-Independent
            Speaker Unlearning in Autoregressive Zero-Shot TTS},
  author = {Pujari, Aditya and Rattani, Ajita},
  note   = {Preprint},
}

Please also cite Coqui XTTS-v2 upstream. All credit for these weights belongs to Coqui.

Downloads last month
21
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for RootAccess4Life/cond-dim-xtts-v2

Base model

coqui/XTTS-v2
Finetuned
(76)
this model

Space using RootAccess4Life/cond-dim-xtts-v2 1