Murivo-TTS 21M English (48 kHz Flow-Matching DiT)
Lightweight Text-to-Speech Engine for English
Murivo-TTS is an ultra-lightweight, 100% offline text-to-speech engine. It combines a ~20.9M parameter Flow-Matching Diffusion Transformer (DiT) acoustic backbone with the VoxCPM2 48 kHz Causal AudioVAE neural vocoder to synthesize 48,000 Hz audio natively.
- Model File:
murivo_21m_english.pt(~41.9 MB, FP16) - Sampling Rate: 48,000 Hz (VoxCPM2 AudioVAE)
- Architecture: Flow-Matching Diffusion Transformer (Euler ODE Solver)
- Language: English (US Studio)
- Checkpoint Status: Studio Foundation (Step 12,500)
🔬 Training Pipeline & Alignment Methodology
Murivo-TTS English was trained on the single-speaker LJSpeech corpus using the Rápido DiT flow-matching architecture:
- G2P Frontend: Uses an offline CMU IPA phonetic dictionary with acronym expansion (
AI,GPU,LLM) rather than externalespeak-ngruntime dependencies. - Warmup & Freezing: Phase 1 (1,000 steps) froze the DiT backbone to anchor character-to-duration alignment; Phase 2 (11,500 steps) unfroze all blocks for full joint flow-matching training.
🎧 Audio Showcase & Evaluation
Listen to native 48 kHz master synthesis samples generated directly by this checkpoint:
| Sample | Audio Player | Transcript & English Translation |
|---|---|---|
| Sample 1 | Native: Every day gives us another opportunity to learn something new and become better at what we do. English: "Every day gives us another opportunity to learn something new and become better at what we do." Note: Evaluation of continuous multi-clause cadence and natural vowel articulation. |
|
| Sample 2 | Native: Education opens doors to new opportunities and helps people build a better future. English: "Education opens doors to new opportunities and helps people build a better future." Note: Testing plosive articulation ('opens', 'people') and fluent transitions. |
|
| Sample 3 | Native: When people work together and share their knowledge, they can achieve great things. English: "When people work together and share their knowledge, they can achieve great things." Note: Evaluating stress timing and phonetic balance. |
📊 Training Curriculum & Progression
- Dataset: keithito/lj_speech
- Curriculum Summary: Trained from scratch for 12,500 steps on LJSpeech (24 hours of single-speaker studio audio). Features a two-phase curriculum: Phase 1 (1,000 steps) frozen-backbone warmup to lock phoneme duration and text alignment, followed by Phase 2 (11,500 steps) full joint harmony flow-matching.
Convergence & Loss Progression
| Training Phase | Step Range | Total Loss | Flow Loss | Duration Loss |
|---|---|---|---|---|
| Phase 1 (Warmup) | Step 1 | 1.6732 |
1.4299 |
0.4866 |
| Phase 1 (Warmup) | Step 1,000 | 1.0730 |
1.0305 |
0.0239 (-95.1%) |
| Phase 2 (Joint) | Step 5,000 | 0.9412 |
0.9234 |
0.0078 |
| Phase 2 (Joint) | Step 10,000 | 0.9125 |
0.8792 |
0.0057 |
| Phase 2 (Final) | Step 12,500 | 0.8931 |
0.8744 |
0.0058 (-98.8%) |
⚡ Quickstart Guide
1. Requirements
Install the minimal dependencies (standard Python, no C-libraries or system espeak-ng required):
pip install torch soundfile numpy
2. Command-Line Inference (CLI)
Download this repository or infer.py and run:
python infer.py --lang english --text "Every day gives us another opportunity to learn something new and become better at what we do." --out output_english.wav
3. Python API
from infer import MurivoTTS
# Initialize engine (automatically manages model and vocoder)
tts = MurivoTTS(lang="english", device="cuda") # or device="cpu"
# Synthesize 48 kHz audio waveform
waveform = tts.synthesize(
text="Every day gives us another opportunity to learn something new and become better at what we do.",
guidance=1.8,
speed=1.0,
steps=20
)
# Save to disk
tts.save_wav(waveform, "output.wav", sample_rate=48000)
Note on Vocoder: The engine decodes speech using the VoxCPM2 48 kHz causal AudioVAE. On first run,
infer.pywill automatically cacheaudiovae.pthfrom Hugging Face (openbmb/VoxCPM2) if it is not already in your directory.
📜 Attributions & Acknowledgments
- Trained & Created by: Samuel Olubukun
- Acoustic Architecture Lineage: Special thanks to Anurag Kanade and the creators of Rápido TTS for their pioneering lightweight DiT flow-matching speech synthesis architecture. Check out Rápido TTS on Hugging Face and GitHub.
- Neural Vocoder: Built upon the 48 kHz causal VoxCPM2 AudioVAE developed by the OpenBMB Team.
- Dataset Communities:
- Special thanks to the LJ Speech Dataset by Keith Ito.
📖 Citations
Citing Murivo-TTS
If you use Murivo-TTS in your research or applications, please cite:
@misc{murivo2026,
title = {Murivo-TTS: High-Fidelity 48 kHz Flow-Matching Text-to-Speech for English, Yorùbá, Hausa & Igbo},
author = {Olubukun, Samuel},
year = {2026},
howpublished = {\url{https://huggingface.co/samuelolubukun/murivo-tts-21m-english}}
}
Architectural Lineage (Rápido TTS)
Murivo's acoustic backbone builds upon the open-source Rápido DiT architecture by Anurag Kanade:
@misc{rapido2026,
title = {Rápido: Tiny, Fast Brazilian Portuguese Text-to-Speech},
author = {Kanade, Anurag},
year = {2026},
howpublished = {\url{https://github.com/anurag12-webster/rapido-tts}}
}
📄 License
This model and its accompanying code are released under the Apache 2.0 License.