# IaraTTS Phase 1 — Text Normalizer (RESULTS) > Implemented `iaratts/normalizer/pt_br.py`: pt-BR specific text normalization > via num2words, custom date/time patterns, abbreviation expansion, currency. ## Setup - 50 prompts (`prompts/ptbr-50.json`), Bella voice (best baseline) - Same model (MOSS-TTS-Nano-100M-ONNX), Whisper-small round-trip - A/B: same input prompts, normalizer ON vs OFF ## Results | | Baseline | Phase 1 | Δ | |---|---:|---:|---:| | WER | 0.336 | **0.336** | **+0.000** | | RTF | 0.620 | 0.422 | -0.198 | | SCORE | 1.148 | 1.264 | +0.117 (RTF only) | **WER unchanged.** Per-category breakdown reveals offsetting effects: ### Phase 1 wins (lower WER) | Category | Δ WER | |---|---:| | hard_consonants | -0.334 | | complex | -0.190 | | emotion | -0.168 | | lh_nh | -0.110 | | long | -0.025 | ### Phase 1 regressions (worse) | Category | Δ WER | |---|---:| | abbrev | +0.237 | | dates | +0.214 | | open_close | +0.191 | | r_strong | +0.150 | ## Why no overall WER improvement - **Whisper tolerates both forms.** "Dr. João" vs "doutor João" — whisper transcribes either as "doutor João", so the round-trip masks the underlying pronunciation difference. WER is not measuring what we wanted. - **Some expansions hurt.** Spelling out "26/04/2026" → "vinte e seis de abril de dois mil e vinte e seis" creates a long sequence the AR model occasionally botches mid-decoding (more frames = more drift). ## Conclusion Phase 1 produced cleaner pronunciation for human listeners (validated informally on hard_consonants samples) but WER round-trip cannot measure this. **Real signal will come from Phase 2** (LoRA fine-tune on Erinome dataset) where the model learns native pt-BR phonology end-to-end. The normalizer code stays valuable as Phase 2 input pipeline (training transcripts will go through it for consistency). ## Phase 1 — DONE ✓ - [x] pt-BR normalizer implemented (`normalizer/pt_br.py`, 8 self-tests pass) - [x] WER A/B vs baseline measured - [x] Per-category analysis done - [x] Conclusion: WER neutral but normalizer kept for Phase 2 pipeline