CoolFace
Modelpublic

Professor/kinyarwanda-tts-0.6b-full-finetuning

sourceHugging Faceupdated 9mo agoView on Hugging Face
0likes174downloads
Model Card

πŸ‡·πŸ‡Ό Kinyarwanda Text-to-Speech (0.6B)

Developed by Team Echo

This model is a lightweight Kinyarwanda Text-to-Speech (TTS) generator, fine-tuned on the OuteTTS-0.6B architecture (based on Qwen-2.5-0.5B). It is optimized to preserve the tonal nuances and rhythm of Kinyarwanda while remaining extremely compact (~400 MB), making it ideal for mobile, edge, and low-resource deployments.

πŸ”— Website: https://letusecho.com


🎧 Audio Samples

Model VariantDescriptionAudio
Full Model (FP16)High-fidelity output for GPU / PyTorch usage<audio controls src="https://huggingface.co/Professor/kinyarwanda-tts-0.6b-full-finetuning/resolve/main/full_sample.wav"></audio>
Mobile Model (GGUF)Q4KM quantized, optimized for CPU / Android / iOS<audio controls src="https://huggingface.co/Professor/kinyarwanda-tts-0.6b-full-finetuning/resolve/main/mobile_sample.wav"></audio>

πŸ“¦ Model Details

  • β€”Base Architecture: OuteTTS-0.6B (Qwen-2.5 / Qwen-3 derivative)
  • β€”Languages:
  • β€”Kinyarwanda (primary)
  • β€”English (supported)
  • β€”Context Length: 4096 tokens
  • β€”License: Apache License 2.0 (commercially usable)
  • β€”Formats:
  • β€”Safetensors (FP16): Best for research and GPU servers
  • β€”GGUF (Q4_K_M): Optimized for mobile and CPU deployment
  • β€”Approx. Model Size: ~400 MB

πŸš€ Installation

Install the core OuteTTS library:

bash
pip install outetts

For GGUF / mobile / CPU support, also install:

bash
pip install llama-cpp-python

πŸ’» Usage β€” Full Model (GPU Recommended)

Best for server-side generation where quality is the priority.

python
import torch
from outetts import Interface, ModelConfig, GenerationConfig, SamplerConfig

MODEL_PATH = "Professor/kinyarwanda-tts-0.6b-full-finetuning"

config = ModelConfig(
    model_path=MODEL_PATH,
    tokenizer_path=MODEL_PATH,
    dtype=torch.float16,
    device="cuda"  # Change to "cpu" if no GPU is available
)

interface = Interface(config=config)

# Sampling tuned for Qwen-based 0.6B models
sampler = SamplerConfig(
    temperature=0.4,
    repetition_penalty=1.1,
    top_p=0.9
)

gen_config = GenerationConfig(
    text="Ubuyobozi bw’Inteko y’Umuco ishinzwe kubungabunga no guteza imbere Ururimi n’Umuco.",
    sampler_config=sampler
)

print("πŸ”Š Generating audio...")
output = interface.generate(gen_config)
output.save("output_full.wav")

πŸ“± Usage β€” Mobile / GGUF (Fast & Lightweight)

Optimized for Android, iOS, and standard CPU hardware.

Tip: Download kinyarwanda-0.6b-Q4_K_M.gguf locally for best performance.
python
from outetts import Interface, ModelConfig, GenerationConfig, SamplerConfig, Backend

model_config = ModelConfig(
    model_path="kinyarwanda-0.6b-Q4_K_M.gguf",
    tokenizer_path="Professor/kinyarwanda-tts-0.6b-full-finetuning",
    backend=Backend.LLAMACPP,
    dtype="f16"
)

interface = Interface(model_config)

sampler = SamplerConfig(
    temperature=0.4,  # Ideal for this model size
    repetition_penalty=1.1
)

gen_config = GenerationConfig(
    text="Muraho, amakuru ki? Nishimiye kubona iyi modeli ikora.",
    sampler_config=sampler
)

print("πŸ”Š Generating mobile audio...")
output = interface.generate(gen_config)
output.save("output_mobile.wav")

πŸŽ™οΈ Voice Cloning (Zero-Shot)

This model supports zero-shot voice cloning using a short reference sample (β‰ˆ10–15 seconds).

python
speaker = interface.create_speaker("my_voice_sample.wav")

gen_config = GenerationConfig(
    text="Ndashaka kuvuga nkawe.",
    sampler_config=sampler,
    speaker=speaker
)

interface.generate(gen_config).save("cloned_output.wav")

🀝 Credits & License

  • β€”Created by: Team Echo
  • β€”Base Framework: OuteTTS (OuteAI)
  • β€”License: Apache License 2.0