Initializing 3D visualization...
For best results, please use a laptop or computer.

Factor Network

Explore the 8-factor structure of melodic features used to classify Chinese vs. European folksongs from the Essen Folksong Collection. Click and drag to rotate, scroll to zoom, click nodes to highlight connections.
Factors (8)
Variables by Category:
Absolute Pitch
Complexity
Contour
Corpus
Expectation
Lexical Diversity
Inter-Onset Interval
Metre
Pitch Class
Pitch Interval
Timing
Tonality
IDyOM
Other
Loadings:
Positive
Negative

About this visualization
This visualization represents a 3-dimensional projection of an Exploratory Factor Analysis (EFA) of melodic features used to classify Chinese vs. European folksongs from the Essen Folksong Collection (Schaffrath, 1995).

Factor Analysis is a statistical method that seeks to identify underlying latent factors that explain the correlations between variables. This allows us to reduce the dimensionality of the data while preserving the underlying structure, and to relate this underlying structure to psychological or cognitive constructs through our interpretation of the factors.

Eight factors were retained (promax rotation, parallel analysis informed) and used as predictors in a logistic regression that discriminates Chinese from European melodies. The eight factors are labelled Long Pulses, Metric Strength, Timing Variability, Interval Complexity, General Complexity, Scale Conformity, Pitch Variability, and Distinctiveness.

The 3D network diagram provides an interactive environment for exploring the relationships between the factors and the underlying features. Edges show feature loadings with |loading| > 0.3 (green = positive, red = negative). Drag nodes, search by name, or filter by loading threshold to traverse the structure.

Rendered with the Three.js library and the 3D Force-Directed Graph library. Features were extracted with melody-features, a Python package for analysing monophonic MIDI melodies (Whyatt and Harrison, 2025): doi.org/10.5281/zenodo.16894207. Source code for this analysis: github.com/dmwhyatt/Style-Classification-Analysis.

Factors: 8
Variables: -
Connections: -
Link Filters
Loading threshold
0.30
Connections per factor
10

Melody examples