---
# Skiza-App: Speech Emotion Recognition for Kenyan Swahili
Welcome to Skiza-App! This project focuses on developing and deploying a model to recognize emotions from speech, specifically tailored for Kenyan Swahili. The model leverages advanced machine learning techniques and is deployed using Streamlit for the web interface and user interaction.
## **Table of Contents**
1. Installation
2. Usage
3. Features
4. Model Evaluation
5. Deployment
6. Contributing
7. License
## **Installation**
To get started with Skiza-App, follow these steps to set up your environment and install the necessary dependencies:
### **1. Clone the Repository**
```bash
git clone
github.com
cd Swahili-Speech-Emotion-Recognition-System
```
### **2. Create a Virtual Environment**
It’s recommended to use a virtual environment to manage dependencies:
```bash
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
```
### **3. Install Dependencies**
Install the required Python packages using `pip`:
```bash
pip install -r requirements.txt
```
### **4. Download and Prepare Data**
Ensure you have the Swahili speech dataset. Update the `data_dir` path in the configuration files to point to your dataset location.
### **5. Install Streamlit**
If not included in `requirements.txt`, you may need to install Streamlit separately:
```bash
pip install streamlit
```
## **Usage**
### **1. Training the Model**
To train the model, open and run the Jupyter notebook `main.ipynb`. This notebook will load the dataset, preprocess the audio files, extract features, and train various models. The best-performing model (Stacking Model with KNN as the meta-learner) will be saved in the `models` directory.
```bash
jupyter notebook main.ipynb
```
### **2. Running the Streamlit App Locally**
To start the Streamlit app locally, use:
```bash
streamlit run app.py
```
This will open a new browser tab …