{"id":80,"date":"2008-01-19T23:58:13","date_gmt":"2008-01-20T07:58:13","guid":{"rendered":"http:\/\/evanlenz.net\/blog\/2008\/01\/19\/more-midi-mismatches\/"},"modified":"2008-01-20T00:00:46","modified_gmt":"2008-01-20T08:00:46","slug":"more-midi-mismatches","status":"publish","type":"post","link":"https:\/\/evanlenz.net\/blog\/2008\/01\/19\/more-midi-mismatches\/","title":{"rendered":"More MIDI mismatches"},"content":{"rendered":"<p>Today, I tried to enable what I talked about in <a href=\"http:\/\/evanlenz.net\/blog\/2008\/01\/19\/feeling-the-beat-in-pianoninja\/\">my last post about PianoNinja<\/a>. I was able to get the MIDI Note OFF events to be reflected in each note&#8217;s visible duration: how long it remains stationary on its piano key before disappearing. (I would have posted a video, but I can&#8217;t seem to find the camera right now, and I really need to be getting to bed earlier anyway.) I have a couple of observations:<\/p>\n<ul>\n<li>It&#8217;s much nicer than before: crisp and clean releases, but&#8230;<\/li>\n<li>the effective duration doesn&#8217;t necessarily correspond to the actual note value.<\/li>\n<\/ul>\n<p>A MIDI file contains a rendition of a piece, not (necessarily) the authoritative musical information you&#8217;d need to reconstruct a score. Staccato durations, for example, get interpreted as short notes that obscure the actual notated value. I&#8217;m coming to terms with what I want PianoNinja to do: display a score (in Klavarskribo notation) that can be relied upon as containing the more-or-less canonical information that makes up the piece. While there might be <a href=\"http:\/\/www.classicalarchives.com\/chopin.html#chopin_piano_waltzes\">many and varied MIDI files<\/a> for the same Chopin Waltz, I don&#8217;t want PianoNinja to be subject to those variations.<\/p>\n<p>So while I&#8217;m glad that I got the MIDI Note OFF events to be reflected, the associated note-vanishing is still a bit jumpy-looking, since they don&#8217;t always coincide with the attack of the following note. Before diving into using MusicXML instead, I might try to see what sorts of MIDI file quantization I could do to stretch each duration out for its full note value. I&#8217;m going for the path of least resistance here in keeping this project moving forward&#8212;without compromising the steady vision I have for what PianoNinja can be.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today, I tried to enable what I talked about in my last post about PianoNinja. I was able to get the MIDI Note OFF events to be reflected in each note&#8217;s visible duration: how long it remains stationary on its piano key before disappearing. (I would have posted a video, but I can&#8217;t seem to [&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\/80"}],"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=80"}],"version-history":[{"count":0,"href":"https:\/\/evanlenz.net\/blog\/wp-json\/wp\/v2\/posts\/80\/revisions"}],"wp:attachment":[{"href":"https:\/\/evanlenz.net\/blog\/wp-json\/wp\/v2\/media?parent=80"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evanlenz.net\/blog\/wp-json\/wp\/v2\/categories?post=80"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evanlenz.net\/blog\/wp-json\/wp\/v2\/tags?post=80"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}