{"id":253,"date":"2010-09-25T10:32:00","date_gmt":"2010-09-25T09:32:00","guid":{"rendered":"http:\/\/www.celesteh.com\/blog\/2010\/09\/25\/thor-magnussen-ixi-lang-supercollider\/"},"modified":"2015-06-19T00:23:33","modified_gmt":"2015-06-18T23:23:33","slug":"thor-magnussen-ixi-lang-supercollider","status":"publish","type":"post","link":"https:\/\/www.celesteh.com\/blog\/2010\/09\/25\/thor-magnussen-ixi-lang-supercollider\/","title":{"rendered":"Thor Magnusson: ixi lang: A SuperCollider Parasite for Live Coding"},"content":{"rendered":"<p>Summer project: impromptu client for scserver.  Start the server, the fire up impromptu, which is a live coding environment.  Start it&#8217;s server and tell it to talk to scserver.  It&#8217;s a different way of making music.  To stop a function, you re-define it to make errors.<br \/>\nImpromptu 2.5 is being released in a few days as will Thor&#8217;s library on the ixi website.<br \/>\nNow for the main presentation. He has a logn standing interest in making constrained system, for example, using ixi quarks.  These are very cool.  He has very elaborate guis, modelling predator\/prey relationships to control step sequencers.  His research shows that people enjoy constraints as a way to explore content.<br \/>\nHe&#8217;s showing a video taking the pis out of laptop performances, which is funny.  How to deal with laptop music:  VJing provides visuals.  NIME &#8211; physical interface controllers.  or Live Coding.  Otherwise, it&#8217;s people sitting behind laptops.<br \/>\nixi lang is an interpreted language that can rewrite it&#8217;s own code in real time that has the the power to access sc<br \/>\nIt takes a maximum of 5 seconds of coding to make noise.  Easy for non programmers t use.  Understandable for the audience.  The system has constraints as it has easy features.<br \/>\nAffordances and constraints are two sides of the same coin.  &#8220;Affordance&#8221; is how something is perceived as being usable.<br \/>\ncomposing an instrument has both affordances and constrains.<br \/>\nixi lang live coding window.  There are 3 modes.<\/p>\n<pre>\n\nagent1   -&gt; xylo[1  5  3  2]\n<\/pre>\n<p>spaces are silences, numbers are notes.  instrument is xylophone<\/p>\n<pre>\nscale minor\nagent1   -&gt; xylo[1  5  3  2] + 12\n<\/pre>\n<p>in minor an octave higher.<br \/>\n&#8220;xylo&#8221; is a synthdef name<\/p>\n<pre>\nSynthDef(berlin{ . . . .}).add;\n\n\nscale minor\nagent1   -&gt; berlin[1  5  3  2] + 12\/2\n<\/pre>\n<p>Can add any pbind-ready synthdef.  multiply and divide change speed<\/p>\n<pre>\n\nagent1   -&gt; xylo[1  5  3  2]\nagent1))\n<\/pre>\n<p>increases amplitude of agent1<\/p>\n<h4>percussive mode<\/h4>\n<pre>\nringo -&gt; |t b w b |\n<\/pre>\n<p>can do crazy pattern things<br \/>\nletters correspond to synthdefs, there is a default library<\/p>\n<pre>\nsos -&gt; grill[2 3 5 3 ]\n<\/pre>\n<p>Using pitch shifted samples<\/p>\n<h4>Concrete mode<\/h4>\n<pre>\nss -&gt; nully{ 1  3 4  6 6 7 8 0    }\n<\/pre>\n<p>0 is silence<\/p>\n<h4>tying it together<\/h4>\n<pre>\nrit -&gt; | t  t  t ttt  |\nss -&gt;|ttt t t t     |\nsso -&gt; | t t t t    t   t|^482846\n\n&gt;shift ss 1\n\nshake ss\nup ss\nyoyo ss \ndoze ss\n\nfuture 4:12 &gt;&gt; shake ss\n\ngroup ringo -&gt; rit ss sso\n\nshake ringo\n<\/pre>\n<p>(um, wow.  I think I will try to teach this, if I can get a handle on it fast enough.)<\/p>\n<pre>\nss -&gt; | o   x  o  x|\nxxox -&gt; | osdi f si b b i|!12\n\nxxox &gt;&gt; reverb\n\nmel -&gt; wood[1 5 2 3 ]\nxo -&gt; glass[32 5 35 46 3] +12\n\nxo &gt;&gt; distort &gt;&gt; techno\n\nshake mel\n\nsnapshot -&gt; sn1\n\nsnapshop sn1\n\nfuture 3:4 &gt;&gt; snapshot\n\nscalepush hungarianMinor\n\n\nsuicide 20:5\n<\/pre>\n<p>The suicide function gives it an a percentage chance of crashing every b time<br \/>\nThe satisfaction survey results of users is very high.  Some people found it too rigid and others thought it was too difficult.  Survey feedback is 1% of users.<br \/>\n<a href=\"www.ixi-audio.net\">www.ixi-audio.net<\/a><br \/>\nThis makes live coding faster and understandable.  You can put regular sc code in the ixi lang docs.  good educational tool. can be used by children.  successful experiment for a very high level live coding project.<br \/>\nYou can easily add audio plugins.  The lang is very extendable.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Summer project: impromptu client for scserver. Start the server, the fire up impromptu, which is a live coding environment. Start it&#8217;s server and tell it to talk to scserver. It&#8217;s a different way of making music. To stop a function, you re-define it to make errors. Impromptu 2.5 is being released in a few days &hellip; <a href=\"https:\/\/www.celesteh.com\/blog\/2010\/09\/25\/thor-magnussen-ixi-lang-supercollider\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Thor Magnusson: ixi lang: A SuperCollider Parasite for Live Coding<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[1],"tags":[76,54,64,90],"class_list":["post-253","post","type-post","status-publish","format-standard","hentry","category-uncategorised","tag-celesteh","tag-live-blog","tag-supercollider","tag-symposium"],"_links":{"self":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts\/253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/comments?post=253"}],"version-history":[{"count":1,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts\/253\/revisions"}],"predecessor-version":[{"id":2453,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts\/253\/revisions\/2453"}],"wp:attachment":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/media?parent=253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/categories?post=253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/tags?post=253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}