Addis PulseStudio

Two Persian TTS Checkpoints, One Licence Fork

Hazrat8phone published a Coqui-trained female Persian VITS model and a Meta MMS Farsi checkpoint on the same day. One you can ship; the other you can't.

4 min read876 words

What happened

Two Persian text-to-speech checkpoints landed on Hugging Face the same day. Hazrat8phone published persian-tts-female-vits, a single-speaker Coqui TTS VITS model trained for 10 hours on Kaggle, and mms-tts-fas, the Farsi checkpoint of Meta AI's Massively Multilingual Speech project. Both sit at zero likes and zero downloads.

Context

Meta AI's MMS project (arXiv 2305.13516, "Scaling Speech Technology to 1,000+ Languages") shipped a VITS-based TTS architecture covering over a thousand languages; the Farsi checkpoint is part of that release. The Coqui TTS framework has long been the runtime for smaller, single-speaker VITS models, though its current maintenance status is not stated in the sources. What makes this pair unusual is not the models themselves, both Persian-only and single-speaker, but that they appeared from one user account on the same day, each carrying a different licence that sends a developer in opposite directions.

How it works

persian-tts-female-vits is a single-speaker female-voice model built on the Coqui TTS framework with a PyTorch backend, trained for 10 hours on Kaggle's cloud infrastructure. At runtime it needs the Coqui TTS Python package plus espeak-ng as a system-level dependency, which provides the phoneme alignment VITS uses to map text to acoustic features. A demo Space is hosted at huggingface.co/spaces/Kamtera/Persian-tts-CoquiTTS.

mms-tts-fas is the Persian (fas) checkpoint from Meta AI's MMS project, developed by Vineel Pratap et al. It uses the VITS family: a conditional variational autoencoder with a flow-based acoustic module, a Transformer-based text encoder, a stochastic duration predictor, and a HiFi-GAN-style vocoder decoder, all on PyTorch with weights in safetensors format. It is served through Hugging Face Transformers version 4.33 and above via the VitsModel class. Inference is non-deterministic; a fixed random seed is required to reproduce an identical waveform across runs.

One provenance issue sits in the persian-tts-female-vits model card. The body text names the training dataset 'persian-tts-dataset-male', but the hyperlink in the same card resolves to 'persian-tts-dataset-famale' on Kaggle, a typo for female, while the model is described as a female voice. The sources do not resolve which label is correct.

Our read

This is not a model announcement in any meaningful sense. Two Persian-only, single-speaker checkpoints from one user on the same day, both at zero downloads, does not signal a shift in TTS. The interesting thing is the licence fork.

persian-tts-female-vits carries OpenRAIL, broadly permissive for commercial use. mms-tts-fas carries CC-BY-NC 4.0, which prohibits commercial use outright. If you are producing a paid Persian voiceover, the Meta checkpoint is a non-starter without a separate commercial agreement, and no source here indicates whether one exists. The Coqui-trained model is the only one a small studio could ship under its existing licence, and even then the full OpenRAIL terms deserve a read before client work ships.

The second-order effect is the dependency chain. persian-tts-female-vits depends on the Coqui TTS runtime, and the sources do not state whether Coqui is actively maintained. The MMS checkpoint has a clearer path: Hugging Face Transformers' VitsModel class, maintained by the HF team. If Coqui goes quiet, the persian-tts-female-vits weight file becomes a manual PyTorch load with no inference pipeline or espeak-ng glue.

Finally, the dataset naming conflict, 'male' in the body text and 'famale' in the hyperlink, is provenance sloppiness that should make you question training quality before committing GPU time to a benchmark.

What this changes

If your pipeline is English-centric, nothing changes on Monday. Neither model speaks a language beyond Persian, and neither ships as a native ComfyUI node. You would wrap one as a custom TTS node or call it as an external Python service in the render pipeline.

If you do produce Persian or Farsi voiceover content, the practical move is to benchmark persian-tts-female-vits first. It is the only one of the two with a licence that does not block commercial delivery. Install the Coqui TTS package, set up espeak-ng, pull the weights, generate a test clip. For the MMS checkpoint, the path is Hugging Face Transformers 4.33+, the VitsModel class, and you must set a fixed random seed before every generation call or your batch renders will not be reproducible.

Hardware requirements for either model are not stated in the sources. Benchmark locally before allocating GPU time.

License

persian-tts-female-vits is licensed under OpenRAIL, generally permissive for commercial use, though the full terms should be reviewed before shipping client deliverables. mms-tts-fas is licensed under CC-BY-NC 4.0, which explicitly prohibits commercial use; a paid voiceover rendered with this model would be non-compliant without a separate agreement with Meta AI.

Key takeaways

  • Two Persian-only TTS checkpoints from the same user on the same day; neither has community traction (0 likes, 0 downloads at collection time).
  • The licence split is the real story: OpenRAIL permits commercial use, CC-BY-NC 4.0 does not.
  • The persian-tts-female-vits model card contains an unresolved dataset naming conflict ('male' in text, 'famale' in the hyperlink) that no source clarifies.
  • mms-tts-fas requires a fixed random seed for reproducible output; batch voiceover pipelines must account for this.
  • Neither model ships as a ComfyUI node; both require custom integration or an external Python service in the render pipeline.

Sources

  1. Hazrat8phone/persian-tts-female-vits β€” text-to-speech on Hugging Face β€” tier 3
  2. Hazrat8phone/mms-tts-fas β€” text-to-speech on Hugging Face β€” tier 3
ttspersianvoiceoverlicensingcoquimeta

How this post was made

Drafted from clustered primary sources by the models below, then read, edited and approved by a human before it was published. The sources are listed in full at the end of the article.

Drafted
Independent sources
2
cluster pair
gemma4:12b
cluster label
gemma4:12b
radar brief
gemma4:12b
research brief
qwen3.8:27b
draft article
qwen3.8:27b
short script
qwen3.8:27b
seo pack
gemma4:12b
Run
editorial-20260823T193830Z