Hisia Tambulizi is a web application that uses advanced speech processing techniques to detect and analyze emotions from audio recordings of speech. This application is built using ReactJS for the frontend and integrates various tools and technologies for effective emotion recognition.
- Project Overview
- Features
- Tech Stack
- Installation
- Usage
- Folder Structure
- Contributing
- License
- Contact
The project aims to provide an intuitive platform to analyze emotions in speech. Whether used in customer service, mental health monitoring, or entertainment, the application delivers insights into emotional states through audio input.
- Emotion Detection: Recognizes emotions such as happiness, anger, and fear from audio recordings.
- User-Friendly Interface: Easy to navigate interface built with ReactJS.
- Real-time Analysis: Provides instant feedback on the emotional state detected from speech.
- Secure and Private: Ensures user data is processed securely and remains confidential.
- Frontend: ReactJS, JavaScript, HTML, CSS (Vanilla CSS)
- Backend: Flask (For the complete stack, integrated separately)
- Audio Processing: PyAudio, Librosa (Backend integration)
- Authentication: JWT-based authentication (Backend integration)
- Other Libraries: TensorFlow, Keras (For the emotion recognition model, backend integration)
Follow these steps to set up the project locally:
- Clone the repository:
git clone https://github.com/yourusername/EmotionRecognition.git cd EmotionRecognition
Install dependencies:
npm install
Run the application:
npm run dev
Open the application in your browser: Visit http://localhost:5173 to see the application in action.
To use the EmotionRecognition application:
- Upload an Audio File: Click on the "Upload" button to select an audio file from your device.
- Analyze Emotion: Click on "Analyze" to process the audio and detect the emotion.
- View Results: The detected emotion will be displayed on the screen.
The project structure is organized as follows:
EmotionRecognition/
│
├── public/ # Static files
│ ├── index.html # Main HTML file
│
├── src/ # Source files
│ ├── components/ # React components
│ │ ├── pages/ # Pages for routing
│ │ │ ├── Login.jsx # Component for user login
│ │ │ ├── Signup.jsx # Component for user signup
│ │ │ ├── ResetPassword.jsx # Component for resetting password
│ │ │ └── UserHome.jsx # Component for the user's home page after login
│ │
│ ├── styles/ # CSS styles
│ │ └── App.css # Main stylesheet
│ │
│ ├── App.jsx # Root component
│ ├── index.js # Entry point for React
│
├── README.md # Project documentation
├── package.json # Project configuration and dependencies
└── .gitignore # Ignored files and directories
We welcome contributions to the EmotionRecognition project! If you'd like to contribute, please follow these steps:
- Create a new branch: git checkout -b feature-branch-name.
- Make your changes and commit them: git commit -m 'Add some feature'.
- Push to the branch: git push origin feature-branch-name.
- Submit a pull request.
- Please ensure your code adheres to the project's coding conventions and passes all tests.
This project is licensed under the MIT License - see the LICENSE file for details.