{
    "componentChunkName": "component---src-templates-story-js",
    "path": "/2013/10/algoraving-dancing-to-coding",
    "result": {"data":{"storiesJson":{"id":"algoraving-dancing-to-coding","title":"Algoraving: Dancing to Live Coding","body":" <script>dataLayer=window.dataLayer||[];dataLayer.push({rbmaSite:'daily'})</script> <noscript><iframe src=\"//qm.redbullmusicacademy.com/ns.html?id=GTM-5RLQKC\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript> <noscript><iframe src=\"//qm.redbullmusicacademy.com/ns.html?id=GTM-5XHDS9\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript> <noscript><iframe src=\"//qm.redbullmusicacademy.com/ns.html?id=GTM-N63G8F4\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript> <script src=\"scripts/standalone/analytics.js?__inline=true\"></script> <!-- ngIf: color && backgroundColor --> <div class=\"spinner\" id=\"js-spinner\"> <div class=\"box\"></div> <div class=\"box\"></div> <div class=\"box\"></div> <div class=\"box\"></div> <div class=\"box\"></div> <div class=\"box\"></div> <div class=\"box\"></div> <div class=\"box\"></div> <div class=\"box\"></div> <div class=\"box\"></div> <div class=\"box\"></div> <div class=\"box\"></div> <div class=\"box\"></div> <div class=\"box\"></div> <div class=\"box\"></div> <div class=\"box\"></div> </div> <!--[if lt IE 7]>\n      <p class=\"browsehappy\">You are using an <strong>outdated</strong> browser. Please <a href=\"https://browsehappy.com/\">upgrade your browser</a> to improve your experience.</p>\n    <![endif]--> <!-- uiView:  --><div ui-view=\"\" autoscroll=\"true\" ng-class=\"(doc) ? 'has-page-type-'+doc.type.toLowerCase() : ''\" class=\"page-wrap text-color-primary bg-color-secondary pr ng-scope has-page-type-story\"> <div class=\"everything-after-nav ng-scope\" id=\"js-everything-after-nav\"> <div dynamic=\"html\" class=\"page-container\" rbma-preview=\"\"><div rbma-story-page=\"\" doc=\"doc\" data=\"pageData\" class=\"ng-scope ng-isolate-scope\"><article class=\"page\"> <header elementary=\"\" class=\"mod header header--story\" data-role=\"header\" data-minwidth=\"320 420 576 768 1024 1280 1420\"> <h1 class=\"headline-main ng-binding\">Algoraving: Dancing to Live Coding</h1> <!-- ngIf: doc.subtitle --><h2 class=\"headline-secondary ng-binding ng-scope\" ng-if=\"doc.subtitle\">Joe Muggs goes into the world of “algoraving,” a scene where you can literally see the music being written before your eyes.</h2><!-- end ngIf: doc.subtitle --> </header> <div class=\"body-wrap\"> <div rbma-blocks=\"doc.body\" blocks-name=\"'body'\" class=\"body text-layout--center ng-isolate-scope\"><div rbma-image-block=\"\" id=\"body-0\" block=\"block\" class=\"block block-image alignment-center ng-scope ng-isolate-scope\" ng-class=\"paramsClasses\"><figure class=\"figure\"> <img rbma-image=\"block.image\" class=\"figure__media ng-isolate-scope\" src=\"https://media.redbullmusicacademy.com/assets/601/623/274/algorave-title.jpg?auto=format&amp;w=700\"> <!-- ngIf: block.credit || block.caption --> </figure></div><div rbma-text-block=\"\" id=\"body-1\" block=\"block\" class=\"block block-text style-normal ng-scope ng-isolate-scope\" ng-class=\"paramsClasses\"><div bind-compiled-html=\"block.text | markdown\"><p class=\"ng-scope\">I've turned off the main street up a canal-side road in Hackney, and I'm trying to locate building numbers to find my destination, although the place where I think I'm going mostly seems to be walls and spiked fences of industrial units. Finally I work out that my destination is behind an electric gate, and peering around I see a scrap of paper, with \"ALGORAVE – if gate is closed, call\" and a mobile number. Realising the gate is open a crack, I push through it, and find myself in a unit of lockups and workshops. I spot a punk looking couple coming down a staircase, and ask, \"Is this where the er...?\" They point up, so I trot up nine flights until I emerge into a small crowd milling about on a walkway and hear an electronic thrum. This rave feels like the real deal.</p>\n\n<p class=\"ng-scope\">Inside the workshop unit the people are gathered around, though, it's not your usual party venue. In a corner&nbsp;<a href=\"https://ryanjordan.org/\" target=\"_blank\">Ryan Jordan</a> – who, it transpires, lives in the back office section of the unit – is handing out beers, and there is a big projection screen at the back showing abstract patterns, but there's certainly nothing resembling a DJ booth. Instead, at the back there are tables upon tables filled mostly with computers and mixing desks, and hanging up along great lengths of shelves are endless neatly coiled cables and boxes suggesting that this is a place where electronics is taken very seriously.</p></div></div><div rbma-image-block=\"\" id=\"body-2\" block=\"block\" class=\"block block-image alignment-center ng-scope ng-isolate-scope\" ng-class=\"paramsClasses\"><figure class=\"figure\"> <img rbma-image=\"block.image\" class=\"figure__media ng-isolate-scope\" src=\"https://media.redbullmusicacademy.com/assets/601/956/913/algorave-live01.jpg?auto=format&amp;w=700\"> <!-- ngIf: block.credit || block.caption --><figcaption class=\"figure__caption ng-scope\" ng-if=\"block.credit || block.caption\"> <!-- ngIf: block.caption --><span class=\"figure__caption__text ng-scope\" ng-if=\"block.caption\" bind-compiled-html=\"block.caption|inlinemarkdown\"><span class=\"ng-scope\">Slub</span></span><!-- end ngIf: block.caption --> <!-- ngIf: block.credit --><span class=\"figure__caption__credit ng-scope\" ng-if=\"block.credit\" bind-compiled-html=\"block.credit|inlinemarkdown\"><span class=\"ng-scope\">Kassen Oud</span></span><!-- end ngIf: block.credit --> </figcaption><!-- end ngIf: block.credit || block.caption --> </figure></div><div rbma-text-block=\"\" id=\"body-3\" block=\"block\" class=\"block block-text style-normal ng-scope ng-isolate-scope\" ng-class=\"paramsClasses\"><div bind-compiled-html=\"block.text | markdown\"><p class=\"ng-scope\">Then the music starts. Two guys are sat at laptops, and suddenly the projection screen fills with what they can see on their screens: simple, short lines of code, full of digits and brackets, to which they are adding. They type, delete, copy and paste blocks – and as each new line appears, an element is added to the music we hear. D0ct0r0, as they are named, build an elegantly-paced, spindly, kind of Drexciya-sounding electro beat with floating chords, then twist and mutate it. Like the best minimalist dance music, it takes its sweet time, but eventually reaches the point where the tiniest shifts can have dramatic effect.</p></div></div><div rbma-quote-block=\"\" id=\"body-4\" block=\"block\" class=\"block block-quote alignment-left size-medium ng-scope ng-isolate-scope\" ng-class=\"paramsClasses\"><blockquote> <div ng-bind-html=\"block.text | markdown\" class=\"ng-binding\"><p>They type, delete, copy and paste blocks – and as each new line appears, an element is added to the music we hear.</p></div> <!-- ngIf: block.source --> </blockquote></div><div rbma-text-block=\"\" id=\"body-5\" block=\"block\" class=\"block block-text style-normal ng-scope ng-isolate-scope\" ng-class=\"paramsClasses\"><div bind-compiled-html=\"block.text | markdown\"><p class=\"ng-scope\">As they go, I'm drawn into the code on the screen: a line deleted here will remove all the snare drums, a line added there adds echo to everything, a \"4\" deleted and replaced by a \"16\" turns a simple synth line into a dramatically rippling arpeggio. What at first might seem incredibly dry actually gives us a far more direct connection to what's happening in the music than the kind of live electronic performance we're used to, where it's anyone's guess what the performer and their machines are actually doing. This is the world of \"live coding.\"</p></div></div><div rbma-video-block=\"\" id=\"body-6\" block=\"block\" class=\"block block-video alignment-right ng-scope ng-isolate-scope\" ng-class=\"paramsClasses\"><!-- ngIf: videoID && !withOptions --><div class=\"ng-scope\" ng-if=\"videoID &amp;&amp; !withOptions\"> <!-- ngIf: !showPoster || !block.poster --><div ng-if=\"!showPoster || !block.poster\" ng-bind-html=\"videoEmbed\" class=\"video-player ng-binding ng-scope\"><a href=\"https://www.youtube.com/watch?v=H5IceNlC69w\">Watch on YouTube</a></div><!-- end ngIf: !showPoster || !block.poster --> <div ng-init=\"showPoster = true\" ng-click=\"showPoster=false\"> <!-- ngIf: showPoster && block.poster --> </div> </div><!-- end ngIf: videoID && !withOptions --> <div class=\"figure__caption\" bind-compiled-html=\"block.video.caption|inlinemarkdown\"><span class=\"ng-scope\">Matthew Yee-King and Finn Peters livecoding SuperCollider and alto flute</span></div> <!-- ngIf: withOptions --></div><div rbma-text-block=\"\" id=\"body-7\" block=\"block\" class=\"block block-text style-normal ng-scope ng-isolate-scope\" ng-class=\"paramsClasses\"><div bind-compiled-html=\"block.text | markdown\"><p class=\"ng-scope\">As the evening progresses, the performers will go through various permutations of techno, trance, dub, more abstract electronics and – as Ryan Jordan rounds up proceedings in the small hours – blistering noise. You probably won't be surprised that it's not the most dressed-up spangly-funtime crowd I've ever seen, nor is it the destination oblivion squat rave it superficially resembled on the way in. But there is dancing, and it is a welcoming, vibey and downright inclusive environment with an interesting mix of people from around the world, a lot of good conversation and obvious passion for music and desire to share and explain the aesthetic to be found. It feels like something new is happening here, like a very real thing is being built around us with each performance and each conversation.</p>\n\n<p class=\"ng-scope\">To try and get more of a grip on the appeal of live coding and Algoraving, I spoke to Alex McLean, one of the organisers of the Algorave, Dr Matt Yee King who performed there and also teaches the influential computer music course at Goldsmiths College, and Matt's colleague Dr Mick Grierson, and asked them what performing like this is like for the musicians.</p>\n\n<p class=\"text-speaker ng-scope\">Alex McLean</p>\n\n<p class=\"ng-scope\">I'd say it feels intense, but disembodied. With the right live coding environment and after some practice it is easy to slip into a state of flow, when you're just totally wrapped up in the code. But that also means you're hardly engaging with the outside world at all. This is why Algorave works so well for me as a performer, I can see and respond to people dancing right in front of me, feed off the energy while shaping the performance. I'm still lost in the code but the experience is grounded in movement.</p></div></div><div rbma-quote-block=\"\" id=\"body-8\" block=\"block\" class=\"block block-quote alignment-left size-medium ng-scope ng-isolate-scope\" ng-class=\"paramsClasses\"><blockquote> <div ng-bind-html=\"block.text | markdown\" class=\"ng-binding\"><p>In a world where user-centred software packages make innovative music making utterly dissatisfying, it's good to take control of the machine.</p></div> <!-- ngIf: block.source --><footer class=\"block-quote__source ng-scope\" ng-if=\"block.source\"> <cite class=\"ng-binding\">Dr Mick Grierson</cite> </footer><!-- end ngIf: block.source --> </blockquote></div><div rbma-text-block=\"\" id=\"body-9\" block=\"block\" class=\"block block-text style-normal ng-scope ng-isolate-scope\" ng-class=\"paramsClasses\"><div bind-compiled-html=\"block.text | markdown\"><p class=\"text-speaker ng-scope\">Dr Mick Grierson</p>\n\n<p class=\"ng-scope\">I'm not a live coder myself, although many of the UK based live coders are very good friends of mine, and there is a close relationship between what I do and what they do, especially around electronic audio-visual improvisation. It's much more fun than improvising with real instruments in many ways, because you end up using instruments you have complete control over, and have designed and built yourself. In a world where user-centred software packages make innovative music making utterly dissatisfying, it's good to take control of the machine and know that the audience are experiencing precisely what you intended.</p>\n\n<p class=\"text-speaker ng-scope\">Dr Matt Yee King</p>\n\n<p class=\"ng-scope\">I've performed in a variety of roles with a variety of setups from playing live drums, electronic drums, electronic drums triggering sounds, MIDI controllers controlling 'patches,' synthesizer jams and so on. I guess what one aims to do with an improvisational live electronics rig is to be able to freely express, explore, respond, etc. Live coding adds an additional dimension to that in that you can change the behaviour of your rig during the performance, or even build your rig from scratch and express things that develop over time. This is not for free though; there is a definite lag between an idea and its expression as working code. It'll take a while to get a decent set of sounds running, but once the program is complex enough, things start to sound more interesting and small code changes result in large sonic changes.</p></div></div><div rbma-image-block=\"\" id=\"body-10\" block=\"block\" class=\"block block-image alignment-center ng-scope ng-isolate-scope\" ng-class=\"paramsClasses\"><figure class=\"figure\"> <img rbma-image=\"block.image\" class=\"figure__media ng-isolate-scope\" src=\"https://media.redbullmusicacademy.com/assets/601/829/791/algorave-live02.jpg?auto=format&amp;w=700\"> <!-- ngIf: block.credit || block.caption --><figcaption class=\"figure__caption ng-scope\" ng-if=\"block.credit || block.caption\"> <!-- ngIf: block.caption --><span class=\"figure__caption__text ng-scope\" ng-if=\"block.caption\" bind-compiled-html=\"block.caption|inlinemarkdown\"><span class=\"ng-scope\">Shelly Knotts, Holger Ballweg, Alexandra Cardenas</span></span><!-- end ngIf: block.caption --> <!-- ngIf: block.credit --><span class=\"figure__caption__credit ng-scope\" ng-if=\"block.credit\" bind-compiled-html=\"block.credit|inlinemarkdown\"><span class=\"ng-scope\">Dave Griffiths</span></span><!-- end ngIf: block.credit --> </figcaption><!-- end ngIf: block.credit || block.caption --> </figure></div><div rbma-text-block=\"\" id=\"body-11\" block=\"block\" class=\"block block-text style-normal ng-scope ng-isolate-scope\" ng-class=\"paramsClasses\"><div bind-compiled-html=\"block.text | markdown\"><p class=\"text-question ng-scope\">But why, I wondered, should the outside world care?  Isn't this just another geeky branch of \"IDM\"?</p>\n\n<p class=\"text-speaker ng-scope\">Alex McLean</p>\n\n<p class=\"ng-scope\">To a large extent code is now the fabric of our society, and we need to question who makes it and has control over it. I think live coding has a small contribution to make in increasing the awareness of what code does for us and how it constrains what we do. And that applies on the musical level: every musical interface is essentially a unique musical language of sorts, but for me choice of language has to be more than a consumer choice over which music technology I buy – I want my own musical language to develop in its own direction, and not within the limits set by whatever plugins I can find.</p></div></div><div rbma-quote-block=\"\" id=\"body-12\" block=\"block\" class=\"block block-quote alignment-left size-medium ng-scope ng-isolate-scope\" ng-class=\"paramsClasses\"><blockquote> <div ng-bind-html=\"block.text | markdown\" class=\"ng-binding\"><p>Live coding is a kind of punk within the academic computer music sphere.</p></div> <!-- ngIf: block.source --><footer class=\"block-quote__source ng-scope\" ng-if=\"block.source\"> <cite class=\"ng-binding\">Dr Matt Yee King</cite> </footer><!-- end ngIf: block.source --> </blockquote></div><div rbma-text-block=\"\" id=\"body-13\" block=\"block\" class=\"block block-text style-normal ng-scope ng-isolate-scope\" ng-class=\"paramsClasses\"><div bind-compiled-html=\"block.text | markdown\"><p class=\"text-speaker ng-scope\">Dr Matt Yee King</p>\n\n<p class=\"ng-scope\">Well, it combines something very academic, and a connection to history, to the immediacy that people of my generation got from rave culture. I got into electronic music through rave, techno and so on, then started going to academic computer music conferences and found there was a whole other story around electronic music – complex synthesis, electroacoustic music, 20th century avant-garde music. Live coding combines the two quite effectively and is a kind of punk within the academic computer music sphere.</p>\n\n<p class=\"text-speaker ng-scope\">Dr Mick Grierson</p>\n\n<p class=\"ng-scope\">The truth is that quite a lot of musicians, sound people, even phone app developers use software written by people in the scene. I recently found out that one of Björk's producers uses a piece of software that was developed using my open source DSP libraries, for example – so what we're all doing has a direct effect on broader culture. The notion that what performers who make software are doing is insular is really just part of the illusion that software comes out of a computer. It doesn't. It’s created by a culture of human beings, and these human beings are musicians and performers. I'm not interested in making work which is accessible, and I don't need to be, because what I'm doing is making stuff that is useful for other people, testing the crap out of it through performing, then making it easy for them to use it too. The idea that music software is made by spotty kids who can't play guitar is probably just a rumour put about by guitarists who can't program computers. I was a jazz guitarist who got bored of the sound of my guitar... But doing this, we can put ideas about how algorithms are affecting our lives right into nightclubs while people are trying to get high. This is a good idea!\n<br><br>\n<em>Header image: </em><em>Christian Gallagher. For upcoming algoraving events, check out <a href=\"https://algorave.com/upcoming-parties/\" target=\"_blank\">algorave.com</a>.<br>\n</em></p></div></div></div> <div class=\"body text-layout--center\"> <div class=\"meta meta--story mw-l is-centered--h\"> <div class=\"fl pr-l\"></div> <!-- ngIf: doc.firstPublished || doc.authors.length --><p class=\"oh pt-xs ng-scope\" ng-if=\"doc.firstPublished || doc.authors.length\"> <!-- ngIf: doc.authors.length --><span class=\"meta__author ng-scope\" ng-if=\"doc.authors.length\">By <author-link authors=\"doc.authors\" class=\"ng-isolate-scope\"><!-- ngRepeat: author in authors --><span ng-repeat=\"author in authors\" class=\"ng-scope\"><!-- ngIf: authors.length > 2 && !$first --> <!-- ngIf: authors.length > 1 && $last --> <!-- ngIf: author.type == 'document' --><a class=\"underlined ng-scope ng-isolate-scope\" ng-if=\"author.type == 'document'\" rbma-lazy-title=\"\" slug=\"author.document.typeSlug.split(':')[1]\" pagetype=\"'author'\" href=\"/author/joe-muggs\">Joe Muggs</a><!-- end ngIf: author.type == 'document' --><!-- ngIf: author.type == 'name' --></span><!-- end ngRepeat: author in authors --></author-link></span><!-- end ngIf: doc.authors.length --> <!-- ngIf: doc.firstPublished --><span class=\"meta__date ng-binding ng-scope\" ng-if=\"doc.firstPublished\"> <!-- ngIf: doc.authors.length --><span ng-if=\"doc.authors.length\" class=\"ng-scope\">on </span><!-- end ngIf: doc.authors.length --> October 14, 2013 </span><!-- end ngIf: doc.firstPublished --> </p><!-- end ngIf: doc.firstPublished || doc.authors.length --> </div> </div> </div> </article> <structured-story-data><div ng-bind-html=\"trustedHtml\" class=\"ng-binding\"><script type=\"application/ld+json\">\n  {\n    \"@context\": \"https://schema.org\",\n    \"@type\": \"Article\",\n    \"headline\": \"Algoraving: Dancing to Live Coding | Red Bull Music Academy Daily\",\n    \"image\": \"https://media.redbullmusicacademy.com/assets/601/623/274/algorave-title.jpg?auto=format&w=800\",\n    \"datePublished\": \"2013-10-14T07:00:00Z\",\n    \"description\": \"Joe Muggs goes into the world of “algoraving,” a scene where you can literally see the music being written before your eyes.\"\n  }\n  </script></div></structured-story-data> </div></div>  <!-- ngIf: isPreview --> </div> <!-- ngIf: doc.additionalMarkup --></div> <notification><!-- ngIf: !waitingForScroll && !notification.dismissed && notification.data.showNotification --> <!-- ngIf: notification.sitsInline --></notification> <!--[if lt IE 9]>\n    <script src=\"scripts/oldieshim.16d1f762019.js\"></script>\n    <![endif]--> <script src=\"scripts/\"></script> <script src=\"scripts/\"></script> <script src=\"undefined?forceLang=en&amp;linkColor=999&amp;bgColor=000\"></script>  ","slug":"/2013/10/algoraving-dancing-to-coding","metaImage":"601/623/274/algorave-title.jpg","description":"Joe Muggs goes into the world of “algoraving,” a scene where you can literally see the music being written before your eyes.","relatedDocuments":[{"title":"Industry Rule #4084: Peaking Lights","teaserTitle":null,"teaserSubtitle":"The experimental dub duo offer some of the lessons they have learned along the way.","teaserImage":{"id":"601/903/183/industry-rule-peaking-lights-title.jpg"},"slug":["industry-rule-peaking-lights"],"date":"2013-05-30T06:00:00Z","type":"story","firstPublished":"2013-05-30T06:00:00Z"},{"title":"Funk Archaeology: Bassist Robert Rozelle, A True Unsung Hero","teaserTitle":null,"teaserSubtitle":"Our resident cratedigger pays tribute to the extraordinary bass player Robert Rozelle.","teaserImage":{"id":"601/6/563/funk-arch-robert-rozelle-title.jpg"},"slug":["funk-archaeology-robert-rozelle"],"date":"2014-02-10T15:00:00Z","type":"story","firstPublished":"2014-02-10T15:00:00Z"}],"data":{"videos":[{"schema":"video","video":{"url":"https://www.youtube.com/watch?v=H5IceNlC69w","service":"youtube","id":"H5IceNlC69w","caption":"Matthew Yee-King and Finn Peters livecoding SuperCollider and alto flute"},"poster":null,"blockN":6}],"transcripts":null,"video":null},"pageStyle":{"primaryTypeface":null,"secondaryTypeface":null,"bodyTypeface":null,"primaryColor":null,"bodyColor":null,"secondaryColor":null}}},"pageContext":{"pageTitle":"Algoraving: Dancing to Live Coding","slug":"/2013/10/algoraving-dancing-to-coding","id":"algoraving-dancing-to-coding"}},
    "staticQueryHashes": ["1410461468","2116853838","26522286","344901210"]}