Downloads · 30 days
25
10% of all-time downloads
Mwau/waxal_swahili-tts-mms
waxal_swahili-tts-mms is a text-to-speech model from Mwau. Use it when you need text read aloud. The card lists the license as cc-by-nc-4.0.
A Swahili text-to-speech model, finetuned from Meta's MMS-TTS Swahili checkpoint on the swatts split of google/WaxalNLP, using the VITS finetuning recipe from ylacombe/finetune-hf-vits.
Downloads · 30 days
25
10% of all-time downloads
All-time downloads
245
Public
Parameters
36.3M
291 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors145 MB · 100%
From the Hugging Face model README
A Swahili text-to-speech model, finetuned from Meta's MMS-TTS Swahili checkpoint on the swa_tts split of google/WaxalNLP, using the VITS finetuning recipe from ylacombe/finetune-hf-vits.
⚠️ Early checkpoint. This model is saved from step 4,500 of a planned 20,200-step (200-epoch) training run — roughly 22% through. Training was interrupted by free-tier Google Colab resource limits and is being continued on different hardware. Expect rough prosody and occasional mispronunciations. This card will be updated as training progresses.
facebook/mms-tts-swh (Meta's Massively Multilingual Speech TTS, Swahili)swa_tts config — 1,387 train utterances (805 after duration/length filtering), single Swahili speaker, 16kHz audio, sourced via the Loud & Clear initiative.swh / ISO 639-3)| Setting | Value |
|---|---|
| Learning rate | 2e-5 |
| Batch size | 8 |
| Precision | fp16 |
| Max clip duration | 20s |
| Min clip duration | 0.5s |
| Loss weights | mel=35, kl=1.5, disc=3, gen/fmaps/duration=1 |
Training used the finetune-hf-vits recipe with transformers==4.35.1, datasets==2.14.7, accelerate==0.24.1, numpy<2.0 (this specific combination was required to avoid dependency-incompatibility crashes on Colab).
import numpy as np
from transformers import pipeline
import scipy.io.wavfile
synthesiser = pipeline("text-to-speech", model="Mwau/waxal_swahili-tts-mms")
speech = synthesiser("Habari yako, karibu Kenya.")
audio = np.squeeze(speech["audio"]) # squeeze extra dims before saving/playing
scipy.io.wavfile.write("output.wav", rate=speech["sampling_rate"], data=audio)
Verified loading cleanly with transformers pipeline("text-to-speech", ...) — no missing/unexpected weight warnings on load.
Research and experimentation with Swahili TTS, particularly cross-lingual/low-resource TTS transfer techniques. Not yet suitable for production or user-facing applications given the early training stage.
test split suggest intelligible but rough output.This model is derived from facebook/mms-tts-swh, which is released under CC-BY-NC-4.0 (non-commercial). This finetuned model inherits that license. The swa_tts training data is released under CC-BY-SA-4.0.