# CS-725 Project

## Overview
The EmoMusic Recommender is an innovative application that combines text and facial emotion analysis to suggest personalized music recommendations.


## Team Members

- **Udhay Brahmi**
  - Responsibilities: Implementing CNN model
  - GitHub: [GitHub Profile](https://git.cse.iitb.ac.in/udhaybrahmi)

- **Jay Gorakhiya**
  - Responsibilities: Implementing Text-Based model and Database
  - GitHub: [GitHub Profile](https://git.cse.iitb.ac.in/jaygorakhiya)

- **Utsav Manani**
  - Responsibilities: Streamlit Design and Implementation, GitHub
  - GitHub: [GitHub Profile](https://git.cse.iitb.ac.in/utsavuv)

- **Vinit Patel**
  - Responsibilities: Streamlit Implementation and Presentation
  - GitHub: [GitHub Profile](https://git.cse.iitb.ac.in/vinitpatel)

- **Aditya Kansara**
  - Responsibilities: UI and Model integration with Database
  - GitHub: [GitHub Profile](https://git.cse.iitb.ac.in/adityakansara)

## Work Split

Briefly outline the distribution of tasks among team members.

- **Udhay Brahmi**
  - Completed implementation of the CNN model.

- **Jay Gorakhiya**
  - Implemented the Text-Based model.
  - Set up and managed the database.

- **Utsav Manani**
  - Designed and implemented the Streamlit interface.
  - Contributed to GitHub repository management.

- **Vinit Patel**
  - Implemented Streamlit features.
  - Prepared and delivered project presentations.

- **Aditya Kansara**
  - Integrated UI with the model.
  - Ensured smooth integration with the database.

## Instructions for Running the Project

1. **Install Dependencies:**
   - Open a terminal and navigate to the project directory.
   - Run the following command to install the required dependencies:

     ```bash
     pip install -r requirements.txt
     ```

2. **Run the Streamlit App:**
   - After installing the dependencies, run the Streamlit app using the following command:

     ```bash
     streamlit run app.py
     ```

3. **Text and Face Emotion Detection:**
   - Once the app is running, open the provided URL in your web browser.
   - Enter text in the designated input field and press the "Submit" button.
   - The app will scan the user's face and detect emotions based on both text and facial expressions.

4. **Music Suggestion:**
   - After emotion detection, the app will suggest music based on the detected emotion.

**Note:** Make sure to have a webcam connected for face detection.
