This was a fun way to explore music in ways that I wasn’t able to when I did my first music visualization project. As part of an introductory data science course, I explored a set of three classical wind quintets in the MusicNet data set. Each quintet (a piece with 5 instruments) has 3 smaller movements, and is composed by the same person.
The dataset is very clean, and I did some pre-processing to set the data up so it would cooperate (e.g. adding instrument names and notes, adjusting start position of movements within a single piece, calculating note intervals, putting instruments into their own columns). This is my first time visualizing data with Python, and it certainly won’t be the last.
I’m often filled with questions and ideas that fuel my exploratory visualizations:
What range of notes does each instrument play?
While very messy and virtually impossible to read, this is a cool glimpse at how the pitch ranges of these instruments overlap. The bassoon is much lower than the other instruments, and the flute plays higher notes (and more of them!)
Data used: Entire quintet dataset
What are the most frequently played notes? Are they in the key or major chord of the piece?
Even though you might not know any music theory at all, you probably get the idea that “B” doesn’t belong in the key of this piece.
As a musician, I don’t often think about the number of notes that I play in a piece (like, never). If you told me the note F would be played more than 1500 times in a single piece, I wouldn’t have the faintest idea if you were joking or not. It’s fun to see sheet music data in a different way.
Data used: One of the three compositions, “Wind Quintet No 1 in B-Flat Major”
How far away in pitch is one note to the next?
It’s very common for notes to be closer to the original note than a note very far away. There are some gaps, which are explained by the fact that not all the notes are considered equal in a key that a piece is in; if you think about how a piano looks, in order to get from white key to another you might have to “skip” over a black key. However, this depends on which note on the piano you are on. It gets complicated.
It makes sense that the higher-valued intervals are not as common, due to physical limitations associated with playing such notes. These limitations can be due to the nature of the instrument itself, or the player’s ability.
Data used: One of the three compositions, “Wind Quintet No 1 in B-Flat Major”
What do these intervals look like over time?
Graphing the intervals over time makes it almost look like an audio wave in itself.
Data used: The first movement of a composition, “Allegro Maestoso, Wind Quintet No 1 in B-Flat Major”
How can someone who doesn’t understand how to read sheet music “see” the notes that are played? (e.g. pitches over time)
This was a multi-phase process, all using the same composition data as before.
First, I plotted all the notes played in 3 movements of a piece.
The data was simplified to a single movement, “Allegro Maestoso”, which is only marginally easier to look at.
Split the data into the 5 separate instruments, and change the dots to a line graph. This shows the relationships between the data points in a more intuitive way.
This is cool, and it becomes easier to see when instruments play similar patterns, or where some may play notes faster than others.
I had a lot of fun getting my feet wet with data wrangling in Python, and setting up data to answer my neverending list of questions. It’s amusing that I didn’t look up the actual sheet music for this until after all projects were submitted.