{"id":73,"date":"2020-10-15T20:15:00","date_gmt":"2020-10-15T20:15:00","guid":{"rendered":"https:\/\/imitone.com\/blog\/?p=73"},"modified":"2023-09-13T23:54:46","modified_gmt":"2023-09-13T23:54:46","slug":"inventing-midi-2-0","status":"publish","type":"post","link":"https:\/\/imitone.com\/blog\/index.php\/2020\/10\/15\/inventing-midi-2-0\/","title":{"rendered":"inventing midi 2.0"},"content":{"rendered":"\n<p><em>This post was transcribed from the imitone kickstarter. <a href=\"https:\/\/www.kickstarter.com\/projects\/evanbalster\/imitone-mind-to-melody\/posts\/2979091\">Click here to view the original posting.<\/a><\/em><\/p>\n\n\n\n<p>For some time now, I&#8217;ve been hinting at our involvement in MIDI 2.0, and teasing an update about it. &nbsp;To be honest, though, it&#8217;s a bit of a monster. &nbsp;MIDI is big, and for those who aren&#8217;t already familiar with it, can be&#8230; mysterious. &nbsp;I couldn&#8217;t hope to do it justice in a regular update.<\/p>\n\n\n\n<p>So, I&#8217;ve spent some weeks writing an interactive guide called&nbsp;<a href=\"https:\/\/imitone.com\/discover-midi\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Discover MIDI<\/strong><\/a>. &nbsp;Like MIDI itself, the guide is&#8230; big! &nbsp;It assumes some familiarity with either music production or programming, and more than anything it&#8217;s meant to promote understanding of how MIDI works and where it&#8217;s headed. &nbsp;That&#8217;s because, in time, MIDI 2.0 is going to make huge improvements possible for alternative controllers like imitone.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ksr-ugc.imgix.net\/assets\/031\/007\/912\/925da14261790e02c777d9d208a9329b_original.png?ixlib=rb-4.0.2&amp;w=700&amp;fit=max&amp;v=1602712468&amp;gif-q=50&amp;lossless=true&amp;s=dd7864db41ac905ffcd3f4f8d0030a28\" alt=\"\"\/><figcaption>A sample page from our guide.<\/figcaption><\/figure>\n\n\n\n<p>&nbsp;There&#8217;s an important question to ask here: &nbsp;Why would a tiny company like ours spend precious time and resources in order to work on a technical standard for&nbsp;<em>three years<\/em>&nbsp;\u2014 attending hundreds of meetings, authoring dozens of proposals, and going so far as to write an online&nbsp;<em>book<\/em>&nbsp;about it..?<\/p>\n\n\n\n<p>As side projects go, it has been a bit&#8230; overboard. &nbsp;But I might just be able to persuade you this has all been worth it.<\/p>\n\n\n\n<p>\u2014<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"h:what-is-midi\">What is MIDI?<\/h1>\n\n\n\n<p>MIDI is a digital language describing and controlling music&nbsp;<em>as it happens<\/em>. &nbsp;It&#8217;s made up of messages and rules. &nbsp;For example, we send a &#8220;Note On&#8221; message to start a sound. &nbsp;Every &#8220;Note On&#8221; must have a matching &#8220;Note Off&#8221;. &nbsp;The message &#8220;Control Change: Volume&#8221; allows a controller (often a knob) to change the loudness of an instrument.<\/p>\n\n\n\n<p>MIDI is a&nbsp;<em>crucial<\/em>&nbsp;technology for music \u2014 without it, things like imitone simply wouldn&#8217;t be possible. &nbsp;It enables thousands of different musical controllers, editors and virtual instruments to understand each other. &nbsp;It allows each of these to do&nbsp;<em>one job<\/em>&nbsp;as part of a complete setup. &nbsp;Needing to do only one job means we can focus on doing that job well.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ksr-ugc.imgix.net\/assets\/030\/913\/689\/e3ae1cc3d878ad7d0e3e49856775b067_original.png?ixlib=rb-4.0.2&amp;w=700&amp;fit=max&amp;v=1602109033&amp;gif-q=50&amp;lossless=true&amp;s=e896f81611d03c701f1bf7371839fa5b\" alt=\"\"\/><figcaption>The makeup of Note On, one of the most common messages in MIDI 2.0 and MIDI 1.0.<\/figcaption><\/figure>\n\n\n\n<p>The most familiar shape for a MIDI controller is a piano. &nbsp;<a href=\"https:\/\/imitone.com\/discover-midi\/#Examples\" target=\"_blank\" rel=\"noreferrer noopener\">See our Piano Keyboard example<\/a>&nbsp;for a look at the MIDI messages you can send with one of these. &nbsp;The original MIDI standard tends to think in terms of piano controllers while making some provisions for other types.<\/p>\n\n\n\n<p>imitone is a relatively uncommon type of controller, converting voice to MIDI. &nbsp;<a href=\"https:\/\/imitone.com\/discover-midi\/#Examples\" target=\"_blank\" rel=\"noreferrer noopener\">See our imitone example<\/a>&nbsp;for a look at some of the messages we send as you sing.<\/p>\n\n\n\n<p>\u2014<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"h:what-does-midi-20-so\">What does MIDI 2.0 solve?<\/h1>\n\n\n\n<p>MIDI is&#8230; &nbsp;old. &nbsp;It dates back to 1983, not long after the first personal computers. &nbsp;Because of its age, flexibility and simplicity, it&#8217;s one of the most widely-supported standards in computing. &nbsp;If you have a laptop, or a tablet, or a cell phone, it probably has MIDI in it.<\/p>\n\n\n\n<p>But, again, MIDI is&#8230;&nbsp;<em>old<\/em>. &nbsp;MIDI 1.0 was originally designed for&nbsp;<em>very&nbsp;<\/em>slow connections and processors, and as a result it has many limitations. &nbsp;These include&#8230;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>&nbsp;<strong>Messages&nbsp;<\/strong>\u2014 just six voice messages and a few dozen standard controllers.<\/li><li>&nbsp;<strong>Resolution&nbsp;<\/strong>\u2014 as few as 127 steps between minimum and maximum.<\/li><li>&nbsp;<strong>Channels<\/strong>&nbsp;\u2014 a limit of 16; these are used to control different instruments at the same time.<\/li><li>&nbsp;<strong>Tuning<\/strong>&nbsp;\u2014 it&#8217;s difficult to use MIDI 1.0 for non-Western or microtonal scales.<\/li><\/ul>\n\n\n\n<p>But a bigger problem lurks behind these. &nbsp;Over the decades, you see, there&nbsp;<em>have<\/em>&nbsp;been updates to address most of these problems. &nbsp;The MIDI Manufacturers&#8217; Association has developed new messages to improve resolution and timing, control individual notes, set up custom scales and tuning, and do all sorts of other exciting things&#8230; &nbsp;But at the end of the day,&nbsp;<a href=\"http:\/\/imitone.com\/discover-midi\/#Everything'sOptional\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Everything&#8217;s Optional<\/strong><\/a>&nbsp;in MIDI, and there&#8217;s no way for a device to know that these new messages will be understood.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ksr-ugc.imgix.net\/assets\/031\/007\/971\/6f46be4f090b12524b94e971026c583c_original.png?ixlib=rb-4.0.2&amp;w=700&amp;fit=max&amp;v=1602712787&amp;gif-q=50&amp;lossless=true&amp;s=1421c826504d557741cd7fa587662000\" alt=\"\"\/><figcaption>MIDI&#8217;s dizzying array of Control Change messages \u2014 these don&#8217;t always follow the standard.<\/figcaption><\/figure>\n\n\n\n<p>As a MIDI Manufacturer, I could choose to send these exciting new messages, but they might not work. &nbsp;If something doesn&#8217;t work, and there&#8217;s no way to tell our users&nbsp;<em>why<\/em>&nbsp;it doesn&#8217;t work, we create a situation which is confusing and makes our software look broken. &nbsp;The most practical solution so far has been to add&nbsp;<em>matching stickers<\/em>&nbsp;to devices that support a collections of features \u2014 such as General MIDI or MPE.<\/p>\n\n\n\n<p>To play it safe, controller-makers stick to sending the most common MIDI messages. &nbsp;As we mentioned before, MIDI is a bit piano-shaped, and the safest messages tend to be the ones a piano keyboard might send. &nbsp;So, by default, imitone needs act like a piano \u2014 which makes it&nbsp;<em>much&nbsp;<\/em>less expressive. &nbsp;We have a few settings that make imitone follow your voice more naturally, but we need to add a warning: the messages those use won&#8217;t always work!<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ksr-ugc.imgix.net\/assets\/031\/008\/410\/c4460cbb0c8853d4c3c36221eff4fd01_original.png?ixlib=rb-4.0.2&amp;w=700&amp;fit=max&amp;v=1602715280&amp;gif-q=50&amp;lossless=true&amp;s=f1674e69f31635ddd8a3da8fda2746fe\" alt=\"\"\/><figcaption>* this might do absolutely nothing.<\/figcaption><\/figure>\n\n\n\n<p>There are&nbsp;<em>dozens<\/em>&nbsp;of MIDI features we would love to use, but each one requires another setting and another warning \u2014 and we want to make software that&nbsp;<em>just works<\/em>. &nbsp;Some of these messages have been around for decades and&nbsp;<em>still&nbsp;<\/em>aren&#8217;t a safe bet. &nbsp;This uncertainty limits what imitone can do, and many other controllers are in the same boat. &nbsp;Controllers avoid sending rare messages, and instruments don&#8217;t bother to recognize messages controllers never send.<\/p>\n\n\n\n<p>MIDI is a language with a rich vocabulary, but in practice we&#8217;re limited to its simplest words. &nbsp;And so, for many years, it hasn&#8217;t been able to grow.<\/p>\n\n\n\n<p>\u2014<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"h:why-is-imitone-team\">Why is imitone team involved?<\/h1>\n\n\n\n<p>MIDI 1.0 has been holding us back, but that wasn&#8217;t always obvious. &nbsp;It&#8217;s like a landscape, well-explored and slow to change&#8230; &nbsp;Back in 2014, its problems were obstacles to work around. &nbsp;They towered like glaciers; I had no idea these things could be moved.<\/p>\n\n\n\n<p>Attending NAMM in 2016, I happened to explore the deepest, darkest corner of the sprawling convention center where I found the booth of the MIDI Manufacturers Association (MMA), which is responsible for development of MIDI standards. &nbsp;I met the Association&#8217;s now-retired president, Tom White, and pestered him with question after question about how I could use &#8220;rare&#8221; MIDI messages without creating compatibility problems.<\/p>\n\n\n\n<p>Our conversation continued by E-mail after the convention. &nbsp;Time and time again, Tom would encourage me to join and help to&nbsp;<em>change&nbsp;<\/em>MIDI, rather than working around it \u2014 eventually, I did. &nbsp;I would discover a long history of visions for the &#8220;next generation&#8221; of MIDI, and find myself swept up in a series of controversial new ideas.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ksr-ugc.imgix.net\/assets\/030\/914\/382\/5e4b14ac77db9cff9db762d24345a80a_original.png?ixlib=rb-4.0.2&amp;w=700&amp;fit=max&amp;v=1602113096&amp;gif-q=50&amp;lossless=true&amp;s=c0b926c42a6c5dd29b5ded5c6b1fdb07\" alt=\"\"\/><figcaption>Evan celebrates the ratification of MIDI 2.0 with MMA and AMEI members representing Kurzweil, Roland, Yamaha, Bome Software, Artiphon, Native Instruments and other companies.<\/figcaption><\/figure>\n\n\n\n<p>The key design was presented by Mike Kent in 2017: &nbsp;MIDI 2.0 would rely on a two-way connection, would be designed for extreme compatibility with MIDI 1.0, and its &#8220;killer feature&#8221; would be the ability for a controller (like imitone) to learn about and adapt to the receiving instrument. &nbsp;This new system is called&nbsp;<a href=\"https:\/\/imitone.com\/discover-midi\/#MIDI-CI\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>MIDI-CI<\/strong><\/a>, and it&#8217;s designed to be completely automatic.<\/p>\n\n\n\n<p>Over the three years to follow I learned about the depths and history of MIDI as the Association debated the next evolution of a 40-year standard. &nbsp;I participated obsessively \u2014 advocating for alternative controllers like imitone, non-Western tuning, and futuristic sensor technologies. &nbsp;I played a role in developing areas of the standard like Pitch, Per-Note Control, Profiles and Property Exchange.<\/p>\n\n\n\n<p>My participation came at a cost: &nbsp;Aside from the cost of dues and participating in the yearly convention, I&#8217;ve invested an excessive amount of time into standards work, week after weak, over most of the last four years. &nbsp;This has measurably slowed the development of our software. &nbsp;In particular, it prevented me from doing any serious research and development on imitone&#8217;s algorithm until I took a hiatus in 2019. &nbsp;As of March, I&#8217;m participating again and leading the charge on a major project.<\/p>\n\n\n\n<p>\u2014<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"h:was-it-worth-it\">Was it worth it?<\/h1>\n\n\n\n<p>Honestly? &nbsp;I can&#8217;t be sure. &nbsp;I don&#8217;t think I&#8217;ll know for another few years, as music makers decide whether to adopt the standard. &nbsp;I think it&#8217;s going to change everything \u2014 but it takes time to move a glacier.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/ksr-ugc.imgix.net\/assets\/031\/008\/710\/0605202529d2cc751b752064ce62bf03_original.jpeg?ixlib=rb-4.0.2&amp;w=700&amp;fit=max&amp;v=1602717181&amp;gif-q=50&amp;q=92&amp;s=91c588d84661ac44a76af3ab67e2c9db\" alt=\"\"\/><figcaption>Will the ice break? Photo by Luca Galuzzi, 2005.<\/figcaption><\/figure>\n\n\n\n<p>It&#8217;s strange \u2014 even absurd \u2014 for a company of our size to be doing this work. &nbsp;We are the smallest company working on MIDI 2.0, and one of the youngest, but somehow one of the most active. &nbsp;We are company with&nbsp;<em>no<\/em>&nbsp;outside investors whose only product is in beta. &nbsp;My obsessive nature is certainly a factor \u2014 MIDI is full of deep, interesting problems to solve. &nbsp;That might be the only explanation for putting so much time and labor into something so far-flung.<\/p>\n\n\n\n<p>At the same time, our goals have been far-flung since the beginning. &nbsp;As a voice-music controller, we hope to rise above a decades-long history of failures. &nbsp;<a href=\"https:\/\/www.kickstarter.com\/projects\/evanbalster\/imitone-mind-to-melody\/posts\/2391339\" target=\"_blank\" rel=\"noreferrer noopener\">In an earlier post<\/a>&nbsp;I described a landscape that others made remarkable efforts to cross, before perishing&#8230; &nbsp;Working on MIDI is an opportunity to change the landscape itself.<\/p>\n\n\n\n<p>It has been expensive, stressful, mind-numbing at times&#8230; &nbsp;But I think it might be the key to this promise I&#8217;ve been chasing all these years.<\/p>\n\n\n\n<p>We&#8217;ll see in time.<\/p>\n\n\n\n<p>\u2014 Evan<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post was transcribed from the imitone kickstarter. Click here to view the original posting. For some time now, I&#8217;ve been hinting at our involvement in MIDI 2.0, and teasing an update about it. &nbsp;To be honest, though, it&#8217;s a bit of a monster. &nbsp;MIDI is big, and for those who aren&#8217;t already familiar with [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"https:\/\/imitone.com\/blog\/index.php\/2020\/10\/15\/inventing-midi-2-0\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":103,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-73","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devlog"],"_links":{"self":[{"href":"https:\/\/imitone.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/73","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/imitone.com\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/imitone.com\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/imitone.com\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/imitone.com\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=73"}],"version-history":[{"count":2,"href":"https:\/\/imitone.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/73\/revisions"}],"predecessor-version":[{"id":100,"href":"https:\/\/imitone.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/73\/revisions\/100"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imitone.com\/blog\/index.php\/wp-json\/wp\/v2\/media\/103"}],"wp:attachment":[{"href":"https:\/\/imitone.com\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=73"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imitone.com\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=73"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imitone.com\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=73"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}