# Gooya 0.1 — Persian TTS **Gooya 0.1** is a Persian text-to-speech model: a LoRA fine-tune of MOSS-TTS-Nano (100M) trained on 48k Persian clips. Pronunciation comes from the Gooya clean G2P (`Reza2kn/negara-g2p-clean`), so the model reads phonemes — including the greeting-ezafe rule (سلام من → `salAm man`) — not raw graphemes. - **Architecture:** global-local transformer (GPT-2 768 hidden, 12 layers + 1 local transformer) + 16-codebook audio tokenizer - **Base:** `OpenMOSS-Team/MOSS-TTS-Nano-100M` - **Fine-tune:** LoRA r16/α32 on 48 `transformer.h.*` linears (1.97% of params), bf16, 3 epochs - **Data:** `Reza2kn/gooya-v7-chizzled-multispeaker` (raw Persian + audio), same-speaker ref pairs - **Output:** 48 kHz mono WAV (via MOSS-Audio-Tokenizer-Nano) ## Usage ```bash # 1) phonemize Persian -> char-spaced phonemes python scripts/negara_tts_phonemize.py "سلام من رضا هستم" # سلام من رضا هستم salAm man rezA hastam # 2) synthesize (voice-clone mode) python scripts/demo_gooya_01.py "سلام من رضا هستم" \ --ref /path/to/reference.wav --out out.wav ``` Everything loads from Hugging Face by repo id — no local model files needed. ## Gate C (held-out, 200 rows) 6 held-out rows synthesized in two timbres: | clip | judges | |---|---| | `gate_c/NN_manaref.wav` | pronunciation in base voice | | `gate_c/NN_demoref.wav` | pronunciation + cross-voice clone | Current verdict: pronunciation is good; manaref clips sound clearly better than demoref clones. Voice cloning works but is imperfect. ## Known limitations - Phoneme input only — feed raw Persian through the G2P first. - Cloned timbre drifts on longer/lower-quality refs. - Trained on 48k rows; pronunciation edge cases (rare homographs, foreign names) still benefit from the G2P rule set. ## Cite / license Experimental research artifact. No warranty. Training recipe in `finetune_config.json`; full pipeline in the gooya-1 repo (`scripts/box_v7_negara.sh`).