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.

Syllabus Overview

  1. Introduction
  2. Rhythm. Beats, tempo, subdivision, accents, syncopation, cross-rhythms
  3. Melody. Pitches, notes, intervals, scales
  4. Timbre: Synthesis. Additive, subtractive and FM synthesis
  5. Harmony. Consonance/dissonance, drones, parallel voices, chord progressions
  6. Timbre: Sampling. Sampling rate, bit depth; samplers, granular synths; effects
  7. Midterm review + project planning
  8. Midterm Project Presentations
  9. Algorithms: Markov Chains. Applications: Music Exhibition Design
  10. Algorithms: L-Systems. Applications: Music Exhibition Design (Presentations)
  11. Algorithms: Neural Networks. Applications: New instruments for electronic music performance
  12. Final Project Proposals
  13. User Testing + Feedback
  14. Final Project Presentations


Fall 2018, NYU ITP


Luisa Pereira |


Mondays, 3:20 – 5:50pm

Office Hours

Thursdays, 2:00pm - 4:00pm
Sign up here

Weekly Assignments
Assignments will range from design and programming exercises to readings. They are required and you should be prepared to show/talk about them in class. You will be expected to post your assignment to your blog by Sunday night each week.

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.

Class Notes and Assignments

This section will be updated weekly with references, code examples and assignment details.


Class Meeting

Introductions + music pieces

Syllabus overview

Interact & Discuss: Composition ---- Instrument. Examples Page.



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

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.

Read This is your brain on music, Chapter 2: Foot tapping.



Class Meeting

Review assignments + discuss reading

Listen: beats, tempo, subdivision, accents, syncopation, cross-rhythms



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.


Tone.js: Transport, Time

If you want to dig deeper into scheduling in Web Audio: A Tale of Two Clocks


Class Meeting

Discuss: assigments

Listen: pitches, notes, intervals, scales



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)

Timbre: Synthesis

Class Meeting

Discuss: Assignments

Listen, Interact:

  • a brief history
  • harmonic, inharmonic sounds
  • pitch, timbre, volume. additive, subtractive and FM synthesis



Add a synth-based piece to our collaborative playlist page under Synthesis.

Create an interactive composition + performance using only synthesizers, focusing on sound texture.



Class Meeting

Listen: consonance/dissonance, drones, parallel voices, chord progressions

Interact & Discuss:



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.


Timbre: Sampling

Class Meeting

Discuss: Assignments. Voicings and Counterpoint.

Review: Transport events

Listen: sampling in signal processing (sampling rate, bit depth); sampling in synthesis; sampling in music production



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.

Midterm Review + Planning

Class Meeting

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:

  • Concept. In one or two sentences, what is your project? Why did you choose this project? Is it expressive / needed / entertaining / intriguing / provocative?
  • Demo. Perform your piece for the class, or have a classmate perform it. Do this live, but have a backup video.
  • Technology. Briefly, how does it work? Mention the main techniques and components you used.
We will have a few minutes for questions and feedback for each project

Midterm Project Presentations

Guest Critics

Student Projects


Finish/polish the documentation blog post for your midterm. Make sure to include:

  • A screen capture video and/or a smartphone video of the interaction/performance
  • A short description of what it is
  • A short description of why you made it
  • A short description of how it works
  • A link to the live demo
  • A link to the code

Algorithms: Markov Chains. Applications: Music Exhibition Design

Class Meeting

Listen: Randomness, Probability, Markov Chains


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:

  • Tourists
  • Families (Parents and kids)
  • Music Fans

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.

Algorithms: L-Systems. Applications: Music Exhibition Design (Presentations)

Class Meeting

Listen: Grammars and L-Systems


Present: Music Exhibit Concepts + Prototypes


Optional: create a generative composition using L-systems

Algorithms: Neural Networks. Applications: Experimental Performance

Class Meeting

Listen: Neural Network structure, RNNs and musical composition



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

Final Project Proposals



  • Assignments and Midterm Project: 40%
  • Participation and Attendance: 40%
  • Final Project: 20%

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.