"Classical music has been circling the drain for years… new classical music … **has about as much chance of public acceptance as pedophilia**" - Mark Vanhoenacker

Gemini_Generated_Image_i8bvv0i8bvv0i8bv.jpeg

<aside> <img src="/icons/heart-rate_blue.svg" alt="/icons/heart-rate_blue.svg" width="40px" />

BREAKING NEWS: CLASSICAL MUSIC IS DYING

"Stuffy". "Old-fashioned". "Elitist". "Boring". — what other words come to mind when you hear classical music? Recent streaming trends illuminate the genre's slow decline. Fear of long, lyric-less pieces and general boredom precludes modern listeners with ever-shortening attention spans from exploring 300+ years of Western classical music.

As a cellist of 12+ years, raised in a household enriched by classical music, I cannot imagine my life without it. The genre's miraculous ability to evoke ineffable emotions never ceases to astound me. That's why for my Gould Center Passion Project, I wanted to investigate a way to make classical music accessible, interesting, and — dare I say — fun?

</aside>

<aside> <img src="/icons/first-aid_blue.svg" alt="/icons/first-aid_blue.svg" width="40px" />

ENTER: CLASSICURE

For many, classical music feels inaccessible and not worth accessing. What if we could break down these barriers? What if we could harness its emotional power and democratize access for everyone?

Gen Z and millennials demonstrate the strongest aversion to classical music, perceiving it as distant and irrelevant. ClassiCure aims to transform this narrative by radically reimagining the listening experience. Our approach begins with the user — their emotions, their stories, their connections — turning classical music from a distant artifact into a living, breathing emotional landscape.

ClassiCure’s core mission? to prove that classical music isn't a relic, but a universal language of human feeling, waiting to be translated for a new generation.

</aside>


Building ClassiCure: The First Draft

<aside> <img src="/icons/light-bulb_orange.svg" alt="/icons/light-bulb_orange.svg" width="40px" />

Wire-framing…

image.png

→ What’s essential to the product?

→ How can we maintain usability while keeping the interface engaging?

→ What’s the user journey going to look like?

</aside>

https://www.figma.com/design/lmeaZ2kcOY0L7Wi5J8NsCa/Wireframe-for-ClassiCure?node-id=0-1&p=f&t=o6NSLsn8dr1R696h-0

Building ClassiCure: The Real Deal

<aside> <img src="/icons/star_orange.svg" alt="/icons/star_orange.svg" width="40px" />

Feature Breakdown

image.png

→ Feelings relatable to college students

→ UI is playful & gamified to appeal to younger audiences

→ Streaming app integration - sends users right to the song in their streaming app

→ Explains the why - teases out aspects of the pieces to pay attention to

</aside>

https://embed.figma.com/proto/Dy3eFLGsE7XUVufYrEZNkw/Final-Mock-Up---ClassiCure?node-id=10-16&p=f&t=pvd6Zjm357GE57f5-0&scaling=scale-down&content-scaling=fixed&page-id=0%3A1&starting-point-node-id=10%3A16&embed-host=notion&footer=false&theme=system


Investigating Scalability

<aside> <img src="/icons/music-album_yellow.svg" alt="/icons/music-album_yellow.svg" width="40px" />

Can a Computer Learn to Appreciate Music?

While I had a great time building out a wireframe for ClassiCure, it was painstaking work to research & classify pieces. I began to brainstorm ways to scale, and came across Sentiment Analysis via Machine Learning — a sick project by former UCLA student William Yicheng Zhu ****that “aims to develop a machine learning application to identify the sentiments in a music clip”.

I learned quickly that classical music datasets are few and far between. Thus, I elected to create my own training data…

SPOILER ALERT: manually entering 100 rows of data? not fun

image.png

</aside>

https://docs.google.com/spreadsheets/d/1oADSqwKMucGxbUNvv5KsC8RSjAYy9EaeABrA8Ql9uo0/edit?gid=268521944#gid=268521944

<aside> <img src="/icons/activity_yellow.svg" alt="/icons/activity_yellow.svg" width="40px" />

Building the Model

After creating a training data set, I turned to TensorFlow to build a rudimentary ML classification model. The goal? Automating the process of assigning emotions to classical pieces. Was it achieved? Maybe not completely, but I'll keep chipping away at it.

Follow along below for a model walkthrough or run through the code yourself using the file below ⬇️

</aside>

ClassiCure_Classification_Algo.ipynb

IMPORTING NECESSARY LIBRARIES

import pandas as pd
import io
from sklearn.preprocessing import LabelEncoder, StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report, confusion_matrix
import matplotlib.pyplot as plt
import seaborn as sns

LOADING THE DATA

from google.colab import files

uploaded = files.upload()
data = pd.read_csv(io.BytesIO(uploaded['passion_project.csv']))
print(data.head()) # Display the first few rows of the dataframe

Screenshot 2025-01-24 at 9.42.40 PM.png