What should a musical object be?
by Ryan Vitale
All the kinds of things we learn while practicing our instruments (chords, scales, progressions, rhythms, songs) should come out of the definition of a musical object in one way or another. Also it’d be nice to have something that contains a lot of information, without being big and clumsy to work with. Developing a practical definition of a musical object is the main purpose of this article. I’ll also give an example of what you can do when you identify musical objects with mathematical ones.
[pullquote]When listening to any kind of music, in a sense you’re listening to sound which is structured by pitch relationships and rhythm.[/pullquote]
When listening to any kind of music, in a sense you’re listening to sound which is structured by pitch relationships and rhythm. Often much more goes into making music, like articulation, tone, instrumentation, and dynamics. Most of these things are related to the expressive qualities rather than the raw information. The purpose of building up mathematical techniques for composing music is to play with the raw information and see if we can get some unexpected new ideas to build off of. Let me give a starting point for a musical object:
A pre-musical object is a cyclic ordered list, where the entries are of a common type. The size of the pre-musical object is just the number of entries. Repeated entries are allowed, and lists with the same entries in a different ordering are fundamentally different. By a cyclic list I mean that after the last entry we start again with the first (the repeat signs [: and :] are supposed to indicate this). These pre-musical objects are flexible enough to contain the raw data for pretty much anything you could think of. Here are a few examples:
[: C , E , G , B , D , F , A :] ← the C major scale ordered in diatonic 3rds, or maybe a very full C13 chord, or maybe we’ll paste certain parts of the list together later and get a chord progression.
[: C , D , E , F , G , A , B :] ← the C major scale ordered in diatonic 2nds, or maybe something else.
[: 0 , 1 , 1 , 0 , 1 , 1 , 0 , 1 , 1 :] ← maybe a triplet rhythm where the 0s are rests and the 1s are snare hits.
I was ambiguous about what these pre-musical objects above are since they really aren’t anything yet, hence the name pre-musical object. They’re raw musical data. We just want to differentiate them by type and order for now. Type refers to being either pitch or rhythmic information. We’ll be able to manipulate these lists mathematically, treat them as points in space, turn them into polygons, and other things. We’ll classify and transform the musical data mathematically, and then see how we can take the pre-musical objects and send them to musical ones. In the same way you can manipulate information on a computer and then print out a photo or document you can manipulate pre-musical objects in a structured way, and then print them onto a musical grid which you can listen to.
To close this article let’s look at an example to foreshadow the techniques that we’ll develop. Let’s look at building a simple chord progression from the ground up.
1. Start out with a size 7 pre-musical object [:C , D , E , F , G , A , B:]. The entries are the notes of C – major in ascending order. From the list let’s generate 7 lists of size 3. Let T be the command which takes in the pre-musical object and spits out for each entry [: (the entry), (the entry 2 spots to the right), (the entry 4 spots to the right):] into a new pre-musical object
So we get T[: C , D , E , F , G , A , B :] = [: ([: C , E , G :]) , ([: D , F , A :]) , ([: E , G , B :]), ([: F , A , C :]), ([: G , B , D :]), ([: A , C , E :]) , ([: B , D , F :]) :]
Maybe you noticed that T spit out all the triads of the major scale in order. We can do something similar with any input information and output information we want to create nested pre-musical objects. Diatonic harmony is constructed this way in music theory. For visual purposes let’s use a circle with counterclockwise orientation and nodes for each entry, and look at what T was doing:
The output of T is then the major scale harmonized in triads ( I left labels off the triads to keep things clean looking). The information for a progression of triads would be to pluck triangles off the circle, so maybe to pluck triangles 1, 4, and 5. The fact that we can do this with just a list and simple function will allow us to do plenty of interesting things later. We’ll develop some more language and techniques in the later articles.