Analyzing scale degree distributions in Major and Minor Keys
Introduction:
How useful is it to know the tonal context of a musical piece? This may sound like a question for MIDI-nerds or music theory fanatics, but I hope that this article can stimulate your curiosity on the subject.
Goal:
Evaluate the tonal context of Standard MIDI File (SMF) songs.
Content:
How I conducted the analysis and the results obtained.
Data and Tools Used:
Steps Followed:
Through the SMF parser, I divided the SMF pool into three groups based on these criteria:
Using the SMF parser, I generated three CSV files from the three groups.?
For each song, the CSV file included a row with 12 numbers indicating the weight of the different scale degrees in relation to the current Key.?
For example, in the context of a current major Key, the first number indicates the weight of the Tonic until succeeding to the twelfth indicating the weight of the Leading Tone.
The SMF analysis in details:
领英推荐
Results:
The following graph shows the average distribution of scale degrees in the pool of songs entirely in major modes.
The following graph shows the average distribution of scale degrees in the pool of songs entirely in minor modes.
The following graph compares the three song pools (major modes only, minor modes only, "assorted" modes).
Observations:
Graphs of averages calculated over entire song pools show the expected distributions, but examination of individual songs may reveal significant differences. For example, the next two graphs display the distributions of four major and four minor songs, highlighting substantial differences among individual songs.
Conclusions and Applications:
With the data obtained, the possibility emerges of derive empirical rules to evaluate the correctness of the Key and Mode info of SMFs or to calculate from scratch the Key and Mode of SMFs.
I have implemented test versions of such rules in my parser and they are providing promising results, so this may be the topic of a forthcoming article ??
Possible Developments:
I believe it will be appropriate to try to use, instead of empirical rules, a classifier based on Machine Learning, taking full advantage of the data collected for model training and result checking.