{"id":28780,"date":"2026-09-18T15:22:52","date_gmt":"2026-09-18T20:22:52","guid":{"rendered":"https:\/\/blog.kenperlin.com\/?p=28780"},"modified":"2026-09-18T15:24:00","modified_gmt":"2026-09-18T20:24:00","slug":"tune-typing-2","status":"publish","type":"post","link":"https:\/\/blog.kenperlin.com\/?p=28780","title":{"rendered":"Tune typing"},"content":{"rendered":"<p>Sometimes I want to play a melody but I don&#8217;t have a piano keyboard nearby. Which makes me sad.<\/p>\n<p>So here&#8217;s the solution I came up with: I wrote a little web program that lets me use my computer keyboard as a musical keyboard.<\/p>\n<p>I call it tune typing. It&#8217;s certainly not as good as having an real musical keyboard, but it&#8217;s better than nothing.<\/p>\n<p>You can try it for yourself <a href=\"https:\/\/kenperlin.com\/tunetyping\/\">HERE<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sometimes I want to play a melody but I don&#8217;t have a piano keyboard nearby. Which makes me sad. So here&#8217;s the solution I came up with: I wrote a little web program that lets me use my computer keyboard as a musical keyboard. I call it tune typing. It&#8217;s certainly not as good as &hellip; <a href=\"https:\/\/blog.kenperlin.com\/?p=28780\" 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":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/28780"}],"collection":[{"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=28780"}],"version-history":[{"count":2,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/28780\/revisions"}],"predecessor-version":[{"id":28782,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/28780\/revisions\/28782"}],"wp:attachment":[{"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=28780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=28780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=28780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}