voice communication with memory, tts, stt, and translation for south african languages.
# Voice Communication Assistant
An AI-powered voice communication system with persistent memory, featuring Speech-to-Text and Translation capabilities for South African languages.
---
## Features
- **Voice Recognition** - Convert speech to text using speech recognition STT API
- **Multi-language Support** - English, isiZulu, Sesotho, Afrikaans, isiXhosa, and more
- **Real-time Translation** - Translate between South African languages
- **Persistent Memory** - Conversations saved to JSON
- **Text-to-Speech** - Multiple voice options (male, female, robotic)
- **Modern UI** - Bootstrap 5 with Flaticon icons
- **WebSocket Support** - Real-time bidirectional communication
## Supported Languages
### Speech-to-Text (STT)
- South African English (`eng`)
- isiZulu (`zul`)
- Sesotho (`sot`)
- Afrikaans (`afr`)
- African French (`fra`)
- Code-switched isiZulu (`cs-zul`)
### Translation
- English (`eng_Latn`)
- isiZulu (`zul_Latn`)
- isiXhosa (`xho_Latn`)
- Afrikaans (`afr_Latn`)
- Sesotho (`sot_Latn`)
- Kiswahili (`swh_Latn`)
---
## Installation
### Prerequisites
- Python 3.8+
- pip
- PortAudio (Linux/Mac) or appropriate audio drivers (Windows)
### Quick Start
1. **Clone the repository**
bash
git clone
cd Com
2. Set up environment variables
bash
cp .env.example .env
# Edit .env and add your Vulavula API key
3. Run the application
`**Linux/Mac:**
bash
chmod +x run.sh
./run.sh
`**Windows:**
bash
run.bat
4. Open your browser
Navigate to `
localhost`
---
## Project Structure
Com/
├── static/
│ ├── style.css # Custom styling
│ ├── script.js # Client-side JavaScript
│ ├── settings.js # Settings panel JavaScript
│ └── audio/ # Audio storage directory
├── templates/
│ ├── index.html # Main Frontend UI
│ └── settings.html # Settings Modal Template
├── com.py # Main Flask application
├── requirements.txt # Python dependencie …