/ Модель

Характеристики

Лицензия
CC BY-SA 4.0
Библиотека
onnx
Опубликована
14 июл 2026

khmer-tts-female-v2

Синтез речиТекст → аудио3 профессии

Односпикерная VITS-модель преобразует кхмерский текст в речь женским голосом и поддерживает автономный запуск через ONNX.

57скачиваний за 30 дней0лайковвеса обновлены16 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

sengtha/khmer-tts-female-v2 — односпикерная модель синтеза речи женским голосом на кхмерском языке, созданная для iAny. Это модель архитектуры VITS, обученная с нуля на корпусе DDD-Cambodia с записанной речью одного диктора, а затем дополнительно обученная на большем числе шагов и данных. Модель принимает кхмерский текст в виде графем и выдаёт аудио; фонемизатор не требуется.

Экспорт ONNX предназначен для автономного запуска на устройстве, в том числе в браузере через onnxruntime-web и на мобильных устройствах через onnxruntime-react-native. В карточке также приведён экспорт v3 с настроенными параметрами темпа и вариативности синтеза; он относится к той же модели. Модель использовалась для озвучивания кхмерских новостей в радиоразделе iAny. Репозиторий распространяется по лицензии CC BY-SA 4.0.

Сценарии применения

  • озвучивание кхмерских новостей женским голосом
  • создание автономного синтеза кхмерской речи на мобильном устройстве
  • озвучивание кхмерского текста в браузере без подключения к сети

Ограничения

Модель рассчитана на одного женского диктора и кхмерский язык; карточка описывает её применение для чтения, но не подтверждает пригодность для других голосов или языков.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Khmer TTS — Female (VITS, ONNX)

A single-speaker female Khmer text-to-speech voice. VITS (end-to-end), grapheme-based (no phonemizer), exported to ONNX so it runs fully offline on-device — in the browser via onnxruntime-web and on mobile via onnxruntime-react-native. Built for iAny, where it reads Khmer news aloud in the Radio feature.

Files

FileWhat
khmer_tts_v3.onnxThe voice to use. Tuned export: length_scale 1.15 (a touch slower/clearer), noise_scale 0.5, noise_scale_w 0.6 (less timing jitter). These are baked into the graph.
tts_meta.jsonGrapheme vocabulary + inference metadata (see below).
config.jsonCoqui-TTS training/model config.
best_model.pthPyTorch checkpoint (for re-export / continued training).
khmer_tts*.onnx (others)Earlier / alternate-speed exports, kept for comparison.

tts_meta.json fields:

{
  "vocab": ["…"],        // grapheme -> id is the index into this array
  "add_blank": true,     // interleave the blank token between graphemes
  "blank": "@",          // the blank symbol
  "sample_rate": 22050
}

Inference (ONNX Runtime)

The graph takes token ids and returns float PCM:

  • Inputs: x = int64[1, T] (grapheme ids), x_lengths = int64[1] (= T)
  • Output: y = float32 waveform, mono, 22050 Hz

Tokenize by mapping each character to its index in vocab; if add_blank is true, start with the blank id and put a blank id between every grapheme.

import json, numpy as np, onnxruntime as ort, soundfile as sf

meta = json.load(open("tts_meta.json"))
id_of = {c: i for i, c in enumerate(meta["vocab"])}
blank = id_of[meta["blank"]]

def to_ids(text):
    ids = [id_of[c] for c in text if c in id_of]
    if meta["add_blank"]:
        out = [blank]
        for i in ids: out += [i, blank]
        return out
    return ids

sess = ort.InferenceSession("khmer_tts_v3.onnx")
ids = np.array([to_ids("សួស្ដី ពិភពលោក")], dtype=np.int64)
xlen = np.array([ids.shape[1]], dtype=np.int64)
y = sess.run(None, {"x": ids, "x_lengths": xlen})[0]
sf.write("out.wav", np.asarray(y).squeeze(), meta["sample_rate"])

The same tokenize → run → play flow is used in the browser (Web Audio) and in React Native (expo-av); see the iAny source for reference implementations.

Training

VITS trained from scratch on a single female Khmer speaker (~727 h DDD-Cambodia read-speech corpus), then continued training for more steps/data (the "v2" line). The v3 ONNX is the same model with tuned inference constants.

License & attribution

CC-BY-SA-4.0. This voice is trained on the DDD-Cambodia speech corpus, which is licensed CC-BY-SA-4.0. ShareAlike carries over, so the voice — and any derivative of it — must:

  • credit the DDD-Cambodia corpus, and
  • be shared under CC-BY-SA-4.0 as well.

Model architecture: VITS (Kim et al., 2021), trained with the Coqui TTS toolkit.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · onnx

Нельзя запустить

Архитектура ? неизвестна transformers в образе рантайма.

Ревизия весов
c6fde51

0 моделей