# Kiswahili Audio Processing Pipeline
A Novel Kiswahili Audio Processing Pipeline: An Integrated Approach to Speech Recognition, Sentiment Analysis, and Text Summarization.
> **Note**: This is a research project developed as part of a dissertation on Kiswahili NLP processing.
## 🎯 Overview
This project implements a complete audio processing pipeline that:
- **Speech Recognition**: Converts Kiswahili audio to text using Wav2Vec2
- **Sentiment Analysis**: Analyzes emotional tone using DistilBERT
- **Text Summarization**: Generates concise summaries using T5
## 🏗️ Architecture
```
├── main.py # FastAPI application entry point
├── models/
│ ├── pipeline_manager.py # Core ML pipeline orchestration
│ └── __init__.py
├── schemas/
│ ├── response_models.py # API response models
│ └── __init__.py
├── frontend/
│ ├── index.html # Main web interface
│ └── static/
│ ├── app.js # Frontend JavaScript
│ └── style.css # Styling
├── requirements.txt # Python dependencies
├── setup_env.sh # Environment setup script
└── README.md
```
## 🚀 Quick Start
### 1. Setup Environment
```bash
# Make setup script executable and run
chmod +x setup_env.sh
./setup_env.sh
```
### 2. Activate Environment
```bash
source sema-deployed/bin/activate
```
### 3. Start Application
```bash
python main.py
```
### 4. Access Application
Open your browser and navigate to: `
localhost`
## 🔧 Manual Setup
If you prefer manual setup:
```bash
# Create virtual environment
python3 -m venv sema-deployed
source sema-deployed/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run application
python main.py
```
## 📱 Features
### Web Interface
- **Audio Upload**: Support for various audio formats
- **Live Recording**: Record audio directly in browser
- **Real-time Processing**: Asynchronous pipeline processing
- **Responsive Design**: Works on desktop and mobile devices
### API Endpoints
- `POST / …