| --- |
| 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 |
|
|
| 1. Go to [huggingface.co/new-space](https://huggingface.co/new-space) |
| 2. Choose a name e.g. `ijwi-translator` |
| 3. Set SDK to **Docker** |
| 4. Set visibility to **Public** (free tier) |
| 5. Click **Create Space** |
|
|
| ### Step 2 — Push this code |
|
|
| ```bash |
| 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. |
|
|
| 1. In your Space → **Settings** → **Persistent Storage** |
| 2. Choose **Small (20 GB)** — $5/month |
| 3. HF will mount it at `/data` |
| 4. The Dockerfile already points all caches to `/data` via 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 | |
|
|