Get Ready to Rock with Sonic Pi - The Live Coding Music Synth for Everyone • Sam Aaron • GOTO 2018

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

FYI, here's the talk Abstract

Sonic Pi is an environment for live coding music that targets both education and professional musicians. In this demo-heavy talk we’ll cover its history - why it was created, how it evolved and what it can do today. We’ll also take a quick technical nose dive into some of the more interesting linguistic innovations that were necessary to perform live with code. For example, we’ll see how we can rhythmically sync multiple threads, use lexical blocks to close over time, accurately sleep without drifting and deterministically manipulate global state concurrently.

Expect noise!

👍︎︎ 4 👤︎︎ u/goto-con 📅︎︎ Mar 08 2019 🗫︎ replies

This is a super interesting stuff. Thanks OP! I have been thinking about trying my hand at something like this for the past year (I work with a bunch of DJ's). Just gotta find a windows machine now...

👍︎︎ 2 👤︎︎ u/GrowHI 📅︎︎ Mar 08 2019 🗫︎ replies

This is awesome! I just started learning to code, and I love playing around in Ableton. Finally a place where coding gets me more excited, because I gotta honest, some of it is so incredibly droll.

👍︎︎ 2 👤︎︎ u/Remo_Sama 📅︎︎ Mar 09 2019 🗫︎ replies

Great presentation and very interesting project. I’m gonna see if the local teachers know about it.

👍︎︎ 2 👤︎︎ u/JuxtaposeThis 📅︎︎ Mar 09 2019 🗫︎ replies

I've been lightly screwing around with SonicPi and Pico8... then ultimately confusing myself too much between Lua and Ruby. Last I touched it, samples weren't fully implemented yet. This video is amazing! Thanks so much for posting it!

👍︎︎ 2 👤︎︎ u/uberdalum 📅︎︎ Mar 09 2019 🗫︎ replies
Captions
[Music] hi I'm Sam normally when I give these talks I often do a very similar thing so I'm not going to do that today if you want to know more about the background or what I'm going to talk about there's tons of videos on YouTube so I recommend you go and just watch those today I'm not going to spend too much time talking about how and why I've started this project what I'm going to do is just try it because you all programmers right how many of you a programmers brilliance right how many of you play with sonic PI oh that's lovely that's growing every time I give all these talks what I'm going to do this talk is just just dive in that's okay because often when I watch my own videos back it's obviously pretty horrendous to watch your own videos but I always think why have I spent so long talking and before getting to actually the coding so I'm going to spend very little time talking and then spend more time coding is that cool no so this is I'm not finished yet hold on hold on oh wait but that's great if you just remember that for the end I'll give you I'll give you a moment to do this so here we are this is the the website it's got some crazy effects so much speed some some cloud system going on go to here if you want to when you and you enjoy what I'm doing you can you can go to this place download the software it runs at Windows runs at Mac runs on in Raspberry Pi if you have one it's installed by default but I always recommend updating to the latest version of raspbian and also if you're a Linux person it's it's much harder but there isn't there is a way of getting it installed the problem with Linux is there's no Linux is there's Linux and there's lots of different links it and so supporting is an in terribly difficult task and especially with music and audio Linux it's not the most straightforward but if any of you Linux people out there like audio things and like to give me some help I'd love some support so that's to bear in mind but certainly with a macaroons machine you get the simplest way of starting you can read some things you can find out that we use it for the classroom there's we have a community which is great to get involved and talk to and this community is not programmers if there are some programmers but there are educators on there there are artists on there there's musicians on there it's lovely place to actually share your ideas it's super friendly there's no right or wrong questions just get involved in a stand and ask questions and you'll get support from lots different people the people making performance really I've given talks they're sick watch this talk if you want to see the background okay read a book here's some examples but that's boring well it's actually code if you download sonic PI this is what you'll see all right so this is the the editor it's just a text editor has Emacs shortcuts if that's useful to you if not I'm terribly sorry but you need to learn any Mac shortcuts or you don't need to use the shortcuts at all and you get a text editor there's a log to say what it's doing and there's a cues thing which is about events I might not spend too much time talking about this but this is the most exciting part for me going forwards because we're able to deal with real world events and MIDI controllers open sound control messages on the network and internal events as well this is a totally ordered internal event system which has pattern matching and it's kind of like a tuple space but instead of saying get foo you say get through at time t logical time T and that's a really powerful way of deterministically working across threads so that if you have a multi-threaded system and we'll see very quickly how that happens immediately you could actually deterministic and make sure the same code produces the same music and this is a really important goal because if I make some cool music out of code I want to be able to share it with you right and if it's got threads in and those threads have race conditions and the results of those wretched conditions can choose different music that's not cool right I want to be able to make sure the regardless of threads and what they're doing in terms of states that we always get the same results so this is interesting and might have some time to talk about it more but but it couldn't find me afterwards right let's go so the way to get started a sonic pie is that so you just write the word play and make it bigger you choose a number and how loud is that's not particularly low if I tell myself up a bit more brilliant that's awesome so and this is important for schools because the school's the teachers have no time at all and that's that's before they've even got the management sorted out and got the kids to be quiet right so they all that stuff happens and when they've got the kids quiet they have to say their sentence we're just going to excite children to learn how to count what would your sentence be it's hard isn't it really is it open up Eclipse so that's not even Xcode or IntelliJ or any of these things right or Emacs right no so it needs to be something which is interesting and engaging and so having the word play and the number 60 you can immediately make some resorts and it's lovely to see the children's faces as they light up that one simple line of code can actually produce some actual results which are meaningful to them not sorting algorithms not binary arithmetic not functions not test-driven development none of these things making something which has an impact in their life which is meaningful which is not programming right that's the key and music is one of many tools I'm not saying this is the only approach it's this approach I'm taking the cool thing is we've got an example of syntax we can talk about the fact that the mistakes are the default position of programmers because we're always in a state where the code doesn't work that's totally normal because when it does work you're on to the next problem right and and people have no idea about this they think always that programmers are always working correctly we're not so getting to make mistakes having mistakes play and cool we've got with nice ways to say actually did you actually mean this kind of thing so we can hint towards the correct way of working so yes we did mean play lovely and the numbers have a lovely property they can go up and they can go down that's good it's good you sometimes I ask this I ask this to a bunch of Java programmers they didn't know that so I'm pleased that you're you're happy with a be able to do this and and there's a beautiful app murmurs they are an abstraction right so they don't really mean anything until you relate them to the real world right and so lots of things in the real world can go up and can go down like I can jump rope and Crouch or notes themselves have pitch and pitch you can go up or it can go down now let's taste the bass test the base of the system oh yeah let's make this oh yeah this is lovely some schools I go to have the worst sound systems and then you just don't even hear this right so the last time I had a really good result like this was in a cinema you can imagine that and I see there's the same Java programmers there in their comfy seats like this whoa that's awesome right so one line of code having some fun now if introduce options so we can obviously start to modify the sound sounds have tumblr the tumblr then is manipulated with these controls and this is no different from a synthesizer you might bind a shot with all those controls and knobs instead of knobs we've got named parameters or options I tend to call them because they're optional because you do not need to use them to make a notes but when you want to actually start to change things then this is available right so lovely now we get to the fun part what might this do right this is interesting as programmers you might know who might not know you might have an idea you won't have an idea probably less use use the system this though is a sequential piece of code it is actually executing line one before line two sonic PI has a very strong notion of time and you have to have a strong notion of time to make music right because it's all out of rhythm and rubbish right if you don't have time and so when you don't talk about time and sonic pie everything happens simultaneously so I mean all at same time if I make this a bit bigger at higher 50 maybe 60 to maybe 60 to plus 162 I can type besides do chords and if you notice on the log and the right-hand side it says at time zero I'm doing both of these things so that maybe audience a strange way of working but it's actually super useful when you're making music so don't talk about time everything happens simultaneously what's also interesting before I start talking about time it's that you can change the sound so if I use synth profit I can play note e one and have it a long release time releas is a fancy word and synthesizers have this idea of envelopes to talk about actually if I go to the documentation there's a full tutorial sixty thousand words teaches you everything need to know and in here there are pictures of envelopes there's also another way to look at the documentation is to go to the websites and there's a web version as well so let's look at the same thing here and then we are slightly nicer and we could start to talk about how the sound changes through time so by default the sango's requires allowed instantaneously that's like a clap yep and then it fades out typically over one second and if unless you change it so we can change that release time to be eight seconds and crazy easy right if you also start to play with other options at the cutoff it changes how much the crunchy values are in there so there's also crunchy bit more i've even take away numbers from symbols so you can start to do this what's interesting you might have noticed that happening there Phi - sounds at once but it didn't wait for the first time to finish before it introduced the second time so every time it goes pink it creates a new threat so this is a multi-threaded system by default by design and that's really powerful so already with just two lines of code I can start building ominous sound tracks where the sounds are overlapping and playing together and this is one way of programming or live coding is just by having a single line or a couple of lines and changing them and let's their long they'll overlap in interesting ways and this is a beautiful thing so it's important to point out that by default it's concurrent and I can crate [Music] and you don't need to know about it just makes sense right then you know every time you press run it just adds another sound it layers it on top the way to think about this really is like when I press run a musician just magically appears it has these instructions to follow he or she follows the instructions and when the completed disappears again right so this is how this we have these musicians just popping onstage and disappearing and reappearing so there we go so once you've got this that's already fun but maybe we want to make a rhythm or a melody that's often useful in music so if let's go back to play 60 and play 72 to separate them we need to sleep between them lovely right so that's fabulous isn't it amazing this is most of Western music seriously like it shouldn't surprise you in the sense that logo where we were drawing you know children to learn to code see what puppet and Cynthia Solomon and Friends they were able to draw any picture with just pen down pen up rotate and forwards right you can draw anything with those commands with these two commands you can make any melody any Daft Punk bassline any Mozart's any bark okay it's gonna sound pretty crappy with the beeps but you are able to reproduce it and children do and that's the lovely thing to see and this is this is how to get them started my six-year-old niece she was playing with this and at the time when she was six and she'd written 30 lines of codes how that's amazing as she said I'm not finished and she was continued so it's lovely to see that so this is the way to get started now this is also interesting because at this point actually when I built the system the first version that on the system in schools teachers are very happy with this because at this point we can teach most of the fundamentals of the UK's new computer science curriculum because it's very easy to add a bit of conditionals on here but a repetition on here you can start to use these things to explore what the basic principles of computer science are so you can totally imagine repeating this five times and this language is based on Ruby so we have an nice way of representing that now you can do this kind of thing or you can say if some value is true then do it if not so you can explore those things but to me this wasn't enough right I don't just want to just have some basic things that it frustrates the hell out of me that we have all these education systems to teach codes that that are beautifully simple to get started but once you reach a level like once you've mastered play and sleep which is not long frankly is it that's all you can do and it has a glass ceiling immediately and for me I thought that that's an interesting challenge can I build a system that is simple enough for 10 year old kids to use and also actually the harder challenges for teachers to use and it's not that they're not they're not capable just have no time teachers no time to learn anything certain in the UK there's so stretched so stressed so focused on are making sure the schools are able to jump off from the league tables and exams and tests and and examiners coming in to test to see if they're teaching correctly it's just it's a very very difficult environment to work in that learning new things is incredibly hard so teachers are actually that the hardest and most important sort of domain users to work on the system but to me that wasn't enough I wanted to ask the question could I get professional musicians to use the system right and that's that sounds nuts why on earth would you build a tool that is good for education and good for professionals that's crazy do one or the other but what's a guitar what's a piano I can teach you how to play all the notes on a piano pretty easily right super easy to get started but it's that way you stop no you can then learn how to do Mozart and Beethoven embark and you cannot start playing ragtime jazz and all those amazing things because there's a whole culture of practice and there's a whole lot of experience and doing amazing things with the piano that same as the guitar now let's reverse that what I would you bother playing the guitar is it because you're told to it is it because it's a beautiful object and some guitars are beautiful but that's not necessarily what's gonna excite you it's cuz you've seen Jimi Hendrix you think what is he wearing around his neck I need one of those and I need to learn it or whatever your favorite guitarist is or instrumentalists of any kind right and so having something which is good for professionals provides motivation for the beginners this is why I am doing it now in the UK and I'm sure around the world we're currently describing and we saw earlier today there is definite motivation to learn to program to get a professional job that's very important and we as an industry were crying out for more diversity more people who are who wouldn't typically learn it like weirdos like me to get involved and do programming in a professional capacity but to me that is not the reason we should be teaching programming in schools because we don't teach sports and schools to make professional sports people we don't teach history in schools to make professional historians we don't teach mathematics in school to make professional mathematicians we don't teach anything in school to make professional anything it's just crazy of course some sports people learning sports in school will become professional sports people and that's awesome right and we should be totally supporting them and enabling them and that's really very important because they become the inspiring individuals which can make sure that new generations of sports people come along that's that's very important but it's not why we teach it at schools we teach the ball in schools because it's beautiful for the body it's great for teamwork it's great for synchronization it's great for collaboration you know it's great for physical exercise and health and so many important things that are beyond being a professional at X and I think the same should be for learning to code so if that's the case what is the motivation we use to learn to code and I don't think it is being a professional coder I think that that alienates a large number of people who just don't want to be professional and and it forces a version of elitist attitude so that's not to say that we shouldn't support professional Antigo that's very important but at the same time it doesn't necessary involve everybody and I think we need to get everybody doing a bit of coding just like we get everyone to do a bit of reading and writing right that's just as important it's not to say that the same and so to me we need to find these tools which are motivate and I think music is a great way or of DAPs are you doing this so let's get let's get cracking so at this point we have play and see if we can make music we can make beats and we can make melodies it's very simple but as programmers I think the exciting thing is what can we do with this where can we take it that's more interesting could we actually take this and challenge professional musicians and do new things more exciting things and take music into new places this is not to say this is going to replace the guitar not at all in fact I actually have a fabulous collaboration with the guitarists where we work together and I can code his guitar as much as he can work with it with a code as well and and that's really worth saying um so the question is what can we do with this and and these are questions now at this point we break away from the computer science curriculum right we're talking more about the music curriculum when we're talking about music in general what our musical tools that we can use that are exciting now the next thing to think about is once we've got the synthesizers built in what about samples so often certainly like hip-hop for example is based entirely around samples and manipulation of samples so it's clearly important to me and this wasn't in the UK curriculum for computer science to play samples so we have a bunch of built-in samples you can play any wave file any a file f or flak or OGG and let's play a sample let's play the famous our main break oh yeah it's not allowed enough can we can make it louder please okay so we're in Bristol right we've got drone base kicking off this is the famous track similar time actually bit earlier NWA the Straight Outta Compton use exactly the same sample but what they did is they slowed it down to make it a bit more interesting in groovy and so they played it half speed that's important and then you go back to it to London and we're playing what we're playing the jungle and we're using the same sample right so this at this point people who okay it can play samples of course you can you can manipulate them but what did all that what did people do with these kind of things so jungle wasn't just about playing that sample fast it was about taking it and chopping it up and reversing him doing all sorts of fun things how do you take a sample and chop it up well what they used to do is they used to use like these crazy graphical editors where they actually have by hand find all the transients in the audio and move them around and copy and paste it took them weeks and weeks to make this interesting tracks painstaking laborious work well we've got codes haven't we so wouldn't it be fun if I could treat my standard sample as an array a list of drum hits yeah well we can do that we just use the on set option insight pie and actually ask for this first drum or the second drum or the third or the fourth drum that's pretty cool so it automatically does feature detection on the wav file returns all the DES starting and end points of those things but this is something I can teach to a 10 year old child and the strong thing here is that we can really easily replicates some weird jungle music by sleeping for a short man time and [Music] right and then if you want to you can put a bit of envelope on that so your a release time shorts and then now kids would do this it's a lot of fun but they're also let's just comment this out crate another loop and in there they would maybe I know make a place line so that's place since tb-303 notes II won at least time short seek for I know if I make a bit longer like this baseline alright hey that's gonna sound wicked with the drums let's let's crank it up the baseline now I'm sure all of you can see why there's no baseline right but children cards and teachers cards so you save them is right this isn't something I thought was good this is something that every child I've taught within a few hours asks how do I play the drums at the same time as the bass they all ask this question very very quickly and you say you can't you've got a way to the university before you can do threads and they look at you like you some sort of crazed idiots like and the problem is you take the teachers yeah I think we should be teaching threads because the kids want to do this right and it will engage them to be excited they'll keep being motivated because when you say you can't do something they just look at something else and that's not what we should be doing right when we're teaching computer science we should be trying we should be teaching people the same thing we should be asking them what they want individually and making sure that the tools are used can support their expressions because of what we ultimately doing is giving people new tools to express themselves and code is a fabulous way of doing that so saying no is not an answer but the problem is you go to the teachers and teachers say they say no because their focus on making sure that they get good school when the examiners for them come in and their scores are based on whether they're teaching the curriculum correctly or not and if it's not in the curriculum then they don't get any extra points for teaching stuff which is not in the curriculum regardless of whether it helps the children engage regardless of whether actually gives them tools to become more creative coders right so this is a problem and the cool thing about being programmers is we can cheat we saw earlier that cheating is super important like if the goal is cheating right the goal is if you don't cheat that you're not being professional if you don't ask the right people you're not and so this is why I fundamentally disagree with exams in many ways because they don't they don't support cheating and they don't support collaborative working and changing their rules so we should be able to change the rules so what do you do when you can't do threads with loops you create a new kind of loop that is threaded and that's what I've done right so I don't teach this I don't talk about loops and that fact if you see this kind of code in sonic pie just tell people don't do this you want to use the live loop wait it's got a way cooler name for starters and when you run it it gives you an error right so it's not quite the same it says let's get rid of this documentation though here sorry Boop it says live look needs to have unique name so live loops are band members right so have a bassist and have a drummer right so let's give them some names so what should we call the drummer let's call the drummer what we call Peter and let's call the bass player Fiona right so now we give them names we can run the code [Music] awesome the problem is though you get pretty ball of that pretty quickly because Luke just they loop done they they just keep going and it means great to start with but after Y start getting a bit bored of the music so what do you want to do well I want to change it maybe that note is a bit too long so I'm gonna change it to be a bit shorter right maybe I want to have like a higher notes I maybe want to cut off to be like a random value between 70 and 130 or maybe you want to actually have it as fast as this buddy it's quite fun to explore these things by just changing the numbers and hearing it and changing it which is great for me but it's rubbish for you because if you want I mean obviously you all seated that's a problem but let's assume that you weren't seed in the your actually you're in a party mood I mean are you in a party mood yes like that's rubbish you will be later if you're in a party mood you do not want the DJ or the performer or the band to stop every time they want to change something it has to be able to change well Stitz still playing otherwise it's not a good performance well obviously it could you could imagine performances that are very weird and esoteric and a cosmetic and whenever they do that but in general you want to be able to keep the music play [Music] [Music] so this live loo allows you to change it once it's running find this hell and this is what engages me but this is not on the curriculum but it's something that actually people can start tinkering with and it's addictive and it's something that our juices flow and it's just fun and I spent hours every day just doing this and I really recommend you do too because right if for anything else it'll give you a tool to make more friends but how many of you I say this all the time and most converse is that it's just it's just an amusing thing how many of you go to parties and struggle to talk to people because when you say you're a programmer it's the end of the conversation it's true isn't it right and so I don't sell anymore people ask me what I do after I'm a musician Oh wicked what do you play coat coat I think but at least now having a conversation right and you can - and this is a cool thing is like I don't know how many people who struggle to talk about how you've had an issue with the docker container that had a service nginx Apache whatever configuration like no one wants to listen to that but they want to listen to this and so this is a way of getting involved and getting talking and and broadening the conversation beyond the people like yourselves who themselves fell into programming right that's great that we have people who themselves want to become programmers but if you want to diversify our communities we need to be appealing to the people who wouldn't necessary to be programmers and so this is and a good test of that is can you have a conversation of them at the party and I think this actually passes that test and in fact what you can do is you can become the party by being a coder which is what I'm gonna do later and that's that's amazing I I was randomly in a nightclub in Berlin in a big warehouse and for some reason I had synthesizers in my laptop in my bag and I was completely concerned about this I've got a few thousand pounds worth of things in this bag because I was giving a workshop earlier at Microsoft headquarters and the DJ didn't turn up it was like 3:00 in the morning and my friend who knows the guy who organized the club said do you wanna play so I cracked over laptop coded the night club it was amazing the best experience I've had in a very long time so you can become the party if you can live code right I've got 10 minutes left what else can you do the fun things let's go back to Ashley let's go back to this because this pattern doesn't just work for drums [Music] that's fun what about another thing that children asked all the time is I'm making music this doesn't sound very good okay what do you mean well I wanted to sound roomy big and when I listen to my music it has this beautiful sound like if I'm making music in this kind of room has that kind of sound but you don't have access to this kind of room in a classroom do you and so you say again you can't do that sits on the curriculum that's obviously a rubbish answer so you sneak these things in right so it was really important to me to be able to allow children to write effects and so if I have let's think of like good that's just what should we do let's do eight times do and let's play notes no scale just got type scale right you see how I switch those letters around the control T for me max choose released I'm sure see 495 little ditty and actually we've got the reverb from this room already well let's let's crank it up even further so what we can do is I won't go to detail by this it's is that I gave a talk of strange of a few years ago I actually talked about how this works and super interesting but in terms of actually it's good to talk about the technologies about these things but it's also really much better to talk about how to use it and what to do and so in my head whatever you want to do is create sort of another Lex to closure which describes the the area of the code I wanted to affect with some effect like a reverb or distortion so this is the kinda thing I had in my head like between these doin em blocks I want to be able to have this code with reverb so you could do this by adding with effects the front choosing effects reverb and reverb supports different options so the room size being one is the most reverb and so by doing this I can I can crush it it's super easy now the implementation of this is the hardest code of ever in my entire life and I'm super happy to talk to you later about how this works and why works but that the scheme of the problem is that essentially you have to setup the effect so the echo effect you have to ensure that all the audio inside of it reroute to that but then the harmless bit is you have to then tear down the echo when it's finished and the problem with this is that you've got to basically observe and watch all the synthesizers are crated in the code block wait for them to complete before you can kill it but also the code book can start spawning threads arbitrarily so you have to wait for the threads to complete and their threads and they're threatened their thread so you have to sort of manage the whole network of threads and to be honest and I've had a much better time not working with Ruby working with Erlang to do this and I wish I had done and I probably should in the future so that's that if you want to be implement this do it in Erlang but there we go right so we're able to this and we can obviously nest these things so that's X crush it's horrible so it's very easy to make sounds which are hideous but you can start to see where you wake this and this is this is fun because I can put any code in here and it will be echoed and crushed and I can also do something like this which I'm not gonna run because I haven't got my sound card plugged in but if I have a sound card plugged in and I have like a guitar into this right now I have a guitar FX chain alright and I got my guitarist friends Ben he can play his guitar it's got echo and cross from the guitar and it's super fun to see and when we give talks to kids we gave a talk at the Big Bang fair the UK's largest stem pher give a separate but tall performances one of the fun things to do is just to do live audio he's playing a clean guitar sound add reverb add distortion suddenly he's that in this is a rock mode and it's really fun to play and you can live code all this stuff and modify it in time and work with it it's really a lot of fun right what else should I talk about let's let's think about this well it's worth actually just spending a little time just flicking through these tutorial so you can make beeps you can change the synthesizers you can switch the sensor sizes you can change the envelopes you can play with samples fun thing to do with samples is to work with external samples so you can also use the built-in ones but if you have a directory of samples that's fine a directory of samples so Sam nodes samp's here's my directory of samples that's fine like a house samples we've got some loops in here I've got some bass lines so that's track one of these things so I can go here I can write sample I can then drag this sample across and then so I can work with external samples super easy but that's a pain in the bum to write all that stuff and also if I wanted to work on the next sample of directory I needed to go and find it and find the name of it and figure it out and that's annoying as well so it's actually much more fun first of all just to give it a name it works and then actually instead of using the file name it's much more fun to use the directory name get the same results how does that work what does that mean to play a directory what it does is actually it will then look at that directory for all the eight FLAC or basically all the music files sort them alphabetically and play the first one which may or may not be what you want but once it knows the list of all the files in that directory and you can glob this so you can do nested directories totally easily you can then use filters to say actually I know that my folder structure here has the BPM and the and the key so I can find the first one that's in F minor by just saying comma F minor next one alright and I can actually play to them together these things and you can use sub string matches regular expressions you can use an arbitrary lambda function which will take in the list of options and you can return a new list of options so you can even insert things if you want to show you're free to really play around this stuff it's a lot of fun and once you've got that then you can start to use the live loop to make some music so a live loop call it foo bring this down here let's just use one of these I have loops bass but I also have loops drums and here let's find any 120 that's good so that can then say be is drums and then here I can sample a and sample B and I can make sure that both have 120 in the string name so that's good and then we can we've got an arrow stops key and see white stops because obviously if you try and loop something with no sleeps in it essentially asking the commuters spin it round infinitely number in front of times in zero time that's just nuts so it actually tells you you can't do this so live loops need to sleep or sync and syncing is working on external events which I haven't got time to talk about but here I can our sleep for 8 an hour off and now changing the numbers of the next time around this is a great way to get started it's using existing samples which sound good find ones you like and then just start messing with them and this this is this is a very simple pattern you should learn and it's just fun just to play with and twinkle changing and tinker with this stuff I think how many minutes of got left no no minutes right okay perfect so let me just give you the the website to go to again sonic pie nets please download it please play with it please share it with your friends with the children with your grandparents with your parents or with our friends and their children and their grandparents spread the word or creative coding get everyone coding in little bits and then some of them will become professional programmers win and just most of them will be able to have a conversation with you at parties and that's what we ultimately about is trying to affect the world in a good way and get more people to understand that coding is the most creative and powerful tool we've ever made as humans it's another language just like poetry except they can do stuff that's wicked and you can write poems with code so that's awesome as well but you can also make code that can actually affect the real world and we should be trying to find ways to empower people to change their worlds and ways which are meaningful for them and the important thing about this is those ways don't always have to make money they don't have to be about industry they don't have to make rich people richer so we should make people be more expressive as we should be using our skills as programmers to enable that in priority over companies in my opinion so I hopefully some of you might agree with that and hopefully spread that word and if you don't then come and have a chat with me later and I'd love to hear opinions about why that's different and it's important we all have our ideas and share them together so thank you very much for your time I'm going to be playing here later tonight at about 7:30 so there's going to be two parties it's gonna be one over there where there's going to be drinks and some nibbles from chit chats go over there if you want to do those things initially to start off with but then come here 7:30 for some crazy music we're gonna do some dancing hopefully thank you very much for your time I'm gonna ask one quick question but first thank you so much that was my favorite life time of today so appreciate it so why did you choose integers for the notes and what does zero represent in in the music world there's already existing ideas certainly in western music about pitch and the numbers on a piano these are what we call MIDI notes and so the integers represents MIDI notes on the piano but you do not need to use integers I didn't show you but you can use floats so you can say play note 60 point four to make a note in between notes the nice thing about interpret integers a MIDI notes is it's a linear scale not logarithmic which is what hurts is so it's much easier to reason about as humans and easy to teach it to kids so it's not integers it's floats I just happen to use integers on stage cool yep zero is a very low note yeah it's a value is it valid note it's just very very low yeah you heard out no low thirty was and the speakers won't be able to reproduce zero we can try later last question yeah are you gonna play Lollapalooza next year I'm sorry you're gonna play Lollapalooza next year it's the big Chicago Music Festival if they invite me I'd be delighted to go yeah and it's Moke fest and raleigh-durham I go into the Rolling Stone magazine they said I trans end of the presence and I'm gonna perform next year at the Royal Albert Hall that's pretty cool yeah I'd love to so then the follow-up is what's your dj name sorry what's your dj name my teacher name is Sam Aaron super easy to remember I struggle with that for a while I just felt pretentious coming with the different names there why not use my own name I like it simple we all know it now well thank you so much Sam we're it's time to party so feel free to go grab a drink and some food and the Lakeview Terrace but as you leave one last round of applause for Sam [Applause]
Info
Channel: GOTO Conferences
Views: 51,900
Rating: 4.978878 out of 5
Keywords: GOTO, GOTOcon, GOTO Conference, GOTO (Software Conference), Videos for Developers, Computer Science, GOTOchgo, GOTO Chicago, Sam Aaron, Sonic Pi, Live Coding, Live Coding Music, Educating Kids, Education
Id: OLLwG_SN8oo
Channel Id: undefined
Length: 41min 46sec (2506 seconds)
Published: Tue May 08 2018
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.