ASR data and TTS data are opposites
Speech recognition data should be varied: many speakers, accents, devices and noisy places. Text-to-speech data is the reverse. A TTS model learns to sound like its training voice, so it needs one consistent voice (or a small number of them), recorded cleanly, with text that matches the audio exactly. Reusing ASR recordings for TTS almost always produces a voice that sounds muffled, unstable or robotic.
Choose the voice carefully
The voice talent is the product. Look for a native Khmer speaker with:
- Clear, standard pronunciation that your users will accept. For most products that means a neutral Phnom Penh-style voice, unless you deliberately want a regional character.
- The stamina to read for hours with the same pitch, speed and energy, across many sessions.
- A tone that fits the use case: warm for a customer assistant, calm for health information, lively for media.
Run a short audition with your own sample text, and listen to it through the speakers your users have. Agree in writing, before recording, how the voice may be used: which products, for how long, and whether it can be used to build a synthetic voice. Voice talent should give informed consent for exactly that use.
Record in a studio, consistently
TTS models reproduce everything in the recordings, including room echo, background hum and changes in microphone distance. For a production voice:
- Record in a treated room with the same microphone, position and settings in every session.
- Record at 44.1 or 48 kHz and keep uncompressed WAV masters.
- Keep the reading style consistent across sessions; a director should listen for drift in energy and speed.
- Re-record any line with a mistake, noise or mouth click rather than editing it out.
Write a script with real coverage
The script decides which sounds and words the model hears. A good Khmer TTS script:
- Covers all consonants, vowels, subscript consonants and common syllable combinations, including the rarer ones.
- Includes both consonant series. In Khmer the same vowel sign is pronounced differently after first-series and second-series consonants, so the model needs plenty of examples of each.
- Mixes sentence types: statements, questions, lists, exclamations and short phrases, so the model learns natural intonation.
- Includes the vocabulary of your domain, plus names, places, numbers, dates and prices.
- Avoids rare literary constructions unless your product needs them.
Normalise the text before recording
Real Khmer text contains Khmer digits and Arabic digits, dates in both the international and Buddhist calendars, prices in riel and dollars, abbreviations, English words and symbols. A TTS system must turn all of these into spoken words, and it can only learn that if the training transcripts spell them out the way the voice actually said them.
Decide the reading of every number, date, currency and abbreviation in the script before the voice reads it, and write the spoken form into the transcript. Fix Unicode ordering and remove hidden characters, so the same word is always the same sequence of characters. The same normalisation rules then become part of your TTS front end in production.
Pronunciation and the lexicon
Khmer spelling does not always show pronunciation directly. Loanwords from Pali and Sanskrit, people's names and English words can be read in more than one way, and some words are pronounced differently in formal and casual speech. Keep a pronunciation lexicon for difficult words, with a linguist's decision on each, and make sure the voice reads them consistently. If your model uses phonemes rather than characters, the same lexicon trains your grapheme-to-phoneme step.
Register matters too. Khmer has different words for the same action when speaking about monks or royalty. If your product will ever read such text, include examples and check them with a linguist.
Check alignment and quality
Every audio file must match its transcript exactly. After recording:
- A native listener checks each clip against its text and marks any word that was added, skipped or misread.
- Silence at the start and end is trimmed consistently.
- Loudness is normalised across sessions.
- Optional: a forced aligner produces word or phoneme timings, which help some models and make later checks faster.
A small proportion of mismatched clips can noticeably degrade a voice, so this step is worth the effort.
How many hours?
It depends on the model. Modern neural TTS systems and voice-cloning models can produce a usable voice from a few hours of clean speech, especially when fine-tuned from a multilingual base model. A polished, expressive production voice that handles long and unusual text usually benefits from considerably more. Plan in stages: record a pilot, train, listen for problems such as mispronounced series vowels or unnatural numbers, and target the next batch of script at those weaknesses.
Evaluate by listening
Automatic metrics help, but people decide whether a voice is good. Ask native Khmer listeners to rate naturalness and clarity on a fixed set of sentences the model never saw, including numbers, names and long sentences. Compare versions side by side rather than one at a time.
Next steps
Our Khmer studio TTS voices dataset is a ready-made option for teams that want to start quickly. For a custom voice, our Khmer voice generation service handles casting, consent, studio recording, script design, normalisation and alignment checks, starting with a free pilot.