Part of the difficulty in teaching composition, is that once you become good at composition, you start to lose touch with the learning process.
I have always strove to teach from the view point of someone learning. But recently I’ve been reminded about what it’s like to be a beginner.
Over the last few weeks, I’ve been diving into learning coding, and web development. Specifically, I’ve focused on learning JavaScript.
If you are not familiar with JavaScript, it is the language that runs in your browser. It creates the “interactive” web.
How Your Background Effects Learning
I am learning to code with a few years experience running my site. This gives me a basic foundation in what makes a website work.
I see a direct corollary between this and how I an many others begin composition.
When I began composing, I had been playing the trumpet and guitar for some years. This exposed me to many different styles of music. I also had first hand experience with wind bands, symphony orchestras, and soloists.
When I finally made the jump from not composing to composing, it was also through a relatively confined task of writing a “jazz” solo for In the Mood.
Completing Programs vs Modeling Compositions
When you set off to learn coding, it is difficult. The ability to complete a program, other than the most basic – like having the screen print out “Hello World!” – usually requires that you have a lot of pieces in place.
You need to understand the basics of the language, the syntax of the language, how to work with arrays, how to use objects or create new objects… what objects even are.
More important, you need to understand how these concepts actually come together to create a program.
It is difficult to say the least. So how does the coding community teach it? Through writing actual programs and explaining what is going on, while you follow and type along.
This is pretty much the only way you can learn, because if you try and strike out on your own… which I have tried several times… you pretty much just strike out.
Sure I was able to create a small program, that changes the date of the next Composer Symposium automatically. It was a big victory for me. But I also had to look up stuff online while I was doing it, just to figure out where to start. And it took me about an hour… maybe more.
<script>
function nextSymposiumDate (dayOfWeek){
var todaysDate = new Date();
var nextSymposium;
if ( todaysDate.getDay() === dayOfWeek ) {
todaysDate.setUTCHours(16,30,00);
document.write("<h3><h3>Next Meeting: Today, " + todaysDate.toDateString() + "</h3>");
document.write("<p>In your timezone: Today, " + todaysDate.toDateString() + " " + todaysDate.toLocaleTimeString()) + "</p>";
} else {
var nextSymposium = new Date(todaysDate.getFullYear(),todaysDate.getMonth(),todaysDate.getDate()+(dayOfWeek-todaysDate.getDay()))
nextSymposium.setUTCHours(16,30,00);
document.write("<h3>Next Meeting: " + nextSymposium.toDateString() + " at 8:30 AM (PST)</h3>");
document.write("<p>In your timezone: Next " + nextSymposium.toDateString() + " " + nextSymposium.toLocaleTimeString()) + "</p>";
}
}
nextSymposiumDate(6);
</script>
An hour to write about 15 lines of code! Seems like a waste. But it is all part of the process of learning.
Modeling Great Composers
How does this relate to composition? Well, unfortunately we don’t have many composers creating walkthroughs on their compositions, explaining step by step, how they composed them.
What we do have though, is thousands of masterworks by amazing composers just waiting to be modeled.
Modeling is the process of internalizing the techniques and language of other composers by creating your own compositions based on theirs.
The process of modeling, while it can be tedious, is extremely useful. It is well documented that Bach, Mozart, Beethoven… just about every great composer modeled other composers. I won’t go too much into it, because I’ve talked about it in the past on the blog. Instead, I’ll just quickly hit on the process you should be using.
The Process of Modeling
In a nutshell, you want to experience – reflect – conceptualize – experiment.
Experience
Experience is about listening, playing, and just absorbing the music. For instance, if you are learning about a Chopin Nocturne, you want to attempt to play it on the piano, listen to a few great recordings, maybe try transcribing by ear a few lines. Basically, you want to feel the music at this point.
Reflection
Reflection is where you really dive into the details of the piece. The best way to accomplish this, is through copying by hand, and analyzing. Copying by hand is tedious, but you end up looking at every note, and hence, you start to notice details that alluded you before. Once you analyze, you will start to notice patterns that become very useful for composing.
But if you stopped there, then you are missing some of the largest benefits.
Conceptualizing
Conceptualizing is the process of turning your analytical observations into abstract principles. For instance, Chopin may use a cool progression, with a very active left hand accompaniment, and lots of embellishment on the melody.
But you would abstract that down to just a simple four part voice leading, with a simple soprano as the melody. Unfortunately it is this process, where most composers start learning. They grab a text book, and begin doing four part chorale harmonizations. The problem is, they are starting form the abstraction – and attempting to use it in their own compositions – without understanding where it was abstracted from.
Abstract Conceptualization => Named Devices
One of the best ways to get something out of your abstractions, is to give it a name. For instance, I have a named device, that I stole from Holst’s Jupiter. I call it the “Interlocking Rhythmic Pad”. It is basically a bunch of instruments playing the same rhythm offset by a beat or two. This leads a very cool “moving” kind of chordal pad for a melody to sit on top.
The best part about naming things, is it doesn’t matter what you name them, as long as you remember. The funnier the better. I’ve heard names like – “The Oboe Sandwich”, or “The Red Herring”.
One that I came up with, is called the “Last Ditch Effort”. Basically it’s when you want more forte, but it just isn’t there, because everyone is basically at fff. What do you do? You add choir – it always sounds bigger!
Active Experimentation
Once you have abstractions, you can apply them directly to your own composing. But once again you don’t go it alone. One of the best ways to apply the abstraction is using the original composition as a guide. If you understand the purpose of all this is to learn, you will quickly realize how beneficial this exercise is.
I have started creating compositional maps, which outline the key features of a piece, and help you break away from the specifics. Here is an example of the compositional map from my course on sonata form.
I used this to create an exposition like this:
This is based directly on Beethoven’s Sonata No. 1, Mvt. 1, but it is also a new and different piece. And I have learned a lot going through the process.
Don’t Be Afraid of Modeling
I like that the coding community is not afraid of this style of learning. Just look at all the books on “Design Patterns”. There are a ton of theme. They are the equivalent of these kinds of compositional maps.
Part of it, is because coding is a very results oriented world. Either your program works or it doesn’t. But coding is also similar to composition, in that it can be clean, and beautiful.
Beautiful code is usually simple, and easy to understand.
And when that is created, those people want to share it with the community. And hence, a growing body of pedagogical tools is created.
So my wish, for the composition community, is to have a pool of these kinds of models to work from. With clear explanations, and practical uses.
TL;DR Version
You can learn a new language, like composition or programming, by understanding the basic elements of the language, and then applying that understanding to the process of modeling great compositions.
This process is:
- Experiencing the music (listening and playing)
- Reflecting on the music (copying by hand and analyzing)
- Creating abstract conceptualizations (pulling ideas from them, and giving them names)
- Experimenting with those concepts (composing new music based on what you learned)
The coding world understands this, and most of the courses that teach coding teach it through this kind of way… somewhat.
It is the way, I am starting to teach myself more and more, and how I am now focusing my composition teaching on the Academy.
Just like the coding world has many books on practical “design patterns”, we should have the equivalent in composition.
Adaraneo
Really great article!
I started programming and composing in parallel almost ten years ago as self-learner just because I’ve been interested in it. As violinist it was just a matter of time to start composing and programming. What I love about programming and composing is the “never-ending” learning somenthing new and some kind of freedom.
And thanks for the tip with sharing the progress, I’ll think about it because I also publish my finished work.
Kind regards
Adaraneo
Erik Flora
Love your piece!
Jon Brantingham
Thanks.
Jason J
Hahahah I came here to share my unique experience of being a software developer hoping to take my career into composing. thanks for the article. I just started listening to your podcast today and I’m really looking forward to the rest of the series. I’ve been playing music Since I was a child, and writing, recording producing mixing mastering sometimes, and playing and bands and all that whilst maintaining a full time job as a software developer. I got into this business with some hobby skills at first but have moved up to a software engineer. For a little while now I’ve been thinking to make the move. What a beautiful thing that you have built such an amazing resource.
Something that i’ve said about the software developer community, is how effectively, efficiently, and proactively share knowledge. It has a healthy culture of sharing within the community that I could see in other facets of our lives. To my luck, you’ve made this notion a reality.
I’m taking a three month sabbatical from like this fall where I intend to write, produce what I’ve been doing for years. Honing my craft in rock and pop. But im also very much looking forward to COMPOSING for moving pictures. I’m optimistic that my empathy to music listeners will prove to be helpful in my journey. I apologize for this over sharing. I just wanted to let you know what an incredible resource you’ve built. Thanks x 100.
Jon Brantingham
Thanks for sharing Jason. The more I get into coding, the more I see corollaries between it and composition. The problem is, many of the training techniques for composers that are more in line with how coding is taught now, were oral, and hence, lost to time. They are being rediscovered though, and I think composition training will be more fruitful in the coming years.
Cameron F
I love your blog posts, almost as much as your courses which got me into music composition, and I decided to share it but noticed that you don’t have any built-in ways to share. Just as a recommendation, you might want to add some share buttons, at the very least for Facebook and Twitter, just to promote the spread of your site’s popularity and make it a bit more social media friendly.
Jon Brantingham
I’ll look at adding it to the site.
Steve
When everything is at fff and you still need more, don’t get a choir. Go Tchaikovsky and get a cannon!
Also, I’m a coder learning composition — as a dilettante screenwriter, I decided to learn other aspects of filmmaking, including scoring.
Jon Brantingham
I love it. I forgot about cannons…
Eva G
Hi Jon,
I am a full-time software developer, now 48 of age, living in Germany. In my spare time I’ve started to take singing lessons a bit more than a year ago. Usually when I practiced, at some stage I played along on the guitar because I never had a piano. Then last year I bought myself an e-piano and started to take occasional lessons – the original idea behind that was to be some day able to accompany myself while singing, or to be able to record a track to sing along to. But while that remains a goal, something else is happening – I find myself improvising based on the harmony of the songs, or just playing around with what harmonies come into my mind. I have begun to record myself and transcribe some of the ideas. And that reminds me of the trials in my youth when I tried to write melodies on the basis of friends’ poems or my own poems. So I searched for online resources on composing in order to deepen my knowledge and widen my expressive possibilities – that’s how I found you. I have joined the free course and just wanted to thank you for what you’ve built up here.
The comparison between learning to code and learning to compose is very interesting, also the idea of the map. After 15 years working in one programming language, I have recently started to learn and use another one on the job, so the beginner’s experience sounds very familiar…
I would appreciate getting into contact with others who are interested in composing (hope my English is good enough) to share what is happening on the way.
Best regards
Eva G.
Jon Brantingham
I wish you the best of luck on your journey.
Dubi
This is the first writing which compare programming with composing, which is the main method I use to learn to play&start to compose. And indeed I feel the same way and even bit more.
I’m a programmer having 10 years practical experience and computer science master degree. Because of my background, when I learn to music theory and practice, I think it(theory, the way of learning, and as you mentioned way of composing) can be very similar to programming(at least the technical part):
– music theory, a computer language with syntax, grammar, mathematical theory behind it. Basically for me the 12 notes are 12 numbers with same distance, then patterns( major, minor, chord, fifth cycle are not difficult to understand ).
– learning. know basic grammar, start to practise and put yourself into project. Run it, see the result, improve.
– composing. Analysis existing code/music,
– music sheet/ear listen is like the source code where I can always get inspire(even copy pattern to try).
Dubi
first writing-> first writing I saw 🙂
Jon Brantingham
Thanks,
I am glad to hear it resonates. Just like there can be beautiful compositions, there can be beautiful code. I really do think there is something here to further investigate and research, because the process seems similar… at least in my mind.
Alex
I think learning to program is a billion times easier than learning to compose. It’s probably more similar to learning to play an instrument, the way forward is easier to find.
I think it’s so weird and almost frustrating that there are so many practical books on coding, but not nearly as many on composition. Even though music has existed for 500 years (or well, forever), whereas coding has only existed for about 70 years.
Just my thoughts. Hey i might aswell thank you for teaching me about musical periods about a year ago. That article/video saved my life :).
Jon Brantingham
I wish there were more practical books on it. The problem is, I don’t think most composers take the time to understand what they are doing well enough to explain it to someone else. Sometimes it’s much easier to just do something, than it is to explain how you are doing it.
Simon J
As someone from the other side (full-time developer striving to become full-time composer), I agree with this post.
Although my process of modeling for learning music is abit simplier than yours(but not necessary easier!) by just transcribing & writing it down, comparing with score & correct my errors, learn to play at the piano & then experimenting with what I’ve learned.
Anyway good post & good luck with your coding!
Jon Brantingham
Glad to hear I get the developer approval. Coding is definitely a new challenge, but I am enjoying it.
Nicolás
Very intelligent comparison, and a great idea to start learning how to compose.
George N
Fantastic article and, as noted above, a great comparison. I like the idea of compositional maps very much. I’m going to give it a try moving forward.
As always, thanks for your insights (and the courses).
Jon Brantingham
Thanks George.
William Helliwell
Also I forgot to ask, are you able to share where you’re learning to code from? Thanks.
Jon Brantingham
Mostly at http://teamtreehouse.com/
William Helliwell
Great article Jon. I’ve dabbled with learning to code myself and really like the comparison you make between learning both subjects. Your site is the only place I’ve found that teaches composition in a way I understand.
Jon Brantingham
Thanks. Yeah, I am constantly thinking of links between coding and composition, as they are similar in many respects.