/ Модель

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

Лицензия
Apache 2.0
Архитектура
style_text_to_speech_2 · dense
Базовая модель
Kokoro-82M
Библиотека
kokoro
Опубликована
24 апр 2026

bol-tts-marathi

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

Дообученная на маратхи модель Kokoro-82M синтезирует речь из текста на маратхи и смешанного текста маратхи с английским.

148скачиваний за 30 дней0лайковвеса обновлены7 мая 2026

Бенчмарки

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

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

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

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

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

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

shreyask/bol-tts-marathi — это дообученная модель синтеза речи на основе hexgrad/Kokoro-82M, разработанная для озвучивания текста на маратхи. Она использует архитектуру StyleTTS2 с декодером ISTFTNet, содержит 81,76 млн параметров и генерирует аудио с частотой дискретизации 24 кГц. Доступно 25 голосов, включая голоса, обученные на маратхи, и варианты голосов Kokoro.

Модель предназначена для синтеза речи на маратхи, в том числе смешанного текста на маратхи и английском (Minglish). Для латинских английских слов в смешанном тексте README рекомендует предварительную транслитерацию в деванагари перед фонемизацией; доступны клиентская предобработка и таблица примерно из 19 500 соответствий. Модель построена на Kokoro-82M и дообучена с использованием данных AI4Bharat/Rasa, AI4Bharat/IndicVoices-R и SPRINGLab/IndicTTS-Marathi.

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

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

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

Ограничения

Для предложений только на английском возможна неверная, ориентированная на маратхи акустика; для смешанного текста требуется предварительная транслитерация английских слов в деванагари. Редкие заимствования могут отсутствовать в таблице предобработки.

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

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

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

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

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

Открыть на Hugging Face

bol-tts-marathi — Kokoro-82M fine-tuned for Marathi

A Marathi (मराठी) text-to-speech fine-tune of hexgrad/Kokoro-82M, trained with the semidark/kokoro-deutsch recipe. Handles pure Marathi and Minglish (Marathi + English code-switching) via a client-side Devanagari-transliteration preprocessor.

Voice catalog (25 voices)

Marathi-trained (4)

IDDisplaySourceDefault speed
mf_ashaAsha (आशा)Rasa marathi_female1.00×
mm_vivekVivek (विवेक)Rasa marathi_male1.00×
mf_muktaMukta (मुक्ता)SPRINGLab female0.80×
mm_dnyaneshDnyanesh (ज्ञानेश)SPRINGLab male0.80×

Stock-Kokoro crossovers (19)

Stock voicepacks from hexgrad/kokoro.js used as ref_s on this fine-tune. Because v0.2 is a continuation fine-tune, the encoder latent space stays close enough to stock Kokoro's that stock voicepacks plug in directly. Pre-screened by peak < 0.95 to filter ones that clip.

IDDisplaySource language
af_heartSvara (स्वरा)US English F
af_alloyAnvita (अन्विता)US English F
af_aoedeSanika (सानिका)US English F
af_bellaNaina (नैना)US English F
af_jessicaIshani (ईशानी)US English F
af_novaTara (तारा)US English F
af_sarahKavya (काव्या)US English F
af_skyAkasha (आकाशा)US English F
am_liamAtharv (अथर्व)US English M
bf_isabellaIra (इरा)UK English F
bm_fableAaryan (आर्यन)UK English M
ff_siwisEsha (ईशा)French F
hm_omegaVihaan (विहान)Hindi M
im_nicolaNiraj (निरज)Italian M
pf_doraRhea (रिया)Portuguese F
zf_xiaoniNyra (नयरा)Mandarin F
zf_xiaoxiaoPari (परी)Mandarin F (kid)
zf_xiaoyiVir (वीर)Mandarin F (perceived M kid)
zm_yunyangAakash (आकाश)Mandarin M

Synthetic — generated arithmetically with no reference audio (2)

IDDisplayRecipe
syn_samaSama (समा)Centroid (mean) of 5 modern English female voicepacks
syn_navyaNavya (नव्या)Centroid + per-position Gaussian noise (1σ)

The voicepack tensor [510, 1, 256] is a plain embedding — it can be constructed by averaging existing voicepacks, sampling near the centroid, or interpolating. See voicepack zoo in the repo for recipes.

Usage

import torch, soundfile as sf
from kokoro import KModel, KPipeline
import kokoro.pipeline as _kp

_kp.LANG_CODES["m"] = "mr"  # monkey-patch Marathi lang code

kmodel = KModel(
    repo_id="shreyask/bol-tts-marathi",
    config="config.json",
    model="kokoro-mr-v0_2.pth",
)
kmodel.train(False)

pipeline = KPipeline(lang_code="m", repo_id="shreyask/bol-tts-marathi", model=kmodel)
voice = torch.load("voices/mf_asha.pt", map_location="cpu", weights_only=True)

text = "नमस्कार, मी मराठी बोलतो."
chunks = []
for _gs, _ps, audio in pipeline(text, voice=voice, speed=1.0):
    chunks.append(audio)

sf.write("out.wav", chunks[0].numpy() if len(chunks) == 1 else torch.cat(chunks).numpy(), 24000)

Minglish (loanword) handling

For Marathi mixed with English ("Friday ला Zomato वर dinner order करूया का?"), use the loanword preprocessor first to transliterate Latin tokens to Devanagari before phonemization:

from preprocess_loanwords import preprocess
text = preprocess("Friday ला Zomato वर dinner order करूया का?")
# → "फ्रायडे ला झोमॅटो वर डिनर ऑर्डर करूया का?"
# Then feed to the pipeline as usual.

Source + ~19,500-entry lookup table: scripts/preprocess_loanwords.py and data/loanword_map.json.

Per-voice timestamps

Kokoro predicts per-phoneme durations. KModel.forward_with_tokens returns (audio, pred_dur). pred_dur is in predictor frames where 1 frame = 600 audio samples at 24 kHz (the prosody predictor runs at half the mel-frame rate; the decoder upsamples 2× before iSTFT):

audio, pred_dur = kmodel.forward_with_tokens(input_ids, ref_s, speed=1.0)
durations_sec = pred_dur.squeeze().cpu().numpy() * 600 / 24000
starts = durations_sec.cumsum() - durations_sec
# (starts[i], starts[i] + durations_sec[i]) is the time span of phoneme[i]

Training

PhaseDetails
Basehexgrad/Kokoro-82M
Stage 110 epochs, bs=12, fp32, ~9h on A100 SXM 80GB. Final val_loss ≈ 0.23
Stage 210 epochs, bs=8, PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True, ~13h
Train utts24,676 (95/5 split)
Speakers331 (2 Rasa + 329 IndicVoices-R) + SPRINGLab IndicTTS-Marathi (single F + single M)
Vocab changeɭ (U+026D, retroflex lateral) at Kokoro slot 144 — Marathi-specific phoneme that Hindi doesn't have

Full methodology: TRAINING_GUIDE.md.

Datasets

Limitations

  • Pure-English-only sentences — the decoder hallucinates Marathi acoustics if you don't give it any Devanagari context. The Minglish trick handles mixed input via Devanagari transliteration; pure English needs a different fallback.
  • Long-tail loanwords — the 19,500-entry map covers high-frequency English words in Indian usage; rarer words fall through to espeak-mr unchanged.
  • Decoder English-leakage is accidental, not designed — v0.2's decoder happens to render /ɟʰ/ (Devanagari झ) with an English-flavored /z/ quality, which makes "amazing" → अमेझिंग → audible "amazing." The follow-up v0.5 retraining lost this property by being more correctly Marathi; v0.6 is planned to preserve the leakage deliberately.

License

Apache 2.0. Training data under their respective licenses (Rasa CC-BY-4.0, IndicVoices-R CC-BY-4.0, SPRINGLab IITM EULA).

Citation

@software{bol_tts_marathi_2026,
  title={bol-tts-marathi: Kokoro-82M fine-tuned for Marathi},
  author={Karnik, Shreyas},
  year={2026},
  url={https://github.com/shreyaskarnik/bol-tts-marathi},
  license={Apache-2.0}
}
@software{kokoro_2025,
  title={Kokoro-82M},
  author={hexgrad},
  year={2025},
  url={https://github.com/hexgrad/kokoro}
}
@software{kokoro_deutsch_2026,
  title={kokoro-deutsch},
  author={semidark},
  year={2026},
  url={https://github.com/semidark/kokoro-deutsch}
}

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

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

GPU в ailist

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

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

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

Класс архитектуры
StyleTextToSpeech2Model
Ревизия весов
b0f735d

0 моделей