Project Info
Otsuka Valuenex: ekkomi® Advanced Technologies for User Feedback Award ($500 Amazon + $100 ekkomi® matcha gift card per team member)
Moods and Metrics
Inspiration
In a world where stress and anxiety are increasingly prevalent, we were inspired to create a tool that not only helps individuals understand their emotional states but also empowers them to take control of their mental well-being. Mood and Metrics was born out of a desire to bridge the gap between technology and emotional health, offering a way for people to easily visualize and comprehend their emotional levels through AI-driven insights.
What it does
Mood and Metrics offers three analysis modalities: Audio Analysis: Utilizes a locally deployed audio sentiment analysis model to capture arousal, valence, and dominance values to map them onto a stress score scale Video Analysis: Sends a video clip to Gemini, and evaluates calm/stress levels and in-depth text reasoning analysis through facial expression data Transcription Analysis: Performs sentiment analysis on video transcription data, evaluating calm/stress levels and in-depth text reasoning analysis For all modalities, data is visualized in 2D or 3D
How we built it
Utilized a state-of-the-art fine-tuned wav2vec2 transformer architecture (https://arxiv.org/abs/2203.07378) for audio sentiment analysis via Hugging Face and Pytorch Leveraged three.js to create an interactable 3D graph to map valence, dominance, and arousal Mapped emotion using a theoretical approach based on a tri-dimensional model of core affect and emotion concepts (https://www.redalyc.org/pdf/3111/311126297005.pdf) Integrated Google’s Gemini AI API for video-based and transcription-based mood analysis. Developed a React frontend with an interactive UI
Challenges we ran into
Locally installing transformer model via Hugging Face and Pytorch, and allowing GPU cuda acceleration Extrapolating accurate stress score from arousal, valence, and dominance values Getting the axis and rotation from the camera perspective to match for 3D visualizations Constructing a pipeline to send video footage to Gemini via an API call Creating a clean frontend to visualize graphs using data from the backend server
Accomplishments we're proud of
Successfully integrating AI-driven audio, video, and transcription sentiment analysis Creating an engaging and informational visualization of emotional/mood states Achieving reliable stress detection for educational, healthcare, and meditational use
What we learned
The nuances of valence, dominance, and arousal in audio sentiment analysis Balancing technicality and simplicity in data visualization
What's next
for Moods and Weights Enhancing AI models with more modalities such as heartbeat, EKG signals, etc. Collecting accurate breathing audio to stress score data and training the model from scratch Adding real-time video analysis without needing pre-recorded clips Expanding features with personalized stress relief suggestions Deploying a mobile version for on-the-go, fully local emotional tracking
Inspiration
In a world where stress and anxiety are increasingly prevalent, we were inspired to create a tool that not only helps individuals understand their emotional states, but also empowers them to take control of their mental well-being. Mood and Metrics was born out of a desire to bridge the gap between technology and emotional health, offering a way for people to easily visualize and comprehend their emotional levels through AI-driven insights.
What it does
Mood and Metrics offers three analysis modalities:
- Audio Analysis: Utilizes a locally deployed audio sentiment analysis model to capture arousal, valence, and dominance values to map them onto a stress score scale
- Video Analysis: Sends a video clip to Gemini, and evaluates calm/stress levels and in-depth text reasoning analysis through facial expression data
- Transcription Analysis: Performs sentiment analysis on video transcription data, evaluating calm/stress levels and in-depth text reasoning analysis
- For all modalities, data is visualized in 2D or 3D
How we built it
- Utilized a state-of-the-art fine-tuned wav2vec2 transformer architecture (https://arxiv.org/abs/2203.07378) for audio sentiment analysis via Hugging Face and Pytorch
- Leveraged three.js to create an interactable 3D graph to map valence, dominance, and arousal
- Mapped emotion using a theoretical approach based on a tri-dimensional model of core affect and emotion concepts (https://www.redalyc.org/pdf/3111/311126297005.pdf)
- Integrated Google’s Gemini AI API for video-based and transcription-based mood analysis.
- Developed a React frontend with an interactive UI
Challenges we ran into
- Locally installing transformer model via Hugging Face and Pytorch, and allowing GPU cuda acceleration
- Extrapolating accurate stress score from arousal, valence, and dominance values
- Getting the axis and rotation from the camera perspective to match for 3D visualizations
- Constructing a pipeline to send video footage to Gemini via an API call
- Creating a clean frontend to visualize graphs using data from the backend server
Accomplishments that we're proud of
- Successfully integrating AI-driven audio, video, and transcription sentiment analysis
- Creating an engaging and informational visualization of emotional/mood states
- Achieving reliable stress detection for educational, healthcare, and meditational use
What we learned
- The nuances of valence, dominance, and arousal in audio sentiment analysis
- Balancing technicality and simplicity in data visualization
What's next for Moods and Weights
- Enhancing AI models with more modalities such as heartbeat, EKG signals, etc.
- Collecting accurate breathing audio to stress score data and training the model from scratch
- Adding real-time video analysis without needing pre-recorded clips
- Expanding features with personalized stress relief suggestions
- Deploying a mobile version for on-the-go, fully local emotional tracking
Analysis
View
Metric
- 15
- 7
- 3
- 2
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- HTMLIn code
- JavaScriptIn code
- PythonIn code
- ReactIn code
- FastAPIClaimed
- Google GeminiClaimed
- Hugging FaceClaimed
- PyTorchClaimed
- Tailwind CSSClaimed
5 of 10 appear in the indexed code. 5 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
49 KB
Source files
18
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
corey-shen/stress-level-audio-analysis
29 files · 1.2 MB · @ f39cd73
Structure
Interface
6 files · 21%Screens, components and styles rendered to the user.
API & routing
2 files · 7%Request entry points: routes, handlers and controllers.
Application logic
6 files · 21%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- JavaScript57%
- Python19%
- Markdown12%
- CSS9%
- HTML3%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
client/package.json
npm · 14- @react-three/drei
- @react-three/fiber
- @testing-library/dom
- @testing-library/jest-dom
- @testing-library/react
- @testing-library/user-event
- axios
- d3
- react
- react-dom
- react-router-dom
- react-scripts
- three
- web-vitals
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.