Blog

The digital distribution of an analog medium

I ran into a problem on January 12. I was in Stillwater, Oklahoma (no, that wasn't the problem) at a reading session by the Michigan-based Brave New Works ensemble. They were getting ready to perform a reading of my Salvation, for piano trio, but the cellist had forgotten (lost, left elsewhere, etc) the cello part, which is quite important if one is interested in performing the work on cello. I hadn't thought to bring extra parts, so all I had was a score. Luckily, we quickly remembered that I had originally sent the parts via email, so it was just a matter of finding a computer with internet and a printer. The day was saved by Gmail. But still, I wondered how I could prevent such a problem in the future. For example, what if the aforementioned cellist had deleted the email? What if we couldn't find a computer with internet access and a printer? (Which could be a significant problem, seeing as most institutions like OSU require logins and have print quotas and such.) I worry about these things.

A separate conversation that seems to be recently ongoing is the relevancy of present art music. Or, put in question form, how do we keep attracting audiences? Is art music still relevant? I think part of that answer lies with technology, specifically the digital promotion of our analog art form. While the rest of the world is tweeting and facebooking, sheet music still largely exists in the physical world. While physical goods are great (As Zappa said, people like to own stuff), digital goods move quicker. I'm immediately reminded of the way Nonesuch handles their releases. For example, I have John Adams's Son of Chamber Symphony album preordered, which consists of an immediate digital download paired with a physical CD. Does anyone do this with sheet music? (serious question, I really don't know).

So back to my problem with parts. I suppose the easiest solution could be to carry all parts (either digital or physical) with me all the time, but that only works if I'm at the performance. What about dumping everything to a directory at kylevanderburg.net? Well, the unfortunate downside to that is access control, or how to prevent the links from going public and allowing everyone access to all of your music. You know, it would be easier to just make a list. Here's what I needed:

  1. Some way of getting scores/parts to customers.
  2. Some way of answering calls for scores with a simple link, rather than emailing large PDFs and audio files.
  3. Some way of making permissions expire after X number of days (or, not expire, either way).
  4. Some way of making links expire after 1 click.
  5. Some way of protecting the original source files.
  6. Some way of allowing for part distribution to large ensembles (separate “part” and “score” download pages)
  7. And, I needed to build this system so it could handle MP3 downloads eventually (if it came down to it).

I'm sure there are several great, established systems out there for doing this. But of course, I had to build this one myself. And here's how.

The NoteForge Hammer Music Management System is almost entirely composition-driven, meaning that (nearly) every piece of data within the system is tied to a composition. The first step in creating this download/permission/distribution system (which is temporarily called the partslinger until I come up with a better name) was to create a file storage database. This component allows me to upload a file (which is stored in a directory that doesn't allow direct downloads), specify which composition to which it belongs, and whether it is a score, part, or audio file.

The permissions database becomes more difficult due to the security of the system. It essentially asks for an email address, what composition is allowed, and how many days the permission is allowed. The system then calculates a variety of secure hashes which are used in the following steps.

The last two parts, the download management pages and the download delivery system are where all the fun happens. The download management page (which is dynamically generated for each user that has a permission in the system) runs through a series of loops that determines what permissions the user has, and therefore what files are allowed. Then ,by using data from the file storage and permissions database, the page creates dynamically generated download links. The main page looks remarkably like http://noteforge.com/downloads/ed705a791e1d426edb8c4fa1acf3cba2/.

In addition, knowing that such a system may be useful at some point for distributing parts for a large ensemble (who could download the parts, but shouldn't need access to the score), a second, “public” download link is generated, like http://parts.noteforge.com/3acf6e80686b9065bf4a61903895defa/.

All of these pages provide wonderful links like this one:

http://download.noteforge.com/ed705a791e1d426edb8c4fa1acf3cba2/7a5efd8f5be322722d849ba1357f2b02/35/1c383cd30b7c298ab50293adfecb7b18/

No, that link doesn't really work, because of this next part:

Finally, the download delivery script takes that download.noteforge.com link, parses all of the information, checks against the databases, finds the file in secure storage, invalidates the old link, creates a new link for future use, and delivers the file.

Useful? Very. Interesting? For about two of you, yes. But hopefully this will spark conversation about the use of technology in the promotion of art music.

And besides, now I get to save money on stamps.

Decorative element
Kyle Vanderburg