Red HatDmytro Hryshchenko, Abhijeet DhumalTutorial
Personalize your product's text-to-speech voice for any language: Fine-tuning with Kubeflow Trainer on Red Hat OpenShift AI
Summary
Training an English-centered text-to-speech model for Turkish can produce fluent but hard-to-understand pronunciation for native speakers. This tutorial fine-tunes unsloth/orpheus-3b-0.1-pretrained with about 81,000 Turkish text-audio pairs on Red Hat OpenShift AI using a Kubeflow Trainer TrainJob distributed across two nodes with two A100 GPUs each. LoRA freezes the 3-billion-parameter base and trains 97.3M adapter parameters, while preprocessing converts text to Llama-3 tokenizer tokens and audio to three-layer SNAC codes, masking text labels during scoring. The merged model is evaluated against the base on ten Turkish sentences using Whisper transcription and WER/CER metrics. Mean WER falls from 2.44 to 0.35 and CER from 1.59 to 0.09, though the authors describe the small test as directional.
Context
Most open text-to-speech models are trained primarily on English, so Turkish pronunciation can substitute nearby English sounds for letters including ç, ğ, ı, ö, ş, and ü. The work addresses this language-specific speech quality problem using Turkish paired text and audio data.
Approach / What changed
Fine-tune the Orpheus-3B pretrained model with LoRA on Red Hat OpenShift AI, orchestrating distributed training through a Kubeflow Trainer TrainJob. The workflow tokenizes text, encodes 24 kHz audio with the three-layer SNAC codec, masks text labels, merges the best adapter checkpoint into the base model, and compares generated speech with the original model using Whisper-based WER and CER measurements.
Takeaways
The TrainJob exposes the base model, dataset, epoch count, and LoRA rank as environment variables, so changing the language or training length requires configuration edits rather than training-code changes.
The tokenizer must match the model; a mismatch can leave training running and the loss falling while the resulting audio remains unusable.
Evaluation loss is calculated on a 1,000-sample held-out split, while WER and CER come from a separate ten-sentence Turkish dictation test covering registers such as directions, news, weather, and flight announcements.
Source and freshness
- Source
- developers.redhat.com
- Published
- Added to Yomu
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.