Monday, May 12, 2014

Twelve Little Notes

My timing isn't always the best here at MMmusing. One of my favorite-ever blog posts, Atonality on Ice, was inspired by the Boston Bruins' 2011 Stanley Cup title run - and posted about a week after the final game, when even the 0.7% of my readers who enjoy hockey had moved on to baseball. (The Bruins are on the move again, so that post is more timely now! Check it out.)

And speaking of atonality, just after most college semesters are winding down, I'm debuting a fun (?) new teaching tool for that 20th century music theory/history class that probably just ended: The MMmusing 12-tone Sandbox.

This started off as an exercise in creating my own 12-tone matrix calculator, although there are plenty of those already available online, such as here and here. I first set up a Google Docs spreadsheet to do the work, and you can give that a try here (you first have to save a copy to your own account in order to make changes - otherwise, my thousands of readers would constantly be competing to get their preferred pitches in order). But the online calculators I've found don't do one particularly useful thing - play the row!

"Play" is an important word in this context, not only because a 12-tone matrix is intended to create a set of 48 playable rows, but because "play" in the broader sense is maybe underrated as an aspect of 12-tone composition. My sense, at least from students, is that the process is too often viewed as forbidding and intellectual and kind of scary and...well, not very play-ful. So, my goal was to create a tool that's easy to "play" around with and which "plays" for you. I'm calling it a sandbox because it's not designed as a robust compositional tool, but rather as a quick way to try out a row and its transformations alone and in simple counterpoint. A pitch is sort of like a grain of sand, right? And, like most sandbox creations, the outcome is less about a final, permanent product (though my tool does let you save a result) than it is about creating in the moment.

The best way to see what it does is to click the image above and give it a try, but the main features are:
  • Allows you to:
    • Input a row of your choosing. You hear the pitches played as you enter them! (Technically, you're allowed to repeat pitches and create a "bad row," but assuming you want a true 12-tone row, it's easy to see which pitches have already been selected as you choose.)
    • Alternatively, will generate a random 12-tone row. I love random! This saves you time and lets you get right in to play.
  • Generates a 12-tone matrix from the chosen row.
  • Plays any of the 48 versions when you click on the row headings (P0, R1, RI5, etc.).
  • Plays up to four different versions of the row in counterpoint, with options to change the note length, octave, entry point, instrument, and volume for each row individually. (There are significant limitations as well: each voice will only play one rhythmic value once it's started; though one can choose to raise or lower the entire row by an octave, individual notes can't be moved up or down by octave.*)
  • Exports/Imports a "performance" you've designed, so that you can play it again later.
As with my Random Gymnopédie Generator, this project was designed in MIT's Scratch, an easy-to-use introductory programming platform which has been a favorite sandbox for me lately. I'm sure someone with more programming experience could've designed my project in about 1/12 the time it took me, and with much more elegant code, but this actually represents a lot of work for me. I'm sure there are still some bugs running around in this sandbox, but I hope you'll give it a try. Here's a demo (which would be best-viewed in full-screen mode, of course):

* This was one of those unanticipated complications I ran across in making a playable matrix. A 12-tone row, at least in matrix form, doesn't specify octave registers for the pitches, so from one note to the next, one could always choose to go up or down. For simplicity purposes, this is set up so that the first note of each Prime and Retrograde is the lowest note played and the rest of the notes fall within the octave above; in the Inversions and Retrograde Inversions, the first note is the highest played.

No comments: