VoiceHub/dacvae-tts-tr-trc-w640
dacvae-tts Turkish 115M: trc-w640 (tr-combined + tr-dataset-12) Checkpoints of the training run trc-w640, each with 5 outputs: Turkish zero-shot voice-cloning TTS (dacvae-tts, branch turkish-tts; flow-matching DiT on frozen Meta DACVAE latents, 48 kHz). Training in progress (update 61200 of 100000): every 10000 updates a new checkpoint and its 5 outputs are added here. 5 outputs per checkpoint The same 5 unseen sentences, each spoken in the voice of a different… See the full description on the dataset page: https://huggingface.co/datasets/VoiceHub/dacvae-tts-tr-trc-w640.
dacvae-tts Turkish 115M: trc-w640 (tr-combined + tr-dataset-12)
Checkpoints of the training run trc-w640, each with 5 outputs: Turkish zero-shot voice-cloning TTS (dacvae-tts, branch turkish-tts; flow-matching DiT on frozen Meta DACVAE latents, 48 kHz). Training in progress (update 61200 of 100000): every 10000 updates a new checkpoint and its 5 outputs are added here.
5 outputs per checkpoint
The same 5 unseen sentences, each spoken in the voice of a different held-out speaker (samples/prompts/, real recordings never seen in training, decoded through the codec), with the demo settings: guidance 5, 32 Euler steps, duration auto, one sample (no best-of-N). The dataset viewer above plays them (pick the checkpoint in the menu). Raw model output: at guidance 5 it is loud (about -12 LUFS); the demo normalizes to -16 LUFS.
Freya = Freya-TR-Eval, all 495 sentences (3,911 words, 24 held-out voices), the published protocol (guidance 5, 32 steps, prompt-rate duration, one sample, faster-whisper large-v3 beam 5). It runs on the CPU next to the training (about 2 hours per checkpoint), so a checkpoint gets it when the evaluator is free, newest first; the audio is not uploaded, per-sentence transcripts are in freya/<step>/results.jsonl. WER is measured only on Freya-TR-Eval. The published model VoiceHub/dacvae-tts-tr-w512 (66.5M) scores WER 4.32% / CER 2.50%, SIM 0.946, DNSMOS 2.89 on it; FreyaTTS-183M 8.0% / 3.0%, XTTS-v2 11.1%. The 5 outputs are for listening (their 99 words make one wrong word worth about 1 WER point).
step-0060000
Model and data
Model: 640x14 generator (10 heads, low-rank AdaLN, LARoPE cross-attention, CTC at block 9), 114.8M parameters; byte-level text with the turkish-v2 normalization (the serving frontend: numbers, dates, currencies, abbreviations and acronyms spelled out). Prompts: 70% another recording of the same speaker, otherwise cut from the clip itself. Muon, WSD learning rate (0.0007, cooldown over the last 20%), 2x RTX 4090.
Data: Codyfederer/tr-combined (221,531 clips, 277 h) filtered by Whisper-turbo transcript agreement (CER <= 0.15 after removing fillers such as "eee"), DNSMOS OVRL >= 2.5, speaker-embedding consistency within each speaker label and speaking rate: 155,812 clips, 210.7 h, 1,904 speakers; plus the clean subset of Vyvo/tr-dataset-12 (32,226 clips, 72 h). Together 188,038 clips, 283 h, 2,561 speakers; validation/test speakers (tr-combined: whole videos) are never trained on.
Checkpoints
checkpoints/step-0010000.ptcheckpoints/step-0020000.ptcheckpoints/step-0030000.ptcheckpoints/step-0040000.ptcheckpoints/step-0050000.ptcheckpoints/step-0060000.pt
Each file holds the EMA weights used for synthesis (plus the raw weights). dacvae_tts/ is the package version that reads them:
import sys
from huggingface_hub import hf_hub_download, snapshot_download
sys.path.insert(0, snapshot_download("VoiceHub/dacvae-tts-tr-trc-w640", repo_type="dataset", allow_patterns=["dacvae_tts/*"]))
from dacvae_tts.inference import Synthesizer
tts = Synthesizer(hf_hub_download("VoiceHub/dacvae-tts-tr-trc-w640", "checkpoints/step-0060000.pt", repo_type="dataset"), device="cuda")
tts.synthesize("Merhaba, bugün nasılsın?", "prompt.wav", reference_text="Prompt kaydının metni.",
output="out.wav", guidance=5.0, steps=32, duration_mode="auto")train.jsonl holds the training and validation curves, config.json the full configuration.
