/ Модель

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

Лицензия
Apache 2.0
Базовая модель
Nabra-82M-v0.1
Библиотека
kokoro
Опубликована
13 сен 2026

Nabra-Saudi-82M

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

Модель преобразует текст на саудовском диалекте арабского языка в речь и предназначена для озвучивания коротких фраз.

145скачиваний за 30 дней0лайковвеса обновлены18 сен 2026

Бенчмарки

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

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

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

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

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

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

Nabra-Saudi-82M — модель синтеза речи на арабском языке с саудовским диалектом, разработанная автором репозитория и дообученная на базе oddadmix/Nabra-82M-v0.1. Она содержит около 81,8 млн параметров и формирует монофоническое аудио с частотой 24 кГц. Базовая архитектурная линия связана с Kokoro-82M и StyleTTS2; модель использует арабскую нормализацию и фонетическую обработку текста.

Модель предназначена для озвучивания текста на саудовском диалекте. Карточка приводит примеры приветствия, прогноза погоды и короткого рассказа; для разговорной речи также описан отдельный более поздний чекпойнт, обученный на синтетических телефонных диалогах. Лицензия репозитория — Apache-2.0.

Основной чекпойнт обучен на 146 часах речи одного диктора. Он лучше подходит для коротких фраз, чем для длинной спонтанной речи. Модель рассчитана на саудовский диалект, не предназначена для современного литературного арабского и других диалектов, а клонирование голоса не поддерживает.

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

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

Ограничения

Модель обучена на речи одного диктора, лучше работает с короткими фразами, не предназначена для современного литературного арабского или других диалектов и не поддерживает клонирование голоса.

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

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

Открыть на Hugging Face

Nabra-Saudi-82M

Saudi-dialect Arabic text to speech, 81.81M parameters, 24 kHz. Finetuned from Nabra-82M (itself a Kokoro-82M / StyleTTS2 finetune) on 146 hours of single-speaker Saudi speech. It is the teacher that Nabra-Saudi-7M, an 11x smaller on-device model, was distilled from.

parameters81,810,022
model filenabra_saudi_82m_v0.pth, 327.5 MB (fp32)
sample rate24 kHz, mono
languageArabic, Saudi dialect
voiceaf_msa (single female voice)
training40k steps on 34,404 clips (146.5 h) of single-speaker Saudi speech
  • 🎙️ Try it: Nabra-Saudi-Demo — the 82M next to the 7M on the same text.
  • 📱 Small version: Nabra-Saudi-7M, 7.48M parameters / 30 MB, distilled from this model.

Samples

samples/ holds three sentences synthesized with this checkpoint on CPU, no post-processing:

filetext
samples/nabra_saudi_82m_hello.wavيا أهلاً وسهلاً، كيف حالكم؟ إن شاء الله طيبين وبأحسن حال.
samples/nabra_saudi_82m_weather.wavالطقس اليوم حلو والسما صافية مرة.
samples/nabra_saudi_82m_story.wavاليوم عندنا قصة جديدة من القصص اللي كلكم تحبونها.

Usage

pip install torch soundfile huggingface_hub loguru attrs transformers "misaki[en]>=0.9.4" \
            "phonemizer-fork>=3.3.2" camel-tools numpy
sudo apt-get install -y espeak-ng
import soundfile as sf
from huggingface_hub import snapshot_download
import sys; sys.path.insert(0, snapshot_download("oddadmix/Nabra-Saudi-82M"))

from load_model import load
model, pipeline, voice = load()          # loads nabra_saudi_82m_v0.pth + af_msa.pt
audio = next(pipeline("يا أهلاً وسهلاً، كيف حالكم؟", voice=voice))[2]   # 24 kHz
sf.write("out.wav", audio.numpy(), 24000)

load_model.py uses the vendored kokoro_patched/ package rather than the stock kokoro pip package: this config sets decoder widths that upstream Kokoro hardcodes, so the stock package raises a TypeError. Do not pip install kokoro on top of it.

Write dialect text as it is normally written, without full tashkeel. That is what the model expects, and adding MSA diacritics makes it worse rather than better: an MSA diacritizer imposes case endings and vowel patterns a dialect speaker does not pronounce. Measured on a separate Saudi corpus, running an MSA diacritizer over the text was the worst of the three options tried.

Front end

Text goes through arabic_g2p.py with diacritize=False: normalize, espeak-ng Arabic G2P, then a cleanup pass that strips espeak's mid-word syllable dots and keeps ʕ (ع) and ħ (ح) on their own embedding slots (Kokoro vocab ids 7 and 8) so the ع/ء and ح/ه contrasts survive.

How it was trained

Durations come from a CTC aligner trained on this corpus, not from a teacher. Two checks decided whether those labels were usable, and both are worth repeating on any new corpus:

  • The frame offset is measured, not assumed. An energy sweep placed this corpus's peak at zero, so no correction was applied. Two other corpora in this line needed +1, and training on an uncorrected offset wrecked an earlier run.
  • A reversed-label control. Vowel-minus-pause energy separation was +8.87 dB under the true labels and +0.92 dB with the labels reversed, so the alignment is real rather than a plausible looking monotonic path.

Objective: multi resolution STFT, duration L1, log mel L1, a silence term, and WavLM feature matching, with multi period and multi resolution spectrogram discriminators. The full recipe and the scripts are in Nabra-Saudi-7M/TRAINING.md.

Additional checkpoint: nabra_saudi_82m.pth (with synthetic phone conversations)

The repo also carries a later checkpoint, trained from nabra_saudi_82m_v0.pth for another 40k steps on 55,606 segments (159.9 h: the 146 h real corpus plus 13.4 h of synthetic Saudi phone-conversation speech covering real-estate sales/support and HR/accounting). On held-out conversational text it roughly halved word error (0.091 vs 0.152, 33 reference words) with audio quality unchanged within noise (UTMOS 2.71 vs 2.79, sd 0.23).

It is not the checkpoint the demo serves and not the one the 7M was distilled from; load it explicitly with load(weights="nabra_saudi_82m.pth") if you want the conversational domain.

Limitations

Single voice, Saudi dialect. Short sentences are noticeably stronger than long spontaneous passages. Not intended for Modern Standard Arabic, which Nabra-82M-v0.1 and Nabra-7M-Distill cover, nor for other dialects. No speaker cloning.

Citation

@misc{nabrasaudi2026,
  title  = {Nabra-Saudi-82M: Saudi-dialect Arabic Text-to-Speech},
  author = {oddadmix},
  year   = {2026},
  howpublished = {\url{https://huggingface.co/oddadmix/Nabra-Saudi-82M}}
}

License & attribution

Apache-2.0, following Kokoro-82M (Apache-2.0) and StyleTTS2 (MIT). The finetuning recipe builds on kikiri-tts.

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

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

GPU в ailist

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

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

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

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

0 моделей