{"id":1149,"date":"2021-03-03T17:06:21","date_gmt":"2021-03-03T17:06:21","guid":{"rendered":"https:\/\/ifmbanm.com\/blog\/?p=1149"},"modified":"2021-03-03T17:40:14","modified_gmt":"2021-03-03T17:40:14","slug":"microsoft-build-the-language-i-want-to-try-for-music","status":"publish","type":"post","link":"https:\/\/ifmbanm.com\/blog\/?p=1149","title":{"rendered":"Microsoft build the language I want to try for music"},"content":{"rendered":"<p>Overview of the Power Fx language<br \/>\n\u2014 Read on <a href=\"https:\/\/docs.microsoft.com\/en-us\/power-platform\/power-fx\/overview\">docs.microsoft.com\/en-us\/power-platform\/power-fx\/overview<\/a><\/p>\n<p>Years ago, I thought about a language I&#8217;d like to build for music based on some ideas I&#8217;d had using HMSL&#8217;s &#8220;Action Table&#8221;.\u00a0 Things in the language would be collections of properties, nothing more, and the values of any of the properties might depend on other properties.\u00a0 Properties might include things like &#8220;density&#8221;, or &#8220;scariness&#8221;, or &#8220;lightness&#8221;.\u00a0 Some properties might be objective things like &#8220;current time&#8221;, &#8220;last MIDI note played&#8221;, &#8220;number of people in the room&#8221;.\u00a0 A piece would be a network of bundles of properties.<\/p>\n<p>It occurs to me that this is a bit like the mental model of a patchable synthesizer: various circuits are entities with collections of properties, properties are patched into other properties, the whole thing is &#8220;live&#8221; all the time.\u00a0 This is the pd\/Max idea without the GUI elements.<\/p>\n<p>Power FX (weird name) is a declarative, interpreted language that implements this idea.\u00a0 They have incorporated the standard GUI widgets, database and other business-useful entities.\u00a0 I wonder how hard it would be to add things that operate on physical musical entities, like MIDI, OSC, &#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview of the Power Fx language \u2014 Read on docs.microsoft.com\/en-us\/power-platform\/power-fx\/overview Years ago, I thought about a language I&#8217;d like to build for music based on some ideas I&#8217;d had using HMSL&#8217;s &#8220;Action Table&#8221;.\u00a0 Things in the language would be collections of properties, nothing more, and the values of any of the properties might depend on [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[1],"tags":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/ifmbanm.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1149"}],"collection":[{"href":"https:\/\/ifmbanm.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ifmbanm.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ifmbanm.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ifmbanm.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1149"}],"version-history":[{"count":4,"href":"https:\/\/ifmbanm.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1149\/revisions"}],"predecessor-version":[{"id":1154,"href":"https:\/\/ifmbanm.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1149\/revisions\/1154"}],"wp:attachment":[{"href":"https:\/\/ifmbanm.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ifmbanm.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ifmbanm.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}