Programming as Performance | Sam Aaron | TEDxNewcastle
ฝัง
- เผยแพร่เมื่อ 27 ส.ค. 2024
- Sam Aaron, and Postdoc Researcher at the University of Cambridge Computer Laboratory, will be discussing the idea of programming as performance, examining the importance of emphasising, exploring and celebrating creativity within all aspects of the skillset.
Sam Aaron is a live coder who considers programming as performance and strongly believes in the importance of emphasising, exploring and celebrating creativity within all aspects of programming.
Sam believes that a programming environment which has sufficient liveness, rapid feedback and tolerance of failure to support the live performance of music is an environment ripe for mining novel ideas that will not only benefit artistic practices themselves but also the computer industry more generally.
In pursuit of this unique perspective Sam is the lead developer of Overtone and Quil, powerful live coding platforms for music and visuals. Sam is also the creator of Sonic Pi, a music live coding environment used to teach programming within schools.
By day Sam is a Postdoc Researcher at the University of Cambridge Computer Laboratory and by night he codes music for people to dance to.
This talk was given at a TEDx event using the TED conference format but independently organized by a local community. Learn more at ted.com/tedx
I'm 31 now - A self taught web-developer and music maker and audio engineer. I wish they'd taught me about computers and modern technology when I was at school. It was the most boring subject and not creative in any way. It was a real struggle to learn programming and creative use of computers in my late twenties. Obviously we should have had this guy as a teacher instead! Thanks for the video :)
He makes a really good point about programming... you can do so much with programming.
I got a raspberry pi2 this last Xmas, have been self-teaching programming for at least 7 months now, I was amazed by Sonic Pi, had no idea it was included in the RPI. I'm finally getting the hang of programming, and my only regret is not starting sooner! (I'm 23)
Thank you very much for the brilliant work Sam Aaron!
"And those who were seen dancing were thought to be insane by those who could not hear the music.”
― Friedrich Nietzsche
+apxnmed21322314 What a perfect quote! I really hope that we can help more people discover this kind of music so we can all dance together...
I wonder how is your programming journey today, Boinger
damn TEDx .... Y U NOT show us the screen when Sam's typing code -.-
+Daniel Raufison I couldn't agree more. However, I guess the main thrust of the talk was me speaking - you can check out me live coding over at livecoding.tv/samaaron
+Sam Aaron That livecoding.tv site isn't as helpful as I hoped. Can we download code from there? Or can you point to some code, or list some of the relevant examples that are built in now, or something? I'd love to just get a set of buffers or whatever with all the things you demonstrated.
+Neal McBurnett The livecoding.tv site is merely for my performances and isn't meant to be an educational resource - rather a showcase of what's possible.
However, I would love to add more features to Sonic Pi to enable it to record the contents of the buffers through time to allow users to share performances as text rather than as videos. The problem now is funding...
Yeah I was hoping to see the screen myself as I'm going to be introducing Sonic Pi to my classes this week (thanks to you, the wonderful Sam Aaron!). I mostly want to give them freedom to play, but wanted to inspire them first by doing what you've done in this video. I was going to be a bit cheaty and copy the things you'd done! I'll just have to go off and have a play to come up with some ideas.
I'm now seeing all the wonderful tutorials in the program itself. Problem solved!
I majored in math and computer science. My job is neither, but I use them all the time. This talk has helped me to be okay with that. Also, Sonic Pi helped me get in to music.
You have no idea how many times I sent a link to this video to all the people making the same excuse in various Open Source projects. Thank you for such a great way of explaining the essence in just the first five minutes!
Damn, this guy has passion
He worked on two major codes:
1.
notes = (scale :e3, :minor_pentatonic)
live_loop :foo do
sample :loop_industrial, beat_stretch: 1, rate: 1
sleep 1
end
live_loop :beats do
sample :bd_haus, amp: 0
sleep 0.5
end
live_loop :vortex do
use_synth :tb303
play notes.choose, release: 0.1, cutoff: 100
sleep 0.125
end
2. An Example called Rerezzed
use_debug false
notes = (scale :e1, :minor_pentatonic, num_octaves: 2).shuffle
live_loop :rerezzed do
tick_reset
t = 0.04
sleep -t
with_fx :bitcrusher do
s = synth :dsaw, note: :e3, sustain: 8, note_slide: t, release: 0
64.times do
sleep 0.125
control s, note: notes.tick
end
end
sleep t
end
live_loop :industry do
sample :loop_industrial, beat_stretch: 1
sleep 1
end
live_loop :drive do
sample :bd_haus, amp: 3
sleep 0.5
end
It's always useful to have full control over machines. No matter if you learn to drive a car or to program a computer, both is not required to survive in life, but it does come in handy at times.
interesting talk, but I would like to see what he is doing - Should have shown the screen
I agree, but if you go the his website, there you can listen to samples of code, its pretty awesome really.
Thank You For Your Space of Consciousness and just follow your heart ...and Thank You , You are give this Gift to Me,
I think Was A Lot of work to make this work, Very Thank You!!
Nice talk. As a coder and music teacher I can agree with what Sam says. I'm not sure what Sam says is (about mainstream musical knowledge and kids) is totally true. I'd also like to ask why we're not talking about SuperCollider, Chuck, CSound, Impromtu, Earsketch and several more.
The reason I didn't talk about other live coding languages and environments was that this wasn't a talk about live coding in general - it was a talk about the importance of introducing society to creative code. I use use live coding as a vehicle to illustrate and communicate that point. You could also make similar arguments as to why I didn't talk about different programming languages, different creative pursuits other than music or different hardware that can be programmed - all this diversity would just serve to dilute my main message.
Thanks for the reply, sorry if it sounded (read) overly critical. In reality I love the idea of music coding for anybody. I still haven't managed to pursued kids at my schools to take it seriously, they're more attracted to the likes of Fruity Loops, which is too bad really. Keep up the good work.
This is amazing, like a more intuitive MAX - very inspirational
Audience didn't get it at all. This is whole paradigm shift in music similar to what EDM brought in 70s and 80s and look at it now. We have this massive fan following, there are countless music festivals garnering millions of audience and it's a flourishing billion dollar industry. This is what it is now. THIS IS HUGE AND EXCITING. I just came to know about Sonic Pi in 2022 and I have been playing with it for the past few days. It is absolutely fabulous piece of technology. We are still at the early stage of this revolution.
great talk. I feel the same - the skill of coding is going to be as important as writing and counting. But for this to become reality it is not enough just to state it. Comparing coding to writing is an exaggeration. Writing/reading became prolific because of the needs of everyday life, signing contracts and reading newspapers. And there was already a common language used by people *everyday*. But with coding? how often do you use that exact procedural formalized thinking in everyday situations? Nevertheless I fully appreciate and support introduction to programming through music live coding as it helps developing logical thinking and ability to solve problems more quickly.
+znopeusz I always use it, especially for reasoning, planning, and evaluating. The human brain is the most advanced machine humanity knows of, yet unclear instructions as found in many books can do a lot of damage. People do puzzles for fun, so why not solve coding problems?
That's the argument that was made when writing and reading came up. It may not happen in your lifetime or for several generations to come but on a sufficiently large scale, I think it will become ubiquitous and extremely important. It's hard to imagine beyond the cage you are trapped in but once it happens and become widely accepted, it becomes mainstream like a car instead of horse buggy.
Absolutely amazing! Thanks!
Really inspiring talk!
The argument here are NUTS! I've seen personally myself how computer and technology can actually diminish and decapitate musical skills! Students start relying mainly on computer to produce sounds, pitches, and chords, without actually understanding the underlying mechanisms and theoretical knowledge behind them. I have a student who are proud to tell stories about how a music-making software (along the line of ableton or something) can produce arpeggio chords automatically, without himself being able to play these arpeggios fluently on his instrument. My composition teacher once tells me about the effect of music notation software on student-composers: it is easy to copy and paste music on music notation software and thus instead of telling and making sure these software serve their musical intention, most often students tend to be constrained by the ingrained ability of the notation software. Another teacher of mine, this time a piano teacher, tells about the unhelpful ingrained capacity of an electric keyboard to create the sounds of chords from a shortcut function she calls the 'Casio Chords'. Thus instead of learning chords properly on the keyboard, these students learn that C minor can be produced by pressing the key C with D, which resembles nothing like C minor at all in a real piano. Effective musical skills need to be built with persistence and intelligence, alongside playing musical instruments and understanding theoretical knowledge.
I am not against technological development, but please put technology in the right place. Young people nowadays has been exposed with more and more technology and it has been shown how it is starting to negatively impact their development. Children nowadays are in risk of having little social skills, shorter concentration span, as they have the tendency to want something fast and instant.
It's another instrument. Sonic Pi is one way that people who normally wouldn't get into music can get into music and people who normally wouldn't get into coding to get into coding (the main point of it). And anyway, technology has expanded what we can do with music and made it more accessible.
It's like disruption theory. Trust me when I say that in the future music will be greater than it has been in over a century.
It would be nice to see the screen while he's typing.. anyway, this is awesome!
This guy is a genius.
Cool video, didn't know making music was that easy via code, so good job developing it! Is this pre-installed on the Pi? Just started learning Python, not learning to code really isn't an excuse in modern life.
Yes, it's pre-installed on the Pi and also available to download for free on Mac and Windows: sonic-pi.net :-)
It's the most interesting thing I have ever seen keep it up
someone needs to do can can in sonic pi
Excellent!
You can see the screen is his talk at from OSCON 2015 in Amsterdam /watch?v=ENfyOndcvP0
he plays awesooome)
You could double the inspiration just by showing the screen with the code you are typing, great presentation though
go Sam :-)
What is that loop he talks about at 13:00?
sample :loop_amen
Amen break
Boy oh boy, this audience is SO DEAD!
Is he using das keyboard 4C?
+Çağlar Kilimci It's actually a Poker II :-)
+Sam Aaron oh, thank you :)
14:36
like.
was this audience dead or plain stupid.. they were just sitting around with no reaction throughout the talk. This was one of the more creative and amusing talks..
I think it's just how they mixed the sound. You can tell from Sam's reaction that the audience laughed a couple of times -- either there was no mic in the crowd or the video editor didn't put it in.
What all of these "everyone should program" talks seem to forget is that programming wont help you anything if you're not good at it.
I think that's true if everyone wanted to be a 'professional programmer' but that wasn't my argument. I think that having touched and understood a little bit of programming will help everyone who has to interact with programming or programmers in their future (which I believe will be an increasingly large percentage of the population going forward).
+TG MrNacknime
In my opinion You are mistaken, and I believe that is a large part of Mr. Aarons point.
I think that his and many other "everyone should program talks" actually want to get away from the notion that programming is an expert/specialist skill, and one that only needs to be understood and used by "programmers".
Rather the opposite, they promote the opinion that programming is a basic "concept" and skill (for lack of a better words). And that it can help us think and understand things in a new and different way, "it's a brain (cognitive) tool".
Sure if we get proficient enough and so desire we can also express ourselves through programming, usually that's not the primary goal, rather basic familiarity and understanding is.
I think another point is that, whether we want it or not, programs and the notion of programming is getting ever more pervasive in the "modern world". And hence it will have an ever increasing influence in/on our lives, for good or bad, mundane or amazing.
And consequently simply "giving up on programming" because "You're not good at it" is a misstake. Just as Mr Aaron analogises that accepting analphabetism isn't acceptable just because You can't or don't aspire to reach the professional level of a righter.
As with many subject matters it's good to understand and be familiar with the basics, even if You hardly ever are forced to engage actively with it again, simply because it will give You a better understanding of the world You are living in, and that is ALWAYS a good thing.
Best regards, and good luck with Your programming, at what ever level You choose :)