Ongea is a text-to-speech studio for Kiswahili, Deutsch and Francais. Two voices that stay consistent across every phrase, punctuation-aware phrasing, and WAV export — running entirely in the browser.
# OngeaLabs
Ongea is the multilingual TTS studio owned by OngeaLabs. The React app contains the product UI, speaker library, batch production view, and settings page.
## Current local studio
- Frontend: `
127.0.0.1`
- Voice API: `
127.0.0.1`
- Product surface: OngeaLabs Voice Studio
- Supported local preview voices: Swahili, German, and French
## Run the app
```bash
npm install
npm run dev
```
Open `
localhost`.
## Deploy the frontend
The React studio can be deployed as a Vite app on Vercel. If the voice API is hosted separately, set this environment variable in Vercel:
```bash
VITE_API_BASE_URL=
your-voice-api.example.com
```
Without `VITE_API_BASE_URL`, local development defaults to `
127.0.0.1`. Production builds still show the Swahili, German, and French voice profiles, but preview/export requires a hosted voice API.
## Run the Python voice API
```bash
python -m venv .venv
.venv\Scripts\activate
pip install -r backend\requirements.txt
npm run api
```
The frontend calls `
127.0.0.1` for the speaker list and `
127.0.0.1` when previewing or exporting. If the voice API is unavailable, the UI keeps the built-in Swahili, German, and French voice profiles visible while disabling real audio rendering.
## Connect the existing TTS models
The backend uses Meta MMS TTS for Swahili, German, and French:
- `facebook/mms-tts-swh`
- `facebook/mms-tts-deu`
- `facebook/mms-tts-fra`
The MMS adapter runs voice previews in inference mode with stable per-voice generation settings so short German, Swahili, and French phrases keep a consistent selected voice between renders.
Keep the returned filename as:
- `ongealabs.wav`
The request already passes language, speaker, and tone controls:
- `language`
- `voice`
- `pace`
- `pitch`
- `warmth`
- `clarity`
Voice options come from `get_available_voices()` in `backend/tts_engine.py`. Configure one of:
- `ONGEA_TTS_VOICES_JSO …