It speaks nine languages now
Two new speech engines: kokoro-multi covers nine languages with a runtime dropdown, and mms-th adds Thai. Engines are renamed <model>-<languages>, with the old names still resolving. Numbers in English sentences are no longer read in Chinese, and re-applying a config no longer costs seconds per utterance.

Two new speech engines take the robot from Chinese and English to ten languages.
kokoro-multi: nine languages, one engine
Built on Kokoro-82M v1.0, with a language dropdown on the card:
| English | en-us, en-gb |
| Chinese | zh |
| Japanese | ja |
| European | es, fr, it, pt-br |
| Hindi | hi |
The existing vits2-zh-en is a Chinese male voice whose English is its weaker half — there was no engine here good enough to put in front of an English-speaking audience. Now there is.
mms-th: Thai
A Thai male voice, added separately. Licensed CC-BY-NC 4.0 — non-commercial. Check your licensing before shipping it in a product.
Engines renamed; old names still work
Engine names now follow <model>-<languages>, the shape the speech-recognition models have always used:
| Was | Now | Model |
|---|---|---|
vits2_trt | vits2-zh-en | VITS2 (TensorRT) |
sherpa_onnx | matcha-zh-en | matcha-icefall |
| — | kokoro-multi | Kokoro-82M |
| — | mms-th | MMS-TTS Thai |
Cards already deployed on robots need no change: the old names still resolve, so stored configurations keep working.
Two fixes that came along
Numbers in English sentences are no longer read in Chinese. The Chinese number rules were being applied to the whole sentence, so opened in 2026 came out as opened in 二千零二十六 — in every language, on every engine. The Chinese rules now apply only to the Chinese parts, and 2026年 still reads correctly.
Changing a setting no longer costs seconds. Re-sending an identical configuration used to tear down and reload the entire voice model. The dashboard re-applies a card's config around every utterance, so the cost was paid per sentence — that is where "every line takes 5 seconds" came from. Now it rebuilds only when something the model is actually built from changed: 2.6 s becomes 2 ms.