Live coding as a path to music education — and maybe computing, too
We have talked here before about the use of computing to teach physics and the use of Logo to teach a wide range of topics. Live coding raises another fascinating possibility: Using coding to teach music.
There’s a wonderful video by Chris Ford introducing a range of music theory ideas through the use of Clojure and Sam Aaron’s Overtone library. (The video is not embeddable, so you’ll have to click the link to see it.) I highly recommend it. It uses Clojure notation to move from sine waves, through creating different instruments, through scales, to canon forms. I’ve used Lisp and Scheme, but I don’t know Clojure, and I still learned a lot from this.
I looked up the Georgia Performance Standards for Music. Some of the standards include a large collection of music ideas, like this:
Describe similarities and differences in the terminology of the subject matter between music and other subject areas including: color, movement, expression, style, symmetry, form, interpretation, texture, harmony, patterns and sequence, repetition, texts and lyrics, meter, wave and sound production, timbre, frequency of pitch, volume, acoustics, physiology and anatomy, technology, history, and culture, etc.
Several of these ideas appear in Chris Ford’s 40 minute video. Many other musical ideas could be introduced through code. (We’re probably talking about music programming, rather than live coding — exploring all of these under the pressure of real-time performance is probably more than we need or want.) Could these ideas be made more constructionist through code (i.e., letting students build music and play with these ideas) than through learning an instrument well enough to explore the ideas? Learning an instrument is clearly valuable (and is part of these standards), but perhaps more could be learned and explored through code.
The general form of this idea is “STEAM” — STEM + Art. There is a growing community suggesting that we need to teach students about art and design, as well as STEM. Here, I am asking the question: Is Art an avenue for productively introducing STEM ideas?
The even more general form of this idea dates back to Seymour Papert’s ideas about computing across the curriculum. Seymour believed that computing was a powerful literacy to use in learning science and mathematics — and explicitly, music, too. At a more practical level, one of the questions raised at Dagstuhl was this: We’re not having great success getting computing into STEM. Is Art more amenable to accepting computing as a medium? Is music and art the way to get computing taught in schools? The argument I’m making here is, we can use computing to achieve math education goals. Maybe computing education goals, too.