{"id":25112,"date":"2023-01-14T22:37:59","date_gmt":"2023-01-15T03:37:59","guid":{"rendered":"http:\/\/blog.kenperlin.com\/?p=25112"},"modified":"2023-01-14T22:37:59","modified_gmt":"2023-01-15T03:37:59","slug":"tune-typing","status":"publish","type":"post","link":"http:\/\/blog.kenperlin.com\/?p=25112","title":{"rendered":"Tune Typing"},"content":{"rendered":"<p>Today I needed to take a break from proposal writing, and various other academic chores. So I decided to make something just for the fun of it.<\/p>\n<p>Oftentimes I want to play a melody that&#8217;s running around in my head, but I don&#8217;t have a musical keyboard handy, especially when traveling. So today I wrote a little Javascript program that lets me use my computer keyboard to type melodies.<\/p>\n<p>There is nothing particularly novel about it. It&#8217;s really more of a craft project, a labor of love.<\/p>\n<p>But it&#8217;s free and it runs on the Web. So if you&#8217;ve got melodies running around in your head that you need to get out, you might find it useful.<\/p>\n<p>You can play with it <a href=\"http:\/\/kenperlin.com\/tunetyping\/\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today I needed to take a break from proposal writing, and various other academic chores. So I decided to make something just for the fun of it. Oftentimes I want to play a melody that&#8217;s running around in my head, but I don&#8217;t have a musical keyboard handy, especially when traveling. So today I wrote &hellip; <a href=\"http:\/\/blog.kenperlin.com\/?p=25112\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Tune Typing&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/25112"}],"collection":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=25112"}],"version-history":[{"count":2,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/25112\/revisions"}],"predecessor-version":[{"id":25114,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/25112\/revisions\/25114"}],"wp:attachment":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25112"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}