Module 2: Audio
Here we look at code as a performative interface.
Looking beyond code as a fixed object, we find artistic value in the process of code evolution.
We explore experience of writing code in front of an audience and accepting imperfection.
In a more practical sense, this is particularly good training for coding interviews.
Project 2: Live coding with Sonic Pi
Your goal is to experience first-hand the practice of live coding.
You will be using Sonic Pi.
During your performance, you must:
- Code, live, in real-time. Show your code.
- Improvise, though you can plan most of the piece ahead of time. Even with most of the code pre written in a separate window, you should be experiment with new values for random seeds, loops, pitch values, etc during the “performance”
- Generally, adhere to the Live Code Manifesto
Some language features you should use include:
- setting a random seed
- sync’ing loops
- loops, for example
3.times do...
- samples
- synths
The recording should last roughly 10 minutes. Note that in order to achieve this length, you will need to improvise a bit with your code in real-time. Do not try to plan out all 10 minutes exactly ahead of time.
What to hand in?
- A link to the public posted video recording of your live code performance in Sonic Pi. The description field of the video should contain a short (at least 2 paragraphs, more if you like) write-up highlighting interesting moments in the performance or lines of code you thought were creative.
How am I graded?
Rubric
- 50 points - Technical Sophistication. Does your project utilize your programming skills in an effective way? Have you gone significantly beyond any example code you have used? Is this “your” work?
- 30 points - Documentation. Did you record properly (sound recorded directly from sound card of computer). Have you shown your complete code during the performance?
Does the documentation highlight both the artistic aspect of your work, as well as the technical sophistication? Your work should be equally well appreciated by both a technical and non-technical audience.
- 20 points - Creativity. This is a subjective measure. You need to get comfortable with your work being judged in a subjective manner when working in Computing in Arts. To score full points here, you will need to put significant time into practicing live coding. Try to gain a level of fluency with Sonic Pi that allows you to explore new creative ideas during your performance.
Lecture 3: Technicals of Audio
Nov 12
What is digital audio? How is sound represented in a computer?
What new challenges arise in programming audio as opposed to non-time domain programming?
Lab 2: Sonic Pi
Nov 13
Download slides for Lecture 3
Installing finding your way around Sonic Pi.
The goal of this lab is for you to install Sonic Pi, learn the basic interface, and make a short recording.
Complete sections 2.1, 2.2, 2.3, 3.1, 3.2, and 4 in the Sonic Pi tutorial.
To turn in:
Record a video of your coding in Sonic Pi. It doesn’t have to be fancy - a loop that plays a single note is enough. This is to confirm that you have the tool installed, understand the basic usage, and can record your audio and code at the same time. Post your video recording publicly, and save the link. For the lab, simply submit the link!
Lecture 4: Live coding Ethos
Nov 19
Download slides for Lecture 4
We start be examining the design of languages around creativity - how does the structure of a programming language encourage exploration and creativity?
We then look at the practice of live coding and algoraves.
How can language design guide us to ensure code does not break on stage?
We ask - if code is art, what is virtuosity in code?
Lab 5: Project 2 help
Nov 20