Wednesday, April 16, 2014

Sol-searching

For years now, I've made much of the fact that the MM* in MMmusing can stand not only for my initials, but also for "Music and Meaning" as well as for "MultiMedia" or "Multimedia Musing" - I hadn't envisioned that multimedia creations would be so central to this blog when I chose the name, but perhaps the name chose me. Anyway, up until now, multimedia has most often meant: video, audio, Photoshopped images, and even some bits of javascripting to connect videos, scores, and analysis, etc. But today, I present my first real "game" entry among these multimedia offerings. Here's a little demo:


[Play Solfèd for real here, or just scroll down to the bottom of this page.]

I've never studied computer programming, although I've often thought if I'd started college 10 years later than I did (when multimedia integration picked up pace), I might have ended up in that world. I have dabbled, off and on, with coding at various points, first when I programmed a beloved Hewlett-Packard calculator to play a version of Mastermind. I was always particularly proud of the fact that that little program used the absolute maximum number of steps (about 320?) allowed by memory capacity; although there was probably a more efficient design possible, it seemed as if I'd wrung out all of the machine's "mastermind" potential through creative problem-solving - kind of like composing the perfect 140-character tweet that seemingly wouldn't have been possible with 139. Or writing a perfect piece of music for one bow and four strings.

The point here is that programming can be a very artistic kind of design process, finding unexpected potential within seemingly rigid constraints - certainly different from musical composition, but related in some tangential ways. A big difference is that when notating music for human performers, one can usually count on the human to intuit to some degree what one is requesting; a computer program, for better or for worse, does exactly what you tell it do to. (I know most composers think that's what they want from performers, but they might be surprised if they really got what they asked for...) There's tons of problem-solving and laborious bug-detecting to be managed, but when a bunch of instructions suddenly produce an elegant result, it's immensely gratifying and genuinely beautiful. 

My next foray into programming after mastering the calculator involved using Hypercard's scripting language on a very early Mac (late 80's) to design a page that drew fractals. (This was for a class presentation on fractals and musical design.) The machine and my program were so slow that it would take hours for the fractal to emerge from all the intricate iterations of whatever function was being plotted (I don't remember much about the details) - and, of course, the fact that it took hours was part of what made the process beautiful. I wish I had access to those programs now, but they basically generated images like this by graphing out a series of calculations. It seemed like musical magic, and working out those fairly basic instructions was very satisfying. 

Then along came the Internet, and I've since spent more time faking my way through video/audio-editing and web design than any real programming. UNTIL, a few weeks ago, my screen-mad 6-year old son asked about downloading an iPad app that allows you to create apps. He loves playing with the iPad and is constantly searching for new games ("Dad, this one's free, it got 5 stars, and it's for ages 4 and up!"), which can be a bit tiring, but I loved the idea that he wanted to create his own games. The app he'd found didn't seem very kid-friendly (although I'll definitely be checking it out), but I remembered that my older daughter's 6th grade class had done some basic work in MIT's free Scratch programming language a few years back. It's designed to be very inviting and kid-friendly, so we dove in.

Within a few days, we (OK, mostly I, though Son of MMmusing proved quite good at catching little errors I'd make along the way) had come up with our first game - a variation on the old Pong classic called Pinguin-Pong. I think it's fun and colorful and appealing on a simple level and am most proud of the fact that the flexible leveling for each player makes it easy to set up a good competitive game between two players of different abilities. (Yes, I can still beat my son when even-up at video games, but that's not likely to last...)

The main point is that I found Scratch to be insanely fun and addictive - one can certainly still make plenty of syntactical errors along the way, but the graphical interface and intuitive design make the idea of "building instructions" much easier to visualize and conceptualize than coding systems I've dabbled with in the past. Naturally, my mind turned to the idea of musical games and, since the platform already includes some basic MIDI-like musical software integration, I decided it would be fun to set up an arcade-style game to test pitch-recognition skills. I know I'm far from the first to design such a game, but I was more interested in learning my way around the platform than in breaking new ground. Sometimes, doing something with limited ability is more fascinating than doing something one is trained to do. (See/hear my "viola" playing.)

I originally had in mind a sort of Space Invaders game, but I wasn't ready to deal with multiple aliens at once, so it was going to be a "shoot the ship from the sky" kind of thing. Somehow, the ship became a bird, and then I found it a bit disturbing to see these merrily chirping birds shot through with red darts (you can see an early draft here), so, sensitive new-age dad that I am, the concept evolved into a bird-feeding game. I experimented a bit with using more of a bird-tweet sound for the pitches, but that was more annoying than it was worth. So, I settled on a nice vibraphone vibe that doesn't really sound like a birdcall, but it's mellow enough that I don't mind hearing this virtual instrument over and over. (I wouldn't want to put a number on how many pitches I've heard this vibraphone vibrate in the past week.)

The finished-for-now project turned out, not surprisingly, to be much more complicated than I'd expected, even though the result is pretty simple in appearance. I can't pretend it's completely designed "from scratch" as the Scratch platform has a lot of built-in multimedia capability, but, for example, all of the pitches and their placements on the staff had to be programmed (Scratch doesn't know about music notation, which involves lots of little irregularities that have to be accounted for), as did the mechanism for sending worms into the birds and for sending "bad worms" offscreen. Actually, the worm-rejecting is one of the weakest graphical features at this point, but I'm not in a big hurry to change anything. YOU can actually go right into Scratch and modify the program any way you want (doesn't change the posted version), or at least look around to see what's under the hood.

[Feel free to skip this clunky paragraph!] Here's a quick look at what one script looks like - this script (which is recalled many times consecutively as each new note is created) recalls pitches that have already appeared and plots them out in the correct horizontal/vertical spots on the staff. Amazing how vexing something like a ledger line can be - or how one suddenly realizes a barline means subsequent pitches need to shift over a bit. Also, I had decided I liked the idea of the pitches being plotted according to their pitch value, as opposed to me simply telling the program where each individual pitch belongs, so that higher pitches would automatically climb the staff. Because a diatonic scale means some notes that look equally spaced are a half-step apart and some a whole-step apart, this required some extra work to be sure the half-steps traveled far enough..


Because I'm self-taught and the kind of guy whose office usually looks like something exploded, my coding is surely not the most elegant (I just noticed a few "wait for 0 seconds" commands there that are kind of the equivalent of old coffee cups collecting dust on my shelves), and I'm sure there are simpler solutions to many problems than what I devised - as it is, there are more than 150 scripts and more than 50 variables floating around in there, all in the name of feeding virtual birds. But, fledgling programmer that I am, I can still say that it is a joyful and beautiful thing when, after hours of logical problems, a simple button click makes all the right things happen.

Again, I know there's plenty of ear-training software out there, much of it much more robust and flexible than what this game has to offer. For example, the much-used musictheory.net has a bunch of resources, including this note-ID exercise that allows for multiple octaves, chromatics, etc. However, I do feel that my little birdfeeder feels more like a game - it helps a lot that one can use keyboard input to play Solfèd. If speed is your thing, it's much faster and more viscerally gratifying to type in the worms than it is to move a mouse around the screen. One thing I like about Solfèd's set-up is that, since there are only 8 pitches, one can easily rest 8 fingers across the number keys and work on speed reflexes without moving the hands. Gives it more of the Guitar Hero kind of thrill, except this depends more on the ear than the eye. As I've observed many times before, the hand/eye coordination involved in sightreading at the piano is basically like playing a video game - this just switches the demands over to the ear, which is good training for me as my eyes are much better "readers" than my ears.

Although I have to admit my son wasn't very closely involved in designing this game, he and his 9-year old sister have been very willing to try it out, and of course I don't mind if they develop their hearing skills along the way. To be honest, my own ear-training was never what it should've been, and I still find it helpful (and fun) to try to speed through this game, relying as much on instinctive reaction as I can. I don't have anything close to perfect pitch and am OK with that, but I tend to hear so functionally, that I have to really fight myself not to always hear each pitch relationally** - not that there's anything wrong with that, but I'd like to see if my fingers can eventually hear a pitch and fire without thinking about where the pitch is headed...

The good thing is that, unlike reading this post, playing the game can take just a few seconds. It's very easy to figure out, and you can set yourself whatever sort of time/mistake challenges you like. It's also fun, after playing a few rounds, to set the playback speed to something insane like 300 and hear the vibes fly. Go feed the birds!

* Bonus MM: When I first started this blog, I was living in Medford, Massachusetts.

** For example, when I hear "Fa," my typical brain process is to hear it leading down to "Mi," and it's only when my brain hears the "Mi" that the "Fa" is confirmed - which takes up valuable micro-seconds when you're trying to feed a hungry bird.

Friday, April 4, 2014

The Good, The Shred, and The Ugly

Been a strange few days here in the world of MMmusing. Before I'd even thought about the coming of April Fools Day, my desperate search for a good viola joke about the $45 million Strad led to me making my first "shredding" video. In retrospect, it's surprising it took me so long. As I've already detailed, the idea initially was to make the New York Times demo video for this instrument sound more like...well, like a viola. If you haven't encountered shredding videos, there are countless ones all over YouTube. I particularly enjoyed these two while just now doing a quick look. The basic idea is to dub in humorously bad playing over the video of an accomplished performer playing in an accomplished manner. (I've written before about how much I love musical mistakes.)

Obviously, the idea of doing a "viola shred" is redundant, but I might as well take this opportunity to say that David Aaron Carpenter plays the viola exceptionally well. I owe him that. Here again is his performance of the dazzling prelude from Bach's 3rd cello suite.



I'll start with the good here, which is that this whole exercise has reminded me what a fantastic piece this prelude is. I've known it forever and played it myself on the cello back in the day, but one tends to take such canonical works for granted. Just minutes ago, I had the lovely experience of showing my 6-year old cellist son a video of Mischa Maisky playing it - my son had never heard the original, but he had heard my shredded version many times! Probably got that backwards... *

Anyway, I've unexpectedly kept "hacking away" at my own little shred over the past few days, mainly because I got the idea that it would be funny if a stupid tune started popping up amidst the shreds of Bach. I needed something in triple time, and somehow "Pop! Goes the Weasel" came to mind. Done! After downloading a MIDI file of the Bach into Finale, I just started squeezing in bits of "pop" wherever I could. This became a delightful little exercise in and of itself, and occupied me through several lunchtimes, etc.What fascinates me about a project like this is that it can be taken seriously on some level, even though the basic framing idea is absurd. Within that absurd frame, how best to achieve something truly and perfectly awful? I found myself fighting to get the wrongs just right, but also to keep it real, as it were.

Thus, my favorite part of the process was my firm commitment to not practicing at all before my live recording sessions. Let the mistakes happen naturally. Not surprisingly, my new "pop" version of the prelude is somewhat more awkward to play than the original since Bach, um, knew what he was doing. Even more challenging was trying to play along with the original Carpenter recording (slowed down to half-speed and thus in cello register) as my new version departs quite a bit, melodically and harmonically, in some passages; and though I haven't practiced the cello for more than 20 years, my fingers still half-remember the right notes, so steering them elsewhere created some additional cognitive dissonance. Carpenter also uses a lot of rubato, so it wasn't just a matter of playing in time. I was able to watch his bow, but only when I could tear my eyes away from the score. Because of all this, the music coming through my headphones had to be pretty loud for me to keep track of what he was doing, which meant I really couldn't hear all that clearly what I was doing. Perfect. These rules of the game become part of the final product.

Well, in most cases. The truth is, I had to re-record several passages to improve the synch with the video. Although the synching still isn't perfect, that is of course the area in which the shred requires actual skill - otherwise, the illusion fails. What a strange and wonderful musical challenge it turned out to be - though my mostly dormant cello skills were just barely up to the task, trying to survive the process was quite satisfying, even as my poor hands were cramping and my ears were being pulled in multiple directions. Pain and pleasure, together again.

However, the truly magical part of this process came via the double-speed transformation from scratchy, plodding, barely hanging-on cello sounds to believably fluent (if sloppy) viola-playing. I don't even mean that as a viola joke - it's just that the 2x process hides so much and creates so much artificial competence. And, yes, I do have a genuine affection for the beauty of ragged viola-playing. I've listened to these recordings many, many times and I honestly enjoy them on an actual musical level. Of course, some percentage (between 15%-95%) of that enjoyment comes from my own satisfaction in playing this game**, but part of me really does love the lack of perfection - the "can-do" spirit of this fictional violist, who looks so suave and assured in the video, seemingly oblivious to his own sounds. There's a lot of aesthetic stuff colliding here.

As any reader of this blog will have guessed, I've come to realize that this kind of twisted listening experience has become a core part of my musical self - I'm still no fan of the most avant-garde noise creations out there, but my brain loves puzzling out these kinds of listening experiences in which something good (too good?) and familiar is distorted, blended, or whatever - but still recognizable. I suspect a lot of the enjoyment comes from the brain's attempts to re-sort all the information and make sense of it. The feeble "viola" sounds are just part of the puzzle, but an essential part. For the record, I have no interest in hearing David Aaron Carpenter or any other violist or cellist play my prelude, because to play it right would be to play it wrong.

At any rate, although I'm still not sure what my place in the musical universe should be, I feel pretty sure that I'm the only person in the world who would have made THIS video:



By the way, I realize there's a case to be made that a too-finely-tuned shred defeats the purpose. The typical shred video is more blatantly honky and goofy, and I love those videos. Mine runs the risk of taking itself too seriously and being packed with too much detail for the genre. Who will want to listen multiple times to notice all the little places in which snippets of "Pop Goes the Weasel" are embedded when listening means listening to this? On the other hand, the embedding of a tune in a contrapuntal texture is right up Bach's alley. There are moments in Bach's prelude (such as 2:21-2:24) which I'll probably never be able to hear again without internally hearing*** "Pop!...goes...the wea-...sel." Believe it or not, I think Bach would be OK with that.


* I also was able to explain the concept of the octave to my 8-year old, who was curious about how I made my video and why my cello recording ended up sounding like a viola. So, learning is happening.

** Music, of course, is basically a game.

*** Hearing, of course, is always internal.

Wednesday, April 2, 2014

Accords mystérieux

Yesterday on Twitter I posted as a puzzler the following series of chords, which have been crossing my path lately, to see if anyone could recognize them. I don't think I would have been able to ID them if they'd been handed to me out of the bleu, but they are quite gripping in effect and I love playing them.


I provided two audio versions, one with me feebly playing on my out-of-tune piano (the composer asks that they not be arpeggiated, so playing them softly is tricky) and the other "performed" by a synth piano. Here are those audio helps:
There were a variety of guesses, but no one actually ended up ID'ing the actual composer. If you'd like to know who it is, scroll down....


That's right, it's the great Francis Poulenc who, along with Scriabin, ranks at the very top of my own subjective plus-minus scale. (Basically, this means I think I tend to like these composers considerably above their reputations. Haydn and Verdi are my other extremes - admittedly great composers who just don't excite me as much as their reputations would suggest.)

Like Scriabin, Poulenc has a great flair for creating sensuous sonorities, nowhere moreso than in the best ad for nicotine that Philip Morris fortunately never thought to use. [Note: This is not the source of the chords above...keep reading.]



By the way, Poulenc's "Hôtel" is possibly the most perfect song ever (unless it's this), Apollinaire's words roughly translating as: "My room is shaped like a cage / the sun puts its arm through the window / but I who would like to smoke / to make smoke pictures / I light at the fire of day my cigarette / I do not want to work / I want to smoke."


[Excuse me while I virtually step outside for a minute...]

But the chords shown at the top of this post are darker and more mysterious than those lazy smoke rings - less jazzy and more opaque. They are found in the middle of a tiny song found in the middle of Poulenc's gorgeous cycle, Tel jour, telle nuit. Here is Paul Eluard's complete text, with Pierre Bernac's translation next-door.

Une roulotte couverte en tuiles
Le cheval mort un enfant maître
Pensant le front bleu de haine
A deux seins s’abattant sur lui
Comme deux poings
Ce melodrama nous arrache
La raison du cœur.
A gypsy wagon roofed with tiles
the horse dead a child master
thinking his brow blue with hatred
of two breast beating down upon him
like two fists
this melodrama tears away from us
the sanity of the heart.

If you can figure out what that's about, good for you. But those wonderful chords hover over the 3rd and 4th lines and create a palpable sense of...something even vaguer that interests me more. Here are all 48 seconds of this very strange little song*, with the composer at the piano accompanying Pierre Bernac. (Poulenc is known for quirky endings to songs, but even for him, this ending is unsettling.)

Since I've declared that these chords (and words) are mysterious, I'm just going to let them speak for themselves and, at least for now, not try to analyze them. They are what they are. Dense, dissonant, desultory, and ineffably beautiful.

 [*Note: You can buy that song and 24 more hours of glorious Poulenc for only $30 on iTunes!]

UPDATE: An astute student (go, Joel!) noticed that the penultimate chord from the mystery progression above is none other than the "Tristan chord" - one half-step higher. The French couldn't escape Wagner, no matter how much they wanted to....