Sonic Pi Composition Lesson Plan #3: Algorithms in Music

My kind of composing is more like the work of a gardener. The gardener takes their seeds and scatters them, knowing what they are planting but not quite what will grow where and when - and they won't necessarily be able to reproduce it again afterwards either” –Brian Eno

Lesson Overview:

The aim of this lesson is to learn about generative and algorithmic music, and to start student’s own individual project. They will use new Sonic Pi commands that enable generative and algorithmic music (Mozart, John Cage, Brian Eno). Students will also experiment with basic audio sample manipulation.

Contents:

Introduction: What did we cover in the last lesson?

5 minutes

Activity 1: Introduce brief for individual project

30 minutes

Activity 2: Introduction to generative music with Sonic Pi and student time on individual projects

30 minutes

Activity 3: Pair/group/class reflection on progress so far

15 minutes

Wrap-up Activity: Quiz and reflection

15 minutes

Learning Outcomes:

Key concepts

Sonic Pi syntax to be taught this lesson

Learning Outcomes

Music:

-texture

-mood

-sampling

-stretching, layering, cuttoff/highpass

Programming:

-random number generator

-selection

-arguments

Activity #1

rate

cutoff

Activity #2

rrand() 

.choose

use_random_seed

if else

Music:

-All students will identify and experiment with characteristics of algorithmic music and mood/timbre

-All students will be introduced to sampling and experiment with basic sample manipulation

Programming:

-All students will use a random number generator (rrand) within Sonic Pi

-All students will experiment conditional logic (if/else)

-All students will use arguments to stretch and sculpt audio samples with .rate and .cutoff

Introduction: What did we cover in the last lesson (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:

  1. For three minutes, students are to reflect on the code they saved at the end of the previous lesson

Activity 1: Introduce brief for individual project (30 minutes)

Activity Overview: This activity gets students to start on their individual project. Their individual project is identical to their group project only it does not require collaboration.

New Sonic Pi syntax to introduce in this activity (click for example code):

rate

cutoff

sample :mehackit_phone1

sample :ambi_choir, rate: 0.3, cutoff: 70

Suggested links and resources to facilitate activities:

Student Activity (20 minutes):

Do the following (similar to the process of beginning group project):

1. In your groups, first choose a video from https://chrispetrie.github.io/studentvideos.html (different from your group composition)

2. Brainstorm appropriate sounds

3. Explore sounds in Sonic P using https://chrispetrie.github.io/studentpreviewsamples.html 

4. Start individual project (20 minutes)

Notes to the Teacher:

  • If you are struggling for ideas –  just explore and survey the sounds available in Sonic Pi. If you get stuck after this, an idea could be that you could listen to film music you like for inspiration

Activity 2: Introduction to generative music with Sonic Pi and student time on individual projects (30 minutes)

Activity Overview: Students will be introduced to using random number generators in Sonic Pi to create music that never plays the same twice.

New Sonic Pi syntax to introduce in this activity (click for example code):

rrand()

.choose

use_random_seed

if else 

Suggested links and resources to facilitate activities:




Student Activity (20 minutes):

  1. Experiment with the following syntax rrand(), .choose, use_random_seed, if else in order to create music that continuously changes

Notes to the Student:

  • Experimental composer John Cage wrote a piece called ‘I Ching divination’, which involves obtaining a hexagram by random generation (such as tossing coins), then reading the chapter associated with that hexagram

Activity 3: Listening and reflecting (30 minutes)

Activity Overview: Standups as per lesson #2. Students also get a chance to listen to each other’s work and give constructive feedback.

Student Activity (15 minutes):

  1. Students have 2 minutes to think of what to say and who is going to go first (these will be conducted every lesson)
  2. Students have 5 minutes to listen to each other’s work and give constructive feedback

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.

Administrative Details

Contact info

petriechris@gmail.com 

Credits

Developed by Chris Petrie.

Last updated on

27/06/2018

Copyright info

The content of this page is licensed under the Creative Commons Attribution 3.0 License, and code samples are licensed under the Apache 2.0 License.