{"id":42,"date":"2007-11-03T11:34:06","date_gmt":"2007-11-03T19:34:06","guid":{"rendered":"http:\/\/evanlenz.net\/blog\/2007\/11\/03\/more-thoughts-on-klavarskribo-and-refactoring-music\/"},"modified":"2007-11-03T12:29:44","modified_gmt":"2007-11-03T20:29:44","slug":"more-thoughts-on-klavarskribo-and-refactoring-music","status":"publish","type":"post","link":"https:\/\/evanlenz.net\/blog\/2007\/11\/03\/more-thoughts-on-klavarskribo-and-refactoring-music\/","title":{"rendered":"More thoughts on Klavarskribo, and refactoring music"},"content":{"rendered":"<p>I want a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Dance_Dance_Revolution\">DDR<\/a>-like game for <a href=\"http:\/\/en.wikipedia.org\/wiki\/Klavarskribo\">Klavarskribo<\/a>. I woke up with more ideas this morning. I&#8217;m just going to spew them out so I don&#8217;t forget any of them.<\/p>\n<p>I&#8217;ve often complained about common (traditional) notation as like reading &#8220;assembly language&#8221; for music. It leaves so many intentions of the composer implicit. Yes, certain things can be easily ascertained, like the key of the music (from the key signature) and that a certain passage should be repeated (from the repeat signs). But there are so many other structures and patterns that I wish were explicit in order to save me a lot of time as a learner\/performer of the music. In programming, I would never dream of copying and pasting a whole ream of code just because I want the same thing to happen in another context except for one little change in the middle. Yet in music notation, that is the order of the day. As a student of the piece, I have to manually double-check that, yes, everything in this section is exactly the same as that other section, except for this little riff right here. Or perhaps it&#8217;s exactly the same, but it&#8217;s in a different key. If I were writing software, I would store the current key in a local variable. Then, if I wanted to do exactly the same thing but in a different key, I would just call the same function, initializing the key accordingly. Or I&#8217;d compose the function with a &#8220;transpose&#8221; function. For Pete&#8217;s sake, I wouldn&#8217;t copy and paste all of my code, and then update all the hard-coded pitches, when they&#8217;re all the same fixed interval from a sequence of pitches I&#8217;ve written elsewhere. But in music that&#8217;s how it&#8217;s been done for a thousand years or so (except that &#8220;copy and paste&#8221; was a bit more painstaking).<\/p>\n<p>So that&#8217;s why I liken common notation to assembly language. How does Klavarskribo improve on this? It doesn&#8217;t. If anything, things are much worse, i.e. if you take &#8220;assembly language&#8221; pejoratively. But I&#8217;m starting to recognize Klavarskribo as a &#8220;better assembly language&#8221; for music. If you&#8217;re going to leave structures and patterns and intentions implicit, then you might as well go the whole way, and encode the notes in a normalized, clean-slate sort of way. In Klavarskribo, there&#8217;s no distinction between G-sharp and A-flat, for example. Likewise, there&#8217;s no key signature. Klavarskribo gives you a notation that strips music of its theory.<\/p>\n<p>Why would I want this? Wasn&#8217;t I just complaining about all the effort it takes to figure out a piece of music when the composer leaves so many intentions unspecified? I do hate that process of figuring out what shouldn&#8217;t have to be figured out and is only that way because the notation doesn&#8217;t support it. My attitude when writing a book is that it&#8217;s much better for me to put in the extra effort upfront in researching a technology or specifying a behavior, etc. Otherwise, that extra effort will have to be multiplied a thousand-fold, leaving it up to my readers to repeat that work when I could have saved them all the trouble. As an author, I want to save my readers all that trouble and throw them as many bones as I have at my disposal. I don&#8217;t blame composers; they&#8217;re just using the traditional medium they have. But I do long for musical representations that make more intentions explicit.<\/p>\n<p>That still doesn&#8217;t answer why I like Klavarskribo. Correct, Klavarskribo doesn&#8217;t help in that arena at all, except perhaps to provide a cleaner slate from which to build. By removing all theory (other than the assumption of a 12-note world), it creates a clean, not-tonally-biased notation. I suppose for atonal music it does help, because it removes lots of misleading hints (accidentals that aren&#8217;t really accidentals, etc.).<\/p>\n<p>Right now, the reason I like Klavarskribo is its great promise for enabling easier sight-reading. And not just sight-reading, but reading a piece for the first time which I ultimately intend to play from memory. I&#8217;ve always been a terrible sight-reader. There are so many variations to digest when sight-reading a piece. I won&#8217;t lie. The key signatures do help, especially if there aren&#8217;t a lot of accidentals and I&#8217;ve been practicing my scales. &#8220;Okay, I won&#8217;t be playing any of those notes that aren&#8217;t in the key of D-flat.&#8221; That certainly simplifies things. So I do have some unanswered questions about how Klavarskribo will fare without highlighting accidentals. But I see a lot of potential in totally equalizing the keyboard landscape and removing fear of the black keys for beginners. Heck, you don&#8217;t need to know anything about music to start reading Klavarskribo. Common notation is laden with concepts like &#8220;keys&#8221; and &#8220;sharps&#8221; and &#8220;flats&#8221; and &#8220;naturals&#8221; and &#8220;clefs&#8221;. I&#8217;ve been playing piano since I was six years old, I have a professional music degree, and I still suspect that I will never completely overcome the cognitive overhead of all these potential combinations and variations that are hard-wired into traditional notation.<\/p>\n<p>To me, sight-reading is a different species of musicianship. I watch proficient sight-readers and I&#8217;m amazed at how unquestioning they are about what they see. You could throw a bunch of &#8220;wrong&#8221; notes in the manuscript and they would keep on playing without skipping a beat. Perhaps they&#8217;d have some mild bemusement, but they won&#8217;t get derailed like I would. There is more of a direct relationship between what they see on the page and what their fingers do on the keyboard. Their ears don&#8217;t get in the way, and I mean that in the best way possible. For me, all the notational clutter clogs up that channel. And I suspect that&#8217;s true for a lot of people.<\/p>\n<p>In the computer game I&#8217;m envisioning, you would get visual feedback on what you&#8217;re doing, just like you do in DDR. In fact, there should be a <strong>free-play mode<\/strong> where what keys you play show up instantly in Klavar notation on the screen. That way, you can start with what you&#8217;re thinking about musically, e.g. a C-major chord, and then instantly see what it looks like in Klavar. It seems like that way you could start hooking up the neural connections without <em>any<\/em> effort. Play around and see the notes appear on the screen. &#8220;So <em>that&#8217;s<\/em> what Klavar notation looks like.&#8221; (With traditional notation, you&#8217;d have to first answer all these questions like what clefs to use, what key are we in, is this a G-sharp or A-flat, etc.) Rather than reading music, you&#8217;re watching it appear on the screen in response to what you do, and the correspondence between the keys you hit and what you see is quite natural and obvious.<\/p>\n<p>In the <strong>play-along mode<\/strong>, you would have the notation scroll up the screen, like a piano roll, and just like the arrows do in DDR. This is where you test your sight-reading ability, getting immediate visual feedback on the screen about how you&#8217;re doing, just as you do in DDR with messages like &#8220;PERFECT!&#8221;, &#8220;GOOD!&#8221;, etc.<\/p>\n<p>I would also want a <strong>silent-play mode<\/strong> where your ears truly have no opportunity to get in the way. You would still know when you hit a wrong note based on the visual feedback, but you won&#8217;t get derailed by weird-sounding notes, whether right or wrong.<\/p>\n<p>Heck, I&#8217;d maybe even want a <strong>random mode<\/strong>, where you can really push the bar on this &#8220;mindless&#8221;, or rather <em>unconscious<\/em>, <em>intuitive<\/em> connection being forged between your eyes and fingers.<\/p>\n<p>Klavarskribo and accompanying learning tools are only one piece of the picture that I envision for refactoring music representation. In software engineering, <em>refactoring<\/em> means &#8220;improving the design of existing code&#8221;&#8211;without changing its behavior. To me, refactoring a piece of music would mean changing the representation&#8211;or adding multiple representations, while leaving the content unchanged. All for the purpose of making the piece easier to comprehend, and at multiple levels. More on that later&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I want a DDR-like game for Klavarskribo. I woke up with more ideas this morning. I&#8217;m just going to spew them out so I don&#8217;t forget any of them. I&#8217;ve often complained about common (traditional) notation as like reading &#8220;assembly language&#8221; for music. It leaves so many intentions of the composer implicit. Yes, certain things [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[12,9],"tags":[],"_links":{"self":[{"href":"https:\/\/evanlenz.net\/blog\/wp-json\/wp\/v2\/posts\/42"}],"collection":[{"href":"https:\/\/evanlenz.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/evanlenz.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/evanlenz.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/evanlenz.net\/blog\/wp-json\/wp\/v2\/comments?post=42"}],"version-history":[{"count":0,"href":"https:\/\/evanlenz.net\/blog\/wp-json\/wp\/v2\/posts\/42\/revisions"}],"wp:attachment":[{"href":"https:\/\/evanlenz.net\/blog\/wp-json\/wp\/v2\/media?parent=42"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evanlenz.net\/blog\/wp-json\/wp\/v2\/categories?post=42"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evanlenz.net\/blog\/wp-json\/wp\/v2\/tags?post=42"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}