Sonic Pi Composition Lesson Plan #2: Scales and samples
“Music makes everything have more emotional resonance.” –Chris Milk
Lesson Overview:
The aim of this lesson is for each student to create their own scale (ladder of notes) or tonal mood for their group’s chosen film. Composers Hans Zimmer (repetition and layering in film music) and Brian Eno (music systems or generative music) should be discussed in small groups and as a class. Students will also reflect on their project’s process and progress through giving short standups.
-All students will recognise basic composition repetition/variation in ‘Time’ by Hans Zimmer
-All students will layer three sounds on top of one another
-All students will create their own scale to find a tonality that suits their chosen video
-All students will discuss the characteristics of generative or systems based music
Programming:
-All students make a musical algorithm that plays the chord sequence of Hans Zimmer’s‘Time’
-All students will develop strategies to make an algorithm more efficient through using iteration (loops)
-All students will create and debug algorithms for a loop of a series of notes (scale) they have created
Introduction: What did we cover in Lesson #1(5 minutes)
Activity Overview: Every lesson in this unit of work starts with refreshing knowledge and identifying gaps in understanding from the previous lesson.
Student Activity:
For three minutes, students are to reflect on the code they saved at the end of the previous lesson
The teacher should roam the room, quickly surveying the code produced and ask a sample of students about key music and programming concepts covered in the previous lesson
If the teacher deems necessary, have a 2-3 minute discussion on identified concepts that need to be reinforced
Notes to the Teacher:
Reflection will begin each lesson in this unit and the teacher should try to get around to all groups every two lessons
Activity 1:Write efficient code to the chords of ‘Time’ by Hans Zimmer(20 minutes)
Activity Overview: Students will attempt to code the repeating chord sequence of ‘Time’ from the film Inception.
New Sonic Pi syntax to introduce in this activity (click for example code):
Discuss for 1 minute the quote of the day for this lesson and what it means: “Music makes everything have more emotional resonance.” –Chris Milk
Listen to Time from Inception and ask students to identify as many instruments and repeating elements as they can
Write answers up on the board
If they haven’t already identified the repeating chord sequence underlying this composition, draw their attention to listen to it (chord sequence below)
Student Activity (10 minutes):
Give the chords (below) to students and ask them to write efficient code so that it plays the chord sequence in approximately the correct time
Discuss a few solutions as a class using various types of loops
Discuss naming conventions for functions and stored information in Sonic Pi [video needed/info]
Chords to ‘Time’ from the film Inception:
Chord 1: A4, C5
Chord 2: E4, G5
Chord 3: G4, B4
Chord 4: D4, F#5
Chord 5: A4, C5 (repeat)
Chord 6: C4, B5
Chord 7: G4, B4 (repeat)
Chord 8: D4, F#5 (repeat)
Notes to the Teacher:
Time is just one of many potential examples of how repetition can be used in music. Because this unit of work is about making music for films, ‘Time’ is a good choice because it is cinematic and simple
Note that chords 5, 7, 8 are repeats of chords 1, 2 and 4. An advanced student might know how to code an efficient solution so that chords 5, 7 and 8 are only written once. However at this level, it is ok to repeat a few lines of code as necessary as long as they’re using loops to repeat the whole chord sequence
Activity 2: Create your own tonal mood and use audio samples(40 minutes)
Activity Overview: Students will create their own scale or ladder of notes to create a harmonic mood. While Sonic Pi has the most common scales already stored (major, minor, pentatonic, and many others), students should explore and discover a collection of notes (perhaps over more than one octave) to help create a personalised and novel harmonic bed for their project. Additionally, students should experiment with adding samples of audio over their pieces with the Sonic Pi command “sample”.
New Sonic Pi syntax to introduce in this activity (click for example code):
Demonstrate how to store notes in a list e.g. play [:A, :E, :D, :G] or “notes = (ring :E4, :Fs4, :B4, :Cs5, :D5, :Fs4, :E4, :Cs5, :B4, :Fs4, :D5, :Cs5)” and iterate through these in various ways using the .tick, .choose and .shuffle methods
Explain that the musical system in Brian Eno’s piece was recorded with tape machines playing at different speeds. The same idea can be achieved easily in Sonic Pi through using different values for sleep within each loop
Demonstrate use of the Sonic Pi command ‘sample’ for playing and manipulating audio samples of music to introduce ‘layering’ of sounds
Suggested links and resources to facilitate activities:
Brian Eno – Ambient 1: Music for Airports https://www.youtube.com/watch?v=vNwYtllyt3Q&t=1100s → you can code the same music system in Sonic Pi using the same notes (F4, Ab4, C5, Dd5, Eb5, F5, Ab5). The musical system in Brian Eno’s piece was recorded with tape machines playing at different speeds. The same idea can be achieved easily in Sonic Pi through using different values for sleep within each loop
Students make up their own scale to give a desired mood which can be more than one octave → emphasise that students should primarily consider the mood they want to bring out in their chosen film. Music students who know about traditional music scales should avoid using this knowledge and use their intuition to find what they think sounds appropriate
Students are to explore samples in Sonic Pi and experiment using them in their music
Students should aim to get at-least three sounds layered on-top of one another by the end of the lesson
Notes to the Teacher:
The teacher could inform students that the overlapping of single notes is how modern Western harmony started → in churches, the natural reverberation and would cause sung notes of Gregorian chants to overlap and dovetail resulting in harmonic consonance and dissonance; composers eventually started to use this idea in their compositions as chords
Activity 3: Listening and reflecting(20 minutes)
Activity Overview: Students are to take turns giving a 30-45 second standup of (1) what they’re currently working on (2) what problems they’re encountering (3) how they’re trying to solve these.
Suggested Teacher Instruction Sequence:
Give an introduction to stand-ups: a simple way for everyone to reflect and hear how everyone else is doing
Student Activity (10 minutes):
Give students 2 minutes to think of what to say and who is going to go first (these will be conducted every lesson)
Commence standups. Tell students that they will be completing a reflection diary at the end of each lesson and they can use the information they report in their stand-ups
Notes to the teacher:
Conducting ‘standups’ is not intended to introduce students to the agile methodology of building software → it is intended only to help students get used to communicating both musically and computationally to each other; communication is a key skill to develop in the future and standups provide an opportunity for teachers to observe development of subject specific vocabulary and computational thinking skills
It is not necessary to ‘stand-up’ but it can help to make these sessions brief in order to ‘check-in’ and share
Wrap-up activity: Quiz and reflection (15 minutes)
Activity Overview: All students to complete a quiz containing 10 questions on music and programming - as well as a few reflective questions on this lesson (all students will complete this each lesson).
Student Activity (10 minutes):
Students individually complete the quiz and reflection on the key concepts in this lesson within 10 minutes linked here.