Logo Lanfrica

Adu-Asante/final-year-project

Domaine:

natural language processing

Type de record:

software
Créateur:
Adu
Hôte:
Voxa, an AI twi to English and English to twi interpreter # Voxa — AI Interpreter (Twi ↔ English) > "I'm talking to an interpreter." — not "I'm using Google Translate." Voxa is a mobile AI Interpreter that enables real-time spoken communication between Twi and English speakers using 100% free and open-source technology. --- ## Project Structure ``` voxa/ ├── mobile/ React Native + Expo app └── backend/ FastAPI AI backend (NLLB-200 translation) ``` --- ## Features | Feature | Description | |---------|-------------| | 🏠 **Home (AI Interpreter)** | Avatar + mic + live subtitles + translation | | 💬 **Conversation Mode** | Two-way real-time interpreter | | 📷 **Camera OCR** | Point at text → translate → avatar reads aloud | | 📖 **Phrasebook** | Emoji categories → tap → avatar speaks | | 🕓 **History** | Full log with favourites | | ⚙️ **Settings** | TTS speed, haptics, privacy controls | --- ## AI Pipeline ``` Microphone ↓ react-native-voice (native STT — Android: tw-GH Twi support) ↓ Language Detection (heuristic, swappable via ISpeechRecognitionService) ↓ NLLB-200 distilled-600M via FastAPI ↓ Avatar (lip-sync) + expo-speech TTS ``` --- ## Tech Stack ### Mobile - React Native (Expo ~52, development build) - TypeScript - Clean Architecture + MVVM - expo-sqlite + Drizzle ORM (offline-first) - react-native-voice (native STT) - expo-speech (TTS) - expo-camera (OCR) - React Navigation (bottom tabs) - Zustand (state) ### Backend - FastAPI + Uvicorn - facebook/nllb-200-distilled-600M (translation) - faster-whisper (optional STT fallback) - gTTS (TTS synthesis) - Python 3.11+ --- ## Getting Started ### Backend ```bash cd backend python -m venv venv && source venv/bin/activate pip install -r requirements.txt uvicorn app.main:app --reload ``` The NLLB-200 model (~1.2 GB) downloads automatically on first request. ### Mobile ```bash cd mobile npm install npx expo run:android # or run:ios ``` > **Note**: A development build is required (not Expo Go) because react-native-voice uses native code. --- …