Logo Lanfrica

markchweya/OngeaLabs

Domain:

natural language processing

Record type:

softwaretools
Creator:
mar
Host:
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 …