This course explores music through the lenses of computation and interactivity.
The first part of the semester consists of a structured exploration of rhythm, melody, timbre, and harmony, from the perspectives of code, design, and music (history, perception, theory). For each musical element, we will listen to examples from different periods and styles, represent and manipulate the element in code, and create an interactive study around it.
During the second half of the semester we will cover algorithmic composition techniques such as Markov Chains, Neural Networks and L-systems. As students work toward their final projects, the class will take a more self-directed approach. Final projects might be digital applications, spatial installations, or physical devices.
In-class coding and assignments will be done in P5.js, but students will be free to use other languages and frameworks for their final projects. ICM or equivalent programming experience is required.
Term
Fall 2018, NYU ITP
Instructor
Luisa Pereira | luisa.ph@nyu.edu
Meetings
Mondays, 3:20 – 5:50pm
Office Hours
Thursdays, 2:00pm - 4:00pm
Sign up here
Midterm Project
Prompt: create an interactive musical experience focusing on one musical element. Your project can be either a new concept or an extension/refinement of an earlier assignment.
Final Project
Prompt: create an interactive musical piece. It can live in the browser, a physical device, or in space. In your presentation, discuss musical, design, and programming aspects of your project.
This section will be updated weekly with references, code examples and assignment details.
Introductions + music pieces
Syllabus overview
Interact & Discuss: Composition ---- Instrument. Examples Page.
Code:
Create a digital, audio-visual, sample based instrument. You can record your own samples, or use existing ones. There are plenty of free sound libraries online, for example the London Philarmonia Orchestra's and freesound.org.
Once it's done (or almost done), compose a ~20-30 second piece using your instrument and do a video recording of it. You can use screen capture software like Quicktime. Post this video to your blog, along with some documentation of your process.
Link to blog post and sketch from the Homework Wiki.
Mozilla's introduction to the Web Audio API
Review assignments + discuss reading
Listen: beats, tempo, subdivision, accents, syncopation, cross-rhythms
Code:
Listen: find one or more examples of one of the elements of rhythm, and add it to our collaborative playlist page under Rhythm.
Interact: pick two rhythm project examples. Write a short response.
Design: focusing on one or more of the concepts covered in class, sketch an interface to explore/compose with rhythm. Consider different contexts, materials, users, spaces ––don't limit yourself to what you know how to implement.
Code: explore and tinker with the examples above (from 'change the tempo' onwards). Then, create a rhythmic sketch/composition.
Add links to your blog posts and sketch to the Homework Wiki.
If you want to dig deeper into scheduling in Web Audio: A Tale of Two Clocks
Discuss: assigments
Listen: pitches, notes, intervals, scales
Code:
Listen: find one or more melody examples you find interesting (think of modes/scales, range, contour). Add it to our collaborative playlist page under Melody.
Code: Create an interactive study exploring melody. Record a 20-second composition using it. Post both to your blog.
Code, optional: Extend the Sequencer example so that it allows you to create melodies (instead of playing drums, have it play notes)
Discuss: Assignments
Listen, Interact:
Code:
Add a synth-based piece to our collaborative playlist page under Synthesis.
Create an interactive composition + performance using only synthesizers, focusing on sound texture.
Listen: consonance/dissonance, drones, parallel voices, chord progressions
Interact & Discuss:
Code:
Read: Catalog of Attributes
Add a piece to our collaborative playlist page under Harmony.
Design an interface to interact with harmony. Include references, sketches and diagrams.
Create an interactive/generative composition + performance that explores harmony.
Discuss: Assignments. Voicings and Counterpoint.
Review: Transport events
Listen: sampling in signal processing (sampling rate, bit depth); sampling in synthesis; sampling in music production
Code:
Listen: Add a piece to our collaborative playlist page under Sampling.
Interact: A recorder+looper, A keyboard sampler. Write a short response.
Design+Code: Create a generative/interactive sketch exploring sampling techniques, record a video test/performance. Encouraged but not required: record samples from your environment and use them in your composition. Listen for rhythmic sounds, melodic sounds, different timbres.
Discuss: Assignments
Review: topics covered so far
Interact + discuss: in pairs, try each others' experiments, give feedback, and discuss midterm ideas
One on one meeetings with teacher
Midterm guidelines + project planning worksheet
Post your project planning sheet from class
Midterm project: create an interactive/generative musical experience focusing on one musical element. Your project can be either a new concept or an extension/refinement of an earlier assignment.
Prepare your 5-minute presentation, including:
Finish/polish the documentation blog post for your midterm. Make sure to include:
Listen: Randomness, Probability, Markov Chains
Code:
Guest Speaker: Valentina Camacho, Senior UX Design, Gallagher Design
Respond to Valentina's exhibition design exercise:
There will be a new museum about X music (X = the genre you picked in class). We need ideas to explain how to create X music. (Fiction).
The will be three types of visitors in this museum:
In groups of two people, think about concepts for one interactive that will explain something about music creation for that genre. Write a short description of it. Create a prototype of your idea. Be ready to present your idea to Valentina next class.
Optional: create an interactive/generative composition using Markov chains.
Optional: download the Iannix application and create a composition using it. Post it to your blog along with a short response.
Listen: Grammars and L-Systems
Code:
Present: Music Exhibit Concepts + Prototypes
Optional: create a generative composition using L-systems
The Nature of Code, Chapter 8: Fractals, by Daniel Shiffman
Grammars as Representations for Music, by Curtis Roads
Listen: Neural Network structure, RNNs and musical composition
Code:
Interact:
Guest speaker: Merche Blasco, Sound artist, Composer, Performer.
PhD Candidate in Music Composition at NYU Arts & Science
Prepare your final project proposal (5 mins). You can include inspirations, source material, existing code sketches, and questions for your classmates. What is your project? Who is your project for? How will people experience it? Is it expressive / needed / entertaining / intriguing / provocative?
Optional: create an interface to interact with a pre-trained neural network
Evaluation:
Please see ITP's statement on Pass/Fail which states that a "Pass" is equivalent to an "A" or a "B" while anything less would be considered a "Fail".
Attendance is mandatory. Please inform me via email if you are going to miss a class. Two unexcused absences is cause for failing the class. (An unexcused lateness of 10 minutes or more is equivalent to 1/2 an absence.)
This class will be participatory, you are expected to participate in discussions and give feedback to other students in class and also participate with their projects. This (along with attendance) is 30% of your grade.
Class will culminate with final projects. You are expected to push your abilities to produce something that utilizes what you have learned in the class that is useful in some manner to yourself or the world. This will comprise 20% of your grade.