Persian-IPA-to-Speech-F5
Persian-IPA-to-Speech-F5 is a Persian speech synthesis checkpoint fine-tuned from F5-TTS v1 Base. It is conditioned directly on raw Unicode IPA sequences rather than ordinary Persian orthography.
Highlights
- Direct Persian IPA-to-speech synthesis
- Custom Unicode codepoint vocabulary
- 24 kHz mono waveform output
- Reference-audio voice conditioning
- Inference-ready EMA weights in Safetensors format
- Reproducible checkpoint and vocabulary checksums
Files
| File | Purpose |
|---|---|
model.safetensors | Final inference-ready EMA checkpoint |
vocab.txt | Custom tokenizer vocabulary; 2,547 unique symbols |
config.yaml | Model, tokenizer, audio, and compatibility configuration |
manifest.json | Artifact provenance and validation results |
SHA256SUMS | Integrity checksums |
examples/ | Generated audio samples and their IPA metadata |
The model contains 364 tensors. Its text embedding shape is [2548, 512],
which corresponds to 2,547 vocabulary symbols plus F5-TTS's internal filler
row.
Installation
pip install persian-ipa-to-speech-f5
FFmpeg must be available on the system. For GPU inference, install the PyTorch build matching your CUDA version first.
Python usage
from persian_ipa_to_speech_f5 import PersianIPAToSpeechF5
tts = PersianIPAToSpeechF5(device="cuda")
tts.synthesize(
"sælɒːm, xoːbiː?",
reference_audio="reference.wav",
reference_ipa="<exact IPA transcription of reference.wav>",
output="outputs/result.wav",
)
The reference transcription must match the spoken reference audio. Use NFC Unicode normalization and preserve the same IPA conventions used by the model.
End-to-end Persian text to speech
For ordinary Persian input, use
KiaBush/persian-text-to-ipa-byt5
as the grapheme-to-phoneme front end, then pass its IPA output to this model.
from persian_ipa_to_speech_f5 import PersianIPAToSpeechF5, PersianTextToIPA
ipa = PersianTextToIPA(device="cpu").convert("گل رز واقعاً زیباست.")
tts = PersianIPAToSpeechF5(device="cuda")
tts.synthesize(
ipa,
reference_audio="reference.wav",
reference_ipa="<exact IPA transcription of reference.wav>",
output="outputs/result.wav",
)
Review the generated IPA for names, numbers, abbreviations, dialectal forms, and other context-dependent pronunciations before production synthesis. For long input, follow the Text-to-IPA model's chunking guidance.
License
The model checkpoint is a derivative of F5-TTS v1 Base and is licensed under CC-BY-NC-4.0. The non-commercial restriction applies to the model. F5-TTS source code is separately available under the MIT License. Rights or consent associated with training data, reference voices, and generated audio are not granted by the model license and remain the user's responsibility.
Audio samples
The following files are generated outputs. Reference recordings are not redistributed with these previews.
اشکهاش.wav — Synthetic Adel Ferdosipour-like voice
An unofficial synthetic voice-cloning demonstration resembling Adel Ferdosipour. This sample is not affiliated with or endorsed by the speaker.
meɾsiː ʔɒːɡhɒːje, ɾonɒːldo, bɒːbæte ʔiːn hæme sɒːliː ke ʔæz buːdænet lezzæt boɾdiːm, væ belæxæɾeh, ʔæʃkhɒːʃ, dʒɒːɾiː xɒːhænd ʃod.
اروند.wav — Complex utterance
A complex-utterance sample for evaluating pronunciation accuracy and speech continuity.
ʔɒːn ɾuːz dʒæʔfæɾ tɒː læbe ʔæɾvænd ʔɒːmædo,tæmɒːme ʔeltemɒːshɒː væ ʔæʃkhɒːjæʃ, bæɾɒːje hozuːɾe ʔuː dæɾ ʔæmæliːjɒːt, kɒːɾsɒːz næbuːd.
پژمرده.wav — Pronunciation contrast
A pronunciation-contrast sample containing different pronunciations of the Persian word «گل» within a single utterance.
vejː ɡol ɾɒː, dæɾ ɡel kɒːʃt. ʔæmmɒː ɢɒːfel ʔæz ʔiːnke ʔiːn ɡole ziːbɒː næbɒːjæd dæɾ ʔɒːn xɒːk væ ɡe:l ɢæɾɒːɾ miːɡeɾeft... be hæmiːn ʔellæt ɡole: nɒːzæniːn beɾɒːhætiː pæʒmoɾdeh ʃod!.
گل رز.wav — Distinctive vocal tone
A sample featuring a vocal tone that differs from a typical conversational voice.
ɡole: ɾoz, vɒːɣeʔæn ziːbɒːst.
نفت.wav — Complex sentence
A complex-sentence sample for evaluating pronunciation and continuity.
ʔiːnæm ʔeʃɒːɾe konæm, ʔiːn ɢejmætiː ke ʔemɾuːz dæɾ tɒːblo ʃomɒː miːbiːniːd, mæsælæn tæhte ʔonvɒːne næfte beɾent, tæhte ʔɒːsɒːɾe næfte dæbeljuː tiː ʔɒːje, teɡzɒːs ʔæst.
قصه.wav — Colloquial speech
A sample demonstrating colloquial Persian speech.
sælɒːm bætʃtʃehɒːje ʔæziːz, bɒː jekiː diːɡæɾ ʔæz bæɾnɒːmehɒːje ʔæsɾe dɒːjnɒːsoɾhɒː bɒː ʃomɒːjiːm.
ساعت.wav — Contextual «نه»
A contextual pronunciation sample where «نه» represents the number nine rather than the negative response “no.”
sɒːʔæt noho siː ʔo do dæɣiːɣe ʔæst.
Machine-readable details are available in examples/metadata.json.
Model architecture
- Base architecture:
F5TTS_v1_Base - Backbone: DiT, 22 layers, 1,024 hidden dimensions, 16 attention heads
- Mel channels: 100
- Sample rate: 24,000 Hz
- Vocoder: Vocos
- Checkpoint weights: EMA, float32
- Tokenizer: custom Unicode codepoint vocabulary
- Compatible F5-TTS base: v1.1.22 with the linked raw-input patch
Limitations
- Input must already be valid IPA; this repository does not include a Persian grapheme-to-phoneme converter.
- The model may mispronounce IPA conventions or symbols underrepresented during fine-tuning.
- Output quality depends strongly on reference-audio quality and transcription accuracy.
- Voice conditioning does not imply identity ownership or permission to imitate a speaker.
- Performance may vary across accents, speaking styles, and long utterances.
Responsible use
Only use reference voices with the speaker's authorization. Do not use this model for impersonation, fraud, deceptive media, harassment, or bypassing voice authentication. Clearly disclose synthetic audio where listeners could mistake it for a real recording.
Code and attribution
The compatible inference implementation is maintained at
KiaBush/F5-TTS
and is derived from the MIT-licensed
SWivid/F5-TTS project.
The license for this fine-tuned weight release should be reviewed independently from the upstream code license and the rights governing training and example audio.
Authors and contributors
- Ali Akbar Kiaei — research, model training, engineering, and release
- Mahnaz Bush — data preparation, model training, evaluation, research, and documentation