🇲🇦 Morocco Voice MVP — Multilingual Speech AI System (EN ↔ Darija)
Morocco Voice is a production-ready multilingual speech AI pipeline that enables bidirectional voice and text communication between English and Moroccan Darija, a low-resource dialect.
🔗 Live Demo (Mobile-friendly):
mvp-morocco-voice.onrender.…
📘 API Documentation (Swagger):
mvp-morocco-voice.onrender.…
🚀 What This Project Demonstrates
This MVP is designed as a real-world AI system, not just a demo.
It showcases:
End-to-end Speech AI pipelines
Integration of STT → LLM → TTS
Clean, stateless FastAPI microservice
Deployment-ready architecture for mobile apps
AI-assisted communication for a low-resource language (Darija)
🎯 Core Capabilities 🔊 English → Darija (“Speak for Me”)
Input
English text
Output
Darija text (Arabic script)
Darija phonetic transcription
Darija speech audio (TTS)
Context-aware alternative replies
Use case
Helping non-Darija speakers communicate naturally in Morocco (travel, services, daily life).
🎧 Darija → English (“Translate”)
Input
Darija speech audio
Output
English transcription
English translation
English speech audio (TTS)
Use case
Voice-based translation for real-life conversations.
🧠 AI System Architecture Client (Mobile / Web Demo) | v FastAPI Backend (Stateless) ├── Speech-to-Text (STT) │ └── Audio normalization & transcription ├── Large Language Model (LLM) │ └── Translation, reasoning, Darija generation ├── Text-to-Speech (TTS) │ └── Audio synthesis (Darija / English) └── JSON API (Mobile-ready)
Design choices
Modular services (STT / LLM / TTS decoupled)
JSON-first LLM prompting (robust parsing)
Explicit latency tracking
Graceful error handling for STT & TTS failures
🛠 Tech Stack
Backend
Python, FastAPI
Async request handling
Speech & Language
Speech-to-Text: Whisper-compatible STT
LLM: OpenAI (structured JSON prompting)
Text-to-Speech: Google Cloud Text-to-Speech
Deployment
Render (production) …