Emovox is a full-stack generative AI application that transforms written stories into emotionally expressive audio. It uses state-of-the-art NLP and TTS models to detect sentence-level emotions and generate matching vocal narration. To make the speech sound more human and emotionally appropriate, Emovox uses TinyLlama to generate natural-sounding voice direction prompts, guiding how each sentence should be spoken by the TTS system. The final audio is further enhanced with adaptive background music that aligns with the overall emotional tone of the story.
| Layer | Technology Used |
|---|---|
| Frontend | React, Chart.js, Tailwind CSS |
| Backend | Flask, Flask-CORS |
| AI Models | Transformers (DistilRoBERTa, TinyLlama), Parler-TTS |
| Audio Tools | PyDub, SoundFile |
| Others | NLTK, Torch |
Clone the repository:
git clone https://github.com/Janavee01/Emovox.git
cd Emovox
Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
Navigate to backend/ folder and run the flask server
cd backend
pip install -r requirements.txt
python app.py
Navigate to frontend/ folder
cd frontend
Install required packages:
npm install
npm install chart.js react-chartjs-2
Start the React app
npm start/ npm run dev(if vite is used)
Transform stories into immersive, emotion-rich audio experiences using AI-driven voice synthesis and sound design.
Sentence Segmentation
Emotion Detection
Voice Direction Generation
Expressive Speech Synthesis
Audio Stitching
Background Music Mixing
Final Output
.wav file is returned to the frontend for playback.Emotion Timeline Visualization
Emovox/
βββ backend/
β βββ app.py
β βββ emotion_story.py
| βββ models.py
| βββ requirements.txt
β βββ bg/
βββ frontend/
β βββ public/
β βββ src/
β βββ App.jsx
j-hartmann/emotion-english-distilroberta-base
Sentence-level emotion classification using DistilRoBERTa.
TinyLlama/TinyLlama-1.1B-Chat-v1.0
Generates expressive voice direction prompts for synthesized speech.
parler-tts/parler-tts-mini-expresso
Creates high-quality, emotionally nuanced audio clips.
Emovox is a full-stack generative AI application that transforms written stories into emotionally expressive audio. It uses state-of-the-art NLP and TTS models to detect sentence-level emotions and generate matching vocal narration. To make the speech sound more human and emotionally appropriate, Emovox uses TinyLlama to generate natural-sounding voice direction prompts, guiding how each sentence should be spoken by the TTS system. The final audio is further enhanced with adaptive background music that aligns with the overall emotional tone of the story.
| Layer | Technology Used |
|---|---|
| Frontend | React, Chart.js, Tailwind CSS |
| Backend | Flask, Flask-CORS |
| AI Models | Transformers (DistilRoBERTa, TinyLlama), Parler-TTS |
| Audio Tools | PyDub, SoundFile |
| Others | NLTK, Torch |
Clone the repository:
git clone https://github.com/Janavee01/Emovox.git
cd Emovox
Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
Navigate to backend/ folder and run the flask server
cd backend
pip install -r requirements.txt
python app.py
Navigate to frontend/ folder
cd frontend
Install required packages:
npm install
npm install chart.js react-chartjs-2
Start the React app
npm start/ npm run dev(if vite is used)
Transform stories into immersive, emotion-rich audio experiences using AI-driven voice synthesis and sound design.
Sentence Segmentation
Emotion Detection
Voice Direction Generation
Expressive Speech Synthesis
Audio Stitching
Background Music Mixing
Final Output
.wav file is returned to the frontend for playback.Emotion Timeline Visualization
Emovox/
βββ backend/
β βββ app.py
β βββ emotion_story.py
| βββ models.py
| βββ requirements.txt
β βββ bg/
βββ frontend/
β βββ public/
β βββ src/
β βββ App.jsx
j-hartmann/emotion-english-distilroberta-base
Sentence-level emotion classification using DistilRoBERTa.
TinyLlama/TinyLlama-1.1B-Chat-v1.0
Generates expressive voice direction prompts for synthesized speech.
parler-tts/parler-tts-mini-expresso
Creates high-quality, emotionally nuanced audio clips.