Week 5. Harmony. Sequencing in code.

Examples on NAS Server.


– Post the progressions you created last Wednesday (at least 20 seconds long)

– Create your own progression

– During the break, go outside and record samples from your environment:

  • rhythmic sounds (a train, construction)
  • melodic sounds (anything with a changing pitch)
  • different timbres (screechy breaks, voices, wind, anything)

Week 5. Harmony in practice

Review of harmony concepts by identifying them on students’ chosen songs (play back on keyboard + different harmony interfaces online)

  • major/minor triads, passing notes, suspended notes
  • scale degrees
  • chords and arpeggios


  • Mary Kate’s Song (Em C G D)

  • ZZ’s song (F C, notice passing notes in bass)

  • Maria’s song (Intro: Dm Am C G. Verse: Dm C Esus4 Am, and variations; notice suspended notes)

Discussion of harmony in interactive songs and tools we have experienced in previous classes (Arpeggio + others, Flora Drift, ñ)

In class exercise: create two chord progressions using one of the online tools we saw last class.

Week 5. Harmony

Melody: a sequence of pitches. Harmony: several melodies played simultaneously . In Western music, this practice evolved over time:



Interfaces for creating / manipulating chord progressions:


Week 4. Rhythm Code Lab

Sequencing in Tone.js

Pick two drum patterns from here (a diverse collection), here (electronic music patterns), or here (funk drum breaks). Sequence them using the Tone.Part object. If you are missing samples, find a set you like at freesound.org or any other source ––you might also record your own.

Week 4 Assignments

  1. Post a reading response to This is Your Brain on Music, Chapter 2: Foot Tapping
  2. Post your new drum machine design prototype. See the Ideation and Interface Design post for details.
  3. Finish the two drum patterns you picked in class (mention which one you chose), and create a new one. Post your sketches to your IMA NAS account and include the link in the post.

Week 4. Rhythm. Ideation and Interface Design

Design Exercise: Drum Machine Design

In pairs:

1) Discuss your experience with Groove Pizza and the 808 simulator: what were the best features? features missing? too many features?

2) Design a new interface. Will it be easy to learn? Will it have a steep learning curve but be very expressive? Which features will you focus on? Draw a preliminary sketch of the interface.

3) Create a paper prototype of your drum machine, demonstrating the interaction with the user:

– the user does this

– the system responds doing that

A couple of examples:

[image source]

[image source]

[image source]

Demonstrate your interface to the class

Assignment (due next Tuesday)

  1. Write a paragraph explaining your approach and goals for your drum machine (Is it easier to learn? Is it more expressive than the ones you experienced? Does it focus on a certain rhytmic element? Is it playful / funny? What are you focusing on?).
  2. Finish your paper prototype and document it. Your prototype + supporting text should be thorough and clear enough for someone who was not in the class today to understand the main features of your drum machine. This probably means including a series of captioned photos of your interface in different states.

3. Rhythm. Elements and Interfaces

Class Notes

Create two grooves using Groove Pizza, from the NYU Music Experience Design Lab. Between them, cover :

  • different tempos (fast/slow)
  • subdivisions (multiples of 2, of 3, or combined —12 slices: play every 4, play every 3)
  • swing / no swing

Create a drum pattern using this TR-808 simulator (here is an article about songs that have used the original one)

Other interfaces to check out:

Watch video: how rhythm works



1) Revisit the interfaces you played with in class, compare in terms of:

  • the elements they give you control over ( tempo/pulse, subdivisions, accents, syncopation, cross-rhythms?)
  • what the interface make easy / hard to do
  • how the interface design affects the musical outcome

In your post, include the drum patterns you created during class, with a short note about its bpm, subdivisions, and any other relevant parameters you played with.

2) Listen to the song you picked for the score exercise, paying attention to its rhythm. Describe it in terms of tempo, subdivisions, accents, syncopation (related to the ‘swing’ variable in the interfaces). It might help to try to re-create some rhythmic parts using one of the drum machines.

3) [optional, extra credit]: Visit Carsten Nicolai‘s installation at Chronus and write a review about it.  Assignment aside, I recommend listening to his music, which he publishes as Alva Noto .


Week 3. Tone.js Lab

A DAW example: Ableton Live. The transport, events to be triggered, looping, BPM, arrangement position: bar-beat-sixteenth.



  • Features (we will start with DAW features; later on: DSP)
  • Resources:

In class coding 

  • Create synth, generate melodies by adding one note with each mouse click, with constrained randomness:
    • one note; within a frequency range (small, large); within a scale (freqs, notes)
    •  code: 1_play_a_note_on_mouse_pressed
    • discussed:
  • Generate melody using Tone.Transport.scheduleRepeat()
  • Add a PolySynth that plays a chord; trigger original synth on mouse presses

Code from class is in our IMA NAS class folder.

Note: to include Tone.js in your sketch:

a) download the Tone.js build file, put it in your sketche’s libraries folder (if it doesn’t exist, create it, and paste this line of code into your index.html file:
<script src=”libraries/Tone.min.js” type=”text/javascript”></script>
b) paste this line of code into your index.html file:
<script src=”https://tonejs.github.io/CDN/r6/p5.Tone.min.js” type=”text/javascript”></script>


Read This is your Brain on Music, ch2. Foot Tapping.

Week 2. Lab

Based on the graphic score you created, and the song you chose, create an audiovisual instrument/composition using p5.js.

Think about the following:

  • What is the aural texture like? Think about the elements in the This is your Brain on Music reading (low and high pitches, timbre, loudness, reverberance, etc). Find samples or make your own recordings.
  • What are the visual elements corresponding to the aural elements? Think about shape, color palette, texture, composition, and motion.

Code from class is at our IMA NAS class folder.