metadata
title: Ijwi — English to Kinyarwanda Speech Translator
emoji: 🎙️
colorFrom: green
colorTo: blue
sdk: docker
pinned: false
license: mit
app_port: 7860
Ijwi — English → Kinyarwanda Real-time Speech Translator
Real-time Speech-to-Speech translation from English to Kinyarwanda using:
- 🎤 Whisper small — Speech-to-Text
- 🔁 NLLB-200 distilled 600M — Neural translation (Meta)
- 🔊 Coqui VITS — Kinyarwanda Text-to-Speech
Deploying to Hugging Face Spaces
Step 1 — Create a new Space
- Go to huggingface.co/new-space
- Choose a name e.g.
ijwi-translator - Set SDK to Docker
- Set visibility to Public (free tier)
- Click Create Space
Step 2 — Push this code
git clone https://huggingface.co/spaces/YOUR_USERNAME/ijwi-translator
cd ijwi-translator
# copy all files from this project into the folder
git add .
git commit -m "Initial deploy"
git push
Step 3 — Add Persistent Storage (strongly recommended — $5/month)
Without persistent storage, models (~2.6 GB) re-download on every restart.
- In your Space → Settings → Persistent Storage
- Choose Small (20 GB) — $5/month
- HF will mount it at
/data - The Dockerfile already points all caches to
/datavia env vars
Step 4 — Enable HTTPS
HF Spaces provides HTTPS automatically on https://YOUR_USERNAME-ijwi-translator.hf.space.
The browser microphone API requires HTTPS — this is already handled for you.
Storage breakdown
| Item | Disk | RAM |
|---|---|---|
| Whisper small | ~244 MB | ~500 MB |
| NLLB-200 distilled 600M | ~2.4 GB | ~2.5 GB |
| Coqui VITS (Kinyarwanda) | ~80 MB | ~200 MB |
| Python deps + OS | ~3 GB | — |
| Total | ~6 GB | ~3.5 GB |
Free tier provides 50 GB disk and 16 GB RAM — plenty of headroom.
Cold start warning
On the free CPU tier, the Space sleeps after inactivity. First request after wake-up loads all models (~30–60 seconds). Subsequent requests are fast (models stay in memory).
To avoid cold starts entirely, upgrade to a paid hardware tier in Space Settings.
Troubleshooting
| Problem | Fix |
|---|---|
| Space won't start | Check Logs tab — likely an OOM or missing ffmpeg |
| Models re-downloading every restart | Add persistent storage and set HF_HOME=/data/.huggingface |
| "Microphone access denied" | You must be on HTTPS — HF Spaces provides this automatically |
| TTS audio missing | Coqui Kinyarwanda model may not load; translation still works |
| 502 on first load | Models still loading — wait ~60s and refresh |