/ Модель

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

Лицензия
Apache 2.0
Базовая модель
VoxCPM2
Опубликована
12 окт 2026

voxcpm2-multilang28-full

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

Исследовательская версия VoxCPM2 для синтеза речи на 28 африканских языках с обязательным языковым токеном перед текстом.

371скачиваний за 30 дней0лайковвеса обновлены14 окт 2026

Бенчмарки

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

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

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

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

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

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

WAXAL VoxCPM2 — 28-Language African TTS — это полноразмерное дообучение модели VoxCPM2 с 2 млрд параметров, выполненное проектом WAXAL в LyngualLabs на речевых данных 28 африканских языков. Модель использует архитектуру diffusion-AR TTS и кодек AudioVAE; для каждого языка добавлен отдельный токен, который обязательно нужно ставить перед синтезируемым текстом. Язык определяется по этому токену и орфографии текста.

Модель предназначена для синтеза речи из текста на поддерживаемых языках, в том числе на языках с ограниченными ресурсами. Обучение проводилось на 7 424 часах исходных данных из коллекции AfroNet; после балансировки было использовано около 2,93 млн обучающих фрагментов. Репозиторий содержит веса safetensors, лицензия Apache-2.0.

Это исследовательский чекпойнт, не доведённый до производственного уровня. В тестах наблюдалась генерация чрезмерно длинных аудиозаписей, особенно для малагасийского, сидама и сомали; контроль голоса и стиля, а также синтез на языках вне обучающего набора могут быть хуже, чем у базовой VoxCPM2. Для инференса требуется отключить optimize, иначе в некоторых окружениях возможны сбои.

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

  • Синтез речи на йоруба
  • Озвучивание текста на суахили
  • Синтез речи на киньяруанда и игбо
  • Создание аудио на хауса и амхарском
  • Экспериментальная озвучка текстов на малоизвестных африканских языках

Ограничения

В части генераций речь чрезмерно длинная или не завершается; проблема чаще отмечалась для малагасийского, сидама и сомали. Возможности управления стилем и голосом и синтеза вне обученных языков не проверены и могут быть снижены; для инференса требуется optimize=False.

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

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

Открыть на Hugging Face

WAXAL VoxCPM2 — 28-Language African TTS

A full fine-tune of VoxCPM2 (2B params, tokenizer-free, diffusion-AR TTS with voice cloning) on 28 African languages, produced by the WAXAL project at LyngualLabs.

This is a research checkpoint. It is not production-polished — see Known Limitations below before using it for anything beyond experimentation.

Languages

VoxCPM2 has no built-in mechanism for specifying language at inference — the base model infers pronunciation purely from text orthography. We added one: a dedicated <lang:XX> tag per language, registered as a real token in the tokenizer and resized into the text embedding table (mean-initialized, then learned during fine-tuning). The tag is mandatory — always prepend it to the text you want synthesized, e.g.:

<lang:yo> Ẹ káàárọ̀! Báwo ni oorun rí lálẹ́ àná?
LanguageTagRaw hoursHours after resampling
Yoruba<lang:yo>1038.7602.4
Swahili<lang:sw>1004.1592.3
Kinyarwanda<lang:rw>989.9588.1
Igbo<lang:ig>930.2570.1
Hausa<lang:ha>682.6488.3
Wolaytta<lang:wal>196.6262.1
Dholuo<lang:luo>191.5258.7
Amharic<lang:am>189.2257.1
Oromo<lang:om>189.2257.1
Sidama<lang:sid>188.2256.4
Tigrinya<lang:tig>180.0250.8
Kikuyu<lang:kik>185.8254.8
Kalenjin<lang:kal>153.2231.3
Malagasy<lang:mlg>179.8250.6
Luganda<lang:lug>111.4197.3
Dagaare<lang:dagr>104.3190.9
Somali<lang:som>103.2189.9
Ewe<lang:ewe>103.1189.8
Ikposo<lang:ikp>102.6189.3
Wolof<lang:wol>101.3188.1
Dagbani<lang:dagb>96.3183.4
Maasai<lang:maa>83.7171.0
Shona<lang:sna>83.7171.0
Akan<lang:aka>75.4162.3
Nyankole<lang:nya>48.8130.6
Masaaba<lang:mas>42.7122.1
Lusoga<lang:lus>39.0116.7
Acholi<lang:ach>29.7101.9

Source data: the AfroNet speech collection (Professor/<language>-speech-data), 7,424 raw hours total.

Training

  • Base: openbmb/VoxCPM2, with 28 new <lang:XX> tokens added and the text embedding table resized (mean-initialized rows) before any fine-tuning started — this is an independent run from scratch, not built on top of any earlier narrower fine-tune.
  • Mode: full fine-tuning (all parameters trainable except the frozen AudioVAE codec).
  • Data balancing: the 28 languages range 35x in size (1038.7h Yoruba vs. 29.7h Acholi). Naive concatenation would starve the smallest languages; full equalization would cause heavy repetition/overfitting on them. We used sqrt-temperature resampling (weight ∝ √hours, renormalized to preserve total volume) — a standard middle-ground technique from multilingual ASR/TTS training. This downsamples the biggest languages to ~58–97% of their raw hours and upsamples the smallest to ~1.4–3.4x, via a combination of subsampling and controlled repetition.
  • Scale: 2,929,563 training rows (clips) after resampling, 9,450 held-out validation rows.
  • Steps: 44,000 steps (~0.99 epoch over the resampled training set), batch size 3 × grad-accum 11 × 2 GPUs (effective batch 66).
  • Hardware: 2× NVIDIA H200, via torchrun DDP.
  • Learning rate: 1e-5, 100 warmup steps.

Usage

from huggingface_hub import snapshot_download
from voxcpm import VoxCPM
import soundfile as sf

model_dir = snapshot_download("waxal-benchmarking/voxcpm2-multilang28-full")
model = VoxCPM.from_pretrained(model_dir, load_denoiser=False, optimize=False)

wav = model.generate(
    text="<lang:yo> Ẹ káàárọ̀! Báwo ni oorun rí lálẹ́ àná?",
    cfg_value=2.0,
    inference_timesteps=22,
)
sf.write("out.wav", wav, model.tts_model.sample_rate)

optimize=False is required — torch.compile (the default optimization path) conflicts with some inference environments (e.g. HF ZeroGPU Spaces); disabling it costs some speed but avoids crashes.

Voice cloning works the same way as base VoxCPM2 — pass prompt_wav_path and prompt_text (the literal transcript of what's spoken in the reference clip) alongside the tagged text.

Try it live: WAXAL VoxCPM Multilingual Demo Space.

Evaluation

We built an automated evaluation pipeline rather than relying on casual listening, using:

  • ASR-based CER (Character Error Rate) via Meta's Omnilingual ASR (omniASR_CTC_7B, ~1,600-language coverage, verified against this model's own supported-language table — not assumed), comparing transcriptions of generated speech against the ground-truth input text.
  • The same ASR run on real human recordings of the same held-out text, as a per-language noise floor — several of these languages get nontrivial CER even on real speech (e.g. Fante in an earlier AfroNet pilot scored CER 0.49–0.57 on real recordings), so a raw TTS CER number is meaningless without that baseline.
  • DNSMOS (no-reference naturalness proxy). Caveat: DNSMOS is trained on English/high-resource-language listener ratings, so treat these scores as relative (comparing our own languages/checkpoints) rather than absolute.

Pilot results (5 held-out validation clips per language, no reference voice):

MetricResult
DNSMOS (naturalness)2.78–3.41 across all 28 languages, no outliers
Generated-speech CERUsually lower than real-recording CER for the same ASR (e.g. Swahili: 0.028 generated vs. 0.013 real; Hausa: 0.044 vs. 0.113) — generated audio is clean and consistent, so it's often at least as ASR-decodable as noisy real recordings
Non-terminating generationA measurable failure mode: in a 5-clip-per-language sample, Malagasy, Sidama, and Somali hit an apparent generation-length ceiling in 3/5 clips; Shona and Swahili in 2/5; several others in 1/5. Confirmed as genuine overrun (not just naturally long sentences) by comparing generated duration against the real recording's duration for the same text.

The non-terminating-generation issue doesn't cleanly correlate with raw data size — Swahili (one of the largest languages here) is affected while several much smaller languages (Hausa, Acholi, Dagbani, Wolof) show none. It's an open issue, not yet root-caused.

Known Limitations

  • Voice-design and cross-lingual flexibility are likely reduced. Earlier narrow single-language full fine-tunes on this same base model showed that full-FT on read-speech-only data degrades the base model's text-prompted style/voice-design control and non-trained-language generation. This 28-language run is far more linguistically diverse than those single-language runs, which should help, but it is still exclusively plain narration-style audio — we have not verified how much voice-design capability survives.
  • Non-terminating generation (see Evaluation) affects a meaningful minority of generations, worse for some languages (Malagasy, Sidama, Somali) than others.
  • Translation/transcript quality varies by language in our own test tooling — some of the lowest-resource languages here (Wolaytta, Sidama in particular) have had machine-translated test sentences that looked suspect on inspection; this is a tooling caveat about our test sentences, not necessarily the model.
  • Language coverage via Omnilingual ASR for evaluation purposes was spot-checked, not independently verified for linguistic accuracy of every transcription.

Related

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

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

GPU в ailist

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

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

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

Ревизия весов
126807a

0 моделей