About EmotionWave
A living artwork that reflects the world's mood in real time.
The concept
EmotionWave is a data-driven artwork. It continuously reads the sentiment of global news and renders it as colour, motion and sound — so you can feel how the world feels right now, rather than read about it. A calmer world drifts toward cool blues and gentle major chords; a tense world darkens and turns minor.
The piece never stops moving. The sentiment score is re-measured every 30 seconds and the visuals and audio lerp smoothly toward the new mood, so the transition itself becomes part of the work.
How it works
A single sentiment value, ranging from −1 (negative) to +1 (positive), drives everything on screen:
- Particle system — 1,000–2,000 GPU-rendered particles shift colour and movement with the mood and respond to your mouse.
- Ambient sound — generative music built with Tone.js moves between minor and major scales as the sentiment changes.
- Sentiment meter — a simple readout of where the world currently sits on the negative-to-positive axis.
Methodology
EmotionWave aggregates headlines from several sources, scores each one, and combines them into a single global reading:
- Collection — headlines are pulled from the GDELT project, and optionally NewsAPI and Reddit, covering the last 24 hours.
- Scoring — the most relevant headlines are analysed with a Hugging Face transformer model for sentiment; the rest fall back to a fast keyword-based score. This balances accuracy against latency.
- Aggregation — scores are combined with an intensity weighting, so strong emotional signals count for more than neutral ones, and the result is normalised to the −1…+1 range.
- Resilience — if a source or model is unavailable, EmotionWave degrades gracefully and falls back to dynamic data, so the artwork always runs.
Data sources
The primary source is the GDELT API, which indexes millions of news articles worldwide. EmotionWave can also aggregate NewsAPI and Reddit for a broader view of global mood. Headlines are scored with a fast keyword method by default; when a Hugging Face API key is configured, a sample of them is additionally analysed with transformer models for sentiment and emotion.
Frequently asked questions
What is EmotionWave?
EmotionWave is a real-time data artwork that visualizes the mood of global news as colour, motion and ambient sound. It turns sentiment analysis of headlines into an immersive audiovisual experience.
How is the world's mood measured?
Headlines from the last 24 hours are scored with a fast keyword method; when model analysis is configured, a sample of them is additionally scored with a Hugging Face transformer. The scores are combined with an intensity weighting and normalised to a single value from −1 (negative) to +1 (positive).
Where does the data come from?
The primary source is the GDELT project, which indexes news worldwide. EmotionWave can also aggregate NewsAPI and Reddit for a broader picture of global sentiment.
How often does it update?
The sentiment reading is refreshed every 30 seconds, and the visuals and audio transition smoothly toward each new value.
Does EmotionWave collect my data?
EmotionWave uses Umami, a cookieless, privacy-focused analytics tool, to count anonymous, aggregated page views. No cookies are set, no personal identifiers are stored, and nothing follows you across sites.
Can I install it or use it on mobile?
Yes. EmotionWave is a Progressive Web App, so it works in any modern browser and can be installed on mobile devices for a fullscreen experience.