Skip to content

Languages

EdgeVox supports 16 languages with automatic STT/TTS backend selection.

Kokoro Languages (Near-Commercial Quality)

These languages have native TTS support via Kokoro-82M:

LanguageCodeSTTTTSDefault Voice
🇺🇸 EnglishenWhisperKokoro (a)af_heart
🇬🇧 English (British)en-gbWhisperKokoro (b)bf_emma
🇫🇷 FrenchfrWhisperKokoro (f)ff_siwis
🇪🇸 SpanishesWhisperKokoro (e)ef_dora
🇮🇳 HindihiWhisperKokoro (h)hf_alpha
🇮🇹 ItalianitWhisperKokoro (i)if_sara
🇧🇷 PortugueseptWhisperKokoro (p)pf_dora
🇯🇵 JapanesejaWhisperKokoro (j)jf_alpha
🇨🇳 ChinesezhWhisperKokoro (z)zf_xiaobei

🇻🇳 Vietnamese (Specialized)

Vietnamese uses dedicated models for best accuracy:

ComponentModelDetails
STTSherpa-ONNX Zipformer (30M, int8)RTF ~0.01 on CPU, Apache 2.0
TTSPiper ONNX3 voices: vi-vais1000, vi-25hours, vi-vivos

Falls back to Whisper STT if Sherpa-ONNX is unavailable.

Piper Languages (Lightweight ONNX)

These languages use Piper VITS models — lightweight and real-time on CPU:

LanguageCodeSTTVoices
🇩🇪 GermandeWhisper10 voices (de-thorsten, de-kerstin, de-ramona, ...)
🇷🇺 RussianruWhisper4 voices (ru-irina, ru-dmitri, ru-denis, ru-ruslan)
🇸🇦 ArabicarWhisper2 voices (ar-kareem, ar-kareem-low)
🇮🇩 IndonesianidWhisper1 voice (id-news)

🇰🇷 Korean (Supertonic)

Korean uses the Supertonic-2 ONNX model — real-time on CPU with 10 voice styles:

VoiceDescription
ko-F1 .. ko-F55 female voices (calm, bright, clear, crisp, kind)
ko-M1 .. ko-M55 male voices (lively, deep, polished, soft, warm)

🇹🇭 Thai (PyThaiTTS)

Thai uses PyThaiTTS with a Tacotron2 ONNX model (Apache 2.0):

VoiceModelSample Rate
th-defaultlunarlist_onnx22,050 Hz

Switching Languages

Via TUI

/lang fr          # Switch to French
/lang vi          # Switch to Vietnamese
/lang ko          # Switch to Korean (Supertonic TTS)
/langs            # List all languages with backends
/voices           # List voices for current language

Or use the Language and Voice dropdowns in the side panel.

Via Web UI

Use the language and voice selectors in the web interface, or type /lang ko in the text input.

Via CLI

bash
edgevox --language fr
edgevox --language ko --voice ko-M2
edgevox --web-ui --language de --voice de-thorsten

Via Code

python
from edgevox.core.config import get_lang, LANGUAGES

cfg = get_lang("ja")
print(cfg.name)          # "Japanese"
print(cfg.stt_backend)   # "whisper"
print(cfg.tts_backend)   # "kokoro"
print(cfg.kokoro_lang)   # "j"
print(cfg.default_voice) # "jf_alpha"

cfg = get_lang("ko")
print(cfg.tts_backend)   # "supertonic"
print(cfg.default_voice) # "ko-F1"

Adding a New Language

Add one entry to edgevox/core/config.py:

python
_reg(LanguageConfig(
    code="tr",
    name="Turkish",
    kokoro_lang="a",          # fallback to English TTS
    default_voice="af_heart",
    test_phrase="Merhaba.",
))

The language will automatically appear in:

  • TUI language and voice dropdowns
  • Web UI selectors
  • /langs command output
  • CLI --language option

Offline voice agent framework for robots