Sound & Sentiment

Can you see
how music feels?

A scrollytelling journey through the emotional landscape of today's most popular music, built from 114,000 Spotify tracks.

Scroll ↓
The spark

For some of us, a playlist is a mood.

I build playlists around how I feel. So I kept circling one question: the feelings are obvious to us instinctively, but can the emotional landscape of popular music actually be seen? and could a visualization evoke the same emotions and rhythm as the music itself??

Spotify already turns feeling into numbers. Every track carries a valence (musical positivity), plus danceability, energy, tempo and speechiness. This is what those numbers look like when you let them glow.

The raw material

One dataset. Every mood.

114,000
tracks analysed from the public Spotify dataset
114
genres spanning the full library
0.47
average valence in popular music tends to hover just below neutral.

A quick note on the visual grammar you'll see throughout: magenta means lower valence — sadder, heavier, more reflective. cyan means higher valence — happier, brighter, euphoric. Cool for positive, warm for negative. Hold that in your eye.

Scene 01 · Genres

Which genres rule and how happy are they?

First, the big picture. I isolated the real hits (popularity ≥ 90) and grouped them by genre. Each tile's size is the genre's total popularity; its colour is its average valence. A whole landscape of mood, in one glance.

Treemap
Emotional Positivity in Popular Genres
sad
happy· tile size = popularity
Scene 02 · Anatomy of a hit

Does a longer song lose the dancefloor?

Zooming from genres to individual tracks. Every dot is one popular song: how long it runs (x), how danceable it is (y), and its mood (colour). Watch where the cloud gathers.

Scatterplot
Duration vs Danceability vs Valence
sad
happy
Scene 03 · The voice in the track

When a song starts to talk.

Speechiness captures how much a track resembles spoken word rather than traditional singing, encompassing styles such as rap, spoken interludes, and theatrical performances. Each bubble represents a song, sized according to its speechiness and colored by mood. The tracks with the highest levels of speechiness, often paired with strong emotional expression, stand out as the largest bubbles.

Bubble chart
Mood by Valence (colour) & Speechiness (size)
sad
happy· size = speechiness
Scene 04 · Audio DNA

Three hits, three fingerprints.

Finally, a close read. I broke three well-known songs into five normalized, rescaled features so that each track's bars sum to 100%. This reveals not the raw values, but what each song leans on to the sound itself.

Stacked bars
Audio Feature Composition
Now you try

Compare your own favourites.

Everything so far has been my reading of the data. Here's yours: search any artist, line up their songs — or whole artists — and watch them land on the mood map, the audio fingerprint and feature-by-feature.

Tip: opens fastest on desktop. If it feels cramped, open the dashboard full-screen ↗.

Coda

Passive listening, turned into self-awareness.

Put together, these views suggest that mood is not random noise in the data. It forms recognizable patterns. Danceable songs tend to be happier, speech-heavy songs often carry heavier moods, and the genres listeners gravitate toward are largely the brighter ones. The numbers behind a feeling, it turns out, have a shape of their own..

The interactive dashboard above takes this further, letting any listener filter by artist and song to read their own emotional fingerprint. And there's room to grow:

Mood over time

Track how valence, energy and danceability drift across months and years.

Across cultures

Compare emotional expression by country, region and language.

Listener behaviour

Link skip and replay rates to a song's emotional tone.

A personal arc

Years of listening data, with mood mapped against life events.

Data source: Spotify Tracks dataset (Kaggle). Visualizations were recreated using the same filtering criteria as the original RStudio analysis, with genre views limited to tracks scoring 90 or higher in popularity and scatterplot views limited to tracks scoring 80 or higher. Palette and visual concept inspired by the Glow Wave dashboard.