Instructions to use KEYHAN-A/aava-tts-persian with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use KEYHAN-A/aava-tts-persian with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("unsloth/orpheus-3b-0.1-ft-unsloth-bnb-4bit") model = PeftModel.from_pretrained(base_model, "KEYHAN-A/aava-tts-persian") - Notebooks
- Google Colab
- Kaggle
Aava TTS · LoRA Adapter
Persian speech synthesis adapter for Orpheus 3B, trained from nearly 2,500 hours of Persian source audio.
آوا یک مدل تبدیل متن فارسی به گفتار است که بر پایهٔ Orpheus 3B تنظیم شده است.
This repository contains the PEFT/LoRA weights. For a self-contained Transformers model, use Aava 3B.
Model card
| Direct base | unsloth/orpheus-3b-0.1-ft-unsloth-bnb-4bit |
| Method | LoRA, rank 128, alpha 256, dropout 0.05 |
| Target modules | attention, MLP projections, embeddings |
| Context | 4,096 tokens |
| Audio codec | SNAC 24 kHz |
| Language | Persian (fa) |
| Adapter storage | ~1.77 GB |
Load
import torch
from peft import PeftModel
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
model_name="unsloth/orpheus-3b-0.1-ft-unsloth-bnb-4bit",
max_seq_length=4096,
dtype=torch.bfloat16,
load_in_4bit=True,
)
model = PeftModel.from_pretrained(model, "KEYHAN-A/aava-tts-persian")
model.eval()
Generation produces Orpheus audio tokens that must be redistributed and decoded with SNAC. The complete reference implementation is in Aava Refinement.
Training
| Setting | Value |
|---|---|
| Training records | 492,596 |
| Tokenized corpus | ~1,905.3 hours |
| Epochs / steps | 3 / 184,725 |
| Effective batch | 8 |
| Learning rate | 1.5e-4 |
| Scheduler | cosine with restarts |
| Optimizer | AdamW 8-bit |
| Precision | bfloat16 |
| Hardware | RTX 3090 24 GB |
| Training time | ~11 days |
| Reported eval loss | 4.2045 |
The often-cited ~2,400-hour number is the raw acquisition duration, not the duration of the refined token corpus.
Training corpus
Training used 547,328 multi-source, multi-speaker Persian records under one
conditioning label, aava.
The reported evaluation loss is an internal training metric. A post-training audit found exact transcript duplication across the original sequential splits, so it must not be interpreted as a clean generalization benchmark.
Intended use and limitations
- Persian TTS research, prototyping, and accessibility experiments.
- Persian-only training; other languages are unsupported.
- Output stability and voice similarity vary with prompts and sampling.
- The conditioning label does not identify one specific speaker.
- Do not use the model for impersonation, fraud, deceptive media, harassment, or identity abuse.
- No formal MOS, speaker-similarity, memorization, or production-latency benchmark is published for v1.0.0.
License
The adapter weights are released under Apache-2.0, following the direct Orpheus/Unsloth base. Orpheus is Apache-2.0 and SNAC is MIT licensed. No endorsement by the upstream projects is implied.
Related
Citation
@misc{aava_tts_2026,
title = {Aava TTS: Persian Orpheus 3B Adapter},
author = {{KEYHAN-A}},
year = {2026},
version = {1.0.0},
url = {https://huggingface.co/KEYHAN-A/aava-tts-persian}
}
- Downloads last month
- 8
Model tree for KEYHAN-A/aava-tts-persian
Base model
meta-llama/Llama-3.2-3B-Instruct