● Open Khmer text-to-speech · v5

Khmer voice,
in your pocket.

VoxPocket reads Khmer and Khmer mixed with English aloud in a natural voice. Clone a voice from a 4–9 second clip, give it a style (happy, sad, whisper…), or design a new voice from a description.

0.89B parameters · 44.1 kHz · 3.6× real time Never use it to impersonate real people
Made with the live demo
Designed voice "a young woman, clear and bright, cheerful"

សួស្តីបងប្អូនទាំងអស់គ្នា ថ្ងៃនេះយើងនឹងនិយាយអំពី Akkhara keyboard។

Cloned voice + style Happy

សួស្តីបងប្អូនទាំងអស់គ្នា ថ្ងៃនេះយើងនឹងនិយាយអំពី Akkhara keyboard។

VoxPocket v5 · cfg 2.0 · 10 steps · about 6–7 s on the free demo
Try it

Type it, hear it

Type Khmer (or Khmer with Latin letters), pick a voice and a mood, and listen. Free to try.

Model

Higher quality voice: powered by VoxPocket on Hugging Face. Usually ready in a few seconds; when many people use it, requests wait in line.

Text
Voice
Style

Listen

14 voices, many moods

Clips from the open preview dataset: one per voice, with a style. Some mix English words into Khmer, the way people really talk.

← swipe to hear all 14 voices →
WhisperKhmer

ប៉ាស្ទ័រខ្លួនឯងគឺមិនមានការភ័យខ្លាចឡើយ។

soklin · woman
ExcitedKhmer

លោកគឺជាមេដឹកនាំយោធានិងនយោបាយរបស់បារាំង។

setha · man
CalmKhmer + English

ចុះ ខ្ញុំ Copy Storage ផ្ញើទៅក្នុង Group ហើយ។

sophon · man
WhisperKhmer

តើរដ្ឋាភិបាលខ្មែរលោកជ្រាបទេ។

chanda · man
SoftKhmer + English

ចុះ ក្រុមហ៊ុនកំពុងរក Developer ដែលចេះ Flutter។

mey · woman
ExcitedKhmer

កោះរ៉ុងត្រូវបានប្រកាសឈប់នៅលើផ្លូវលំចេក។

oudom · man
SoftKhmer + English

ចុះ ចូលទៅ Battery រួចចុចលើ Charger។

maly · woman
SeriousKhmer

ពន្ធនាំចូលគ្របដណ្តប់លើទំនិញជាច្រើនប្រភេទ។

phanin · woman
SadKhmer + English

ពួកគេមិនបាច់ Book Room ទេ។

aura · man
SoftKhmer

ឈ្មោះខែទីបួនប្រើតាមចន្ទគតិ។

rithy · man
HappyKhmer + English

អូនសូមផ្ញើ Invoice ឆាប់ឆាប់។

neary · woman
CalmKhmer

រាត្រីថ្ងៃនោះខ្ញុំព្រះករុណាសិងមិនលក់ពេញមួយយប់។

seth · man
SoftKhmer + English

ការប្រមូលវាយនភ័ណ្ឌ LACMA។

bora · man
SeriousKhmer

មានប្រជាប្រិយភាពខ្លាំងក្លានាសម័យនោះ។

theary · woman
Use

Three ways to make speech

1 · Clone a voice

Give a clean 4–9 s clip and exactly what is said in it. VoxPocket reads new sentences in that voice.

2 · Clone + style

Put a style in brackets before the text: (sad, low and slow tone)សួស្តី… Happy, sad, angry, whisper, surprised, news reader…

3 · Design a voice

No clip at all: describe the voice. (A young woman, clear and bright voice)សួស្តី…

from voxcpm.core import VoxCPM
import soundfile as sf

m = VoxCPM.from_pretrained(hf_model_id="INGMUYLEANG/VoxPocket-v5", load_denoiser=False)
sr = m.tts_model.sample_rate  # 44100

# 1) clone a voice: a clean 4–9 s clip + exactly what is said in it
wav = m.generate(text="សួស្តីបងប្អូនទាំងអស់គ្នា។", prompt_wav_path="my_voice.wav",
                 prompt_text="<words spoken in my_voice.wav>", cfg_value=2.0, inference_timesteps=10)
# 2) clone + style
wav = m.generate(text="(angry and upset tone)ហេតុអ្វីបានជាអ្នកមកយឺតម្ដងទៀត?", prompt_wav_path="my_voice.wav",
                 prompt_text="<words spoken in my_voice.wav>")
# 3) design a voice, no clip
wav = m.generate(text="(A young woman, clear and bright voice, cheerful tone)សួស្តី។")
sf.write("voxpocket.wav", wav, sr)

Tips: short clean reference clips with their exact words; split long text into sentences.

Results

Reads Khmer better than its 2.4B teacher

40 held-out Khmer sentences, same voice clip, cfg 2.0, 10 steps, seed 0. A Khmer speech recognizer (seanghay/Qwen3-ASR-0.6B-Khmer) listens back and counts letter errors. Lower is better.

4.3%median letter error (VoxCPM2: 4.8%)
2.7×smaller than VoxCPM2
3.6×faster than real time
64 msto the first sound (streaming)
40 held-out sentencesmedian errormean errorsentences > 10% errors
VoxPocket v5 (0.89B)4.3%6.1%8 / 40
VoxPocket v46.6%7.2%10 / 40
VoxCPM2 (2.38B, the teacher)4.8%7.0%12 / 40
Reading quality: letter error per model Speed, memory and power Long text in one go Training progress

Speed, memory and power measured on 1× NVIDIA GeForce RTX 5090 (the GPU that trained v5) with the same settings for all models: VoxPocket 3.8 / 6.3 GB peak GPU memory (short / long text) vs 6.5 / 8.9 GB, 0.80 vs 1.29 Wh per minute of speech. On a second machine the same quality test gives 3.7% median error (v4: 5.1%).

Docs

How VoxPocket works

VoxPocket is VoxCPM 1.5 (an open, tokenizer-free TTS model) fine-tuned on Khmer over several rounds, with speech distilled from the bigger VoxCPM2.

VoxPocket: training, the model, and three ways to use it

The data · ~1,010 h

237 h of real Khmer speech (double weight, so voices stay natural), ~600 h of synthetic VoxCPM2 speech checked by a speech recognizer (kept only ≤ 15% errors), and 157 h of voice clip + style pairs. 340 h are new in v5: emotions, long reading, English words inside Khmer.

The model · 0.89B

A text-semantic language model (24 layers) plans the speech; a residual acoustic model and a local diffusion transformer add the voice and tone; the AudioVAE decoder makes the 44.1 kHz waveform. No audio tokenizer.

The training

From the previous VoxPocket, one more full pass over the data (778,028 clips): learning rate 2e-5 with warm-up, 43,200 steps, about 14 h on one RTX 5090. Every release is checked by listening back with a Khmer speech recognizer.

Limits. Very long text in one go still makes mistakes: split it into sentences. Styles change cloned voices less than designed voices. Rare names can be swapped; English is basic. Excited, Angry and Surprised are used with Khmer text for now; for English-only text they are coming soon (the demo reads those lines in a plain tone). All styles work with Khmer and Khmer + English text. Do not impersonate real people; clone only voices you have permission to use.
Dataset

VoxPocket Khmer TTS dataset

Synthetic Khmer speech made with VoxCPM2, every clip read back by a speech recognizer and kept only when it was right.

Open source

Model, demo and code

Citation

Using VoxPocket? Please cite it

@misc{ing2026voxpocket,
  author    = {Ing, Muyleang},
  title     = {VoxPocket: A Small Khmer Text-to-Speech Model with Voice Cloning and Styles},
  year      = {2026},
  publisher = {Hugging Face},
  url       = {https://huggingface.co/INGMUYLEANG/VoxPocket-v5}
}

VoxPocket is built on VoxCPM 1.5 and its synthetic data was made with VoxCPM2 (OpenBMB); please also credit VoxCPM. Model license: Apache-2.0.