Text-to-Speech
Turkish
flow-matching
turkish

You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

DACVAE Turkish TTS: Ref1 voice

A Turkish text-to-speech model (206M parameters), fine-tuned on one voice. It speaks Turkish text in that voice with 48 kHz audio. No reference clip is needed: give it text and it answers in the Ref1 voice.

Samples

Generated from text alone, with no reference clip.

Text Audio
Merhaba! Bugün hava çok güzel, sahilde uzun bir yürüyüş yapmaya ne dersin?
Toplantı saat on dörtte başlayacak; lütfen raporları yanınızda getirin.
İstanbul Boğazı'nın iki yakası, akşam ışıklarıyla bambaşka bir güzelliğe bürünür.

How it was made

  1. Base model: a flow-matching DiT trained on a few hundred hours of Turkish speech.
  2. Reinforcement learning: GROW and rejection-sampling fine-tuning, which cut the word error rate.
  3. Fine-tune: 1,500 steps (11 minutes on one GPU) on VoiceHub/moss-tts-v1.5-turkish-ref1, 13.9 hours of one voice.

The audio codec is Aratako/Semantic-DACVAE-Japanese. It is downloaded automatically.

Results

Scores are on 200 held-out sentences in this voice.

  • WER is judged by Whisper-large-v3.
  • SIM is speaker similarity to the prompt.
  • UTMOS is predicted naturalness.
Model WER SIM UTMOS
Before fine-tuning 0.43 % 0.948 2.79
This model 0.76 % 0.957 3.26

The WER difference is 6 words in 1,844, which is within noise.

Without a reference clip (6 sentences, 2 seeds each, 12 outputs):

  • The voice stays Ref1: similarity to a Ref1 clip is 0.963, and 0.976 between outputs.
  • UTMOS is 3.35.
  • Our Turkish STT model transcribed all 12 outputs without errors.

The base model without a reference gives a different voice each time (similarity 0.65).

Use

git clone https://github.com/kadirnar/dacvae-tr-tts && cd dacvae-tr-tts
pip install -e ".[codec]"
import soundfile as sf
from huggingface_hub import hf_hub_download
from mytts.flow.sampler import SamplerConfig
from mytts.infer import Synthesizer

repo = "VoiceHub/dacvae-tr-tts-ref1"
syn = Synthesizer.from_export(hf_hub_download(repo, "model.pt"), device="cuda")
prompt = hf_hub_download(repo, "voices/ref1.wav")
sc = SamplerConfig(steps=32, sway=-1.0, cfg_mode="joint", cfg_w=4.0, noise_scale=0.9)

# text only: the model speaks in the Ref1 voice
wav, sr = syn.synthesize("Merhaba, nasılsınız?", lang="tr", sc=sc, seed=0, out_lufs=-16.0)
sf.write("out.wav", wav, sr)

# optional: a reference clip and its transcript
wav, sr = syn.synthesize(
    "Merhaba, nasılsınız?", lang="tr", sc=sc, seed=0, out_lufs=-16.0,
    prompt_audio=prompt,
    prompt_text="Gürcü yetkililer, daha sonra, Rusya'nın desteğiyle ilgili suçlamaları geri çekti.",
)
  • Seed: change seed to hear a different reading of the same text.
  • Voice prompts: voices/ has three clips of this voice; their transcripts are in voices/voices.json. They are optional.
  • Other voices: you can give another voice as the prompt. Use a clean, studio-quality clip of 3-15 s. This model leans to the Ref1 voice, though. For zero-shot cloning of other voices, fine-tune with replay data (FINETUNE.md).

Limits

  • Turkish only.
  • Numbers and abbreviations: best when written out as words.
  • Responsible use: do not use it to imitate a real person without their consent.

License

CC BY-NC 4.0: non-commercial use only.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train VoiceHub/dacvae-tr-tts-ref1