Back to Projects
Research2026

Empirical Musical Cartography

Advanced music analysis research project analyzing 144 classical music scores to identify composer fingerprints. Utilized music21 library for score parsing, PCA for dimensionality reduction to 2D visualization, and ANOVA for statistical significance testing of composer characteristics.

Python
music21
scikit-learn
PCA
ANOVA
Matplotlib
Data Science

144

Scores Analyzed

36

Features Extracted

2D

PCA Components

ANOVA

Statistical Test

Methodology & Feature Extraction

This comprehensive musicology project leveraged Python and the music21 library to computationally analyze 144 classical music scores spanning the Baroque, Classical, Romantic, and Modern eras. The pipeline systematically parsed MusicXML and MIDI representations, normalizing tempo, key, and instrumentation differences before extraction.

From every score the system derived 36 distinct mathematical features, ranging from low-level descriptors like note density and interval histograms to advanced metrics such as Pitch Class Entropy and Rhythmic Density. Together these features encode a composer's stylistic DNA into a compact numerical vector.

Dimensionality Reduction & Statistical Analysis

With 36 features per score the raw data inhabits a high-dimensional space impossible to visualise directly. We applied Principal Component Analysis (PCA) to project the feature matrix onto two principal components that capture the maximum variance. The resulting 2D PCA projection map reveals a clear chronological drift: Baroque works cluster in one region, transitioning smoothly through Classical and Romantic zones, demonstrating how compositional techniques evolved over roughly three centuries.

Beyond visualisation, rigorous ANOVA testing was applied to each feature across composer groups. The results isolated statistically significant composer fingerprints, proving that quantitative models can accurately distinguish between the structural signatures of different classical composers.

Key Highlights

  • Analyzed 144 classical music scores across multiple composers
  • Implemented PCA dimensionality reduction for 2D visualization of musical characteristics
  • Conducted ANOVA statistical tests to identify significant composer fingerprints
  • Developed visualization techniques revealing composer-specific harmonic and melodic patterns
  • Created comprehensive analysis framework for musicological data