Class Description

Sonic Pi is an application for making electronic music using the Ruby programming language. Some experience reading and playing music would be helpful, but is not required. The main purpose of the class is to develop programming skills, but the bonus will be some cool music and sounds. Take a look at the examples on the Sonic Pi website. Check out Tron Bikes!

We’ll cover:

  • The basics of the Ruby programming language: loops, conditions, functions, variables
  • How sounds and pitches are produced, and how we hear them
  • Making sounds with a variety of Sonic Pi’s synthesizers and samples
  • Effects like reverberation, slicing, and panning

Course Materials

Provide Some Information about Yourself

Please complete this form.

Class Plan/Log

July 20

Introduction to Sonic Pi and Ruby

  • play
    • Note numbers
    • Note symbols
  • play_pattern_timed
  • synths
  • samples

July 21

Review

More Sonic Pi and Ruby

  • live_loop
    live_loop :melody do
    ⋮
    end
    

July 22

Review

More Sonic Pi and Ruby

  • Effects
    • Tron Bike
    • slicer
    • reverb

July 23

Review

  • Sliced and reverberated crows

    More Sonic Pi and Ruby

  • Ruby
    • Iteration
        4.times do
        ⋮
        end
      

July 24

Review

More Sonic Pi and Ruby

  • Chords
  • Scales
  • choose
    play chord(:e, :minor)
    play_pattern_timed scale(:e, :minor), 0.125, release: 0.1
    play choose(scale(:e, :minor))
    
  • Ruby
    • Conditions

July 27

Review

More Sonic Pi and Ruby

  • Recording, playing and altering your own samples
    rates = [0.5, 1, 1.25, 1.5, 2]
    rates.each do |rate|
    sample "/Users/daveb/Desktop/hello.wav", amp: 2, rate: rate
    end
    
  • Iterating over a range of values
    (40..90).each do |note|
  • Using a better integrated development environment (IDE)

July 28

Review

More Sonic Pi and Ruby

  • Ruby in repl.it
  • Combining loops, effects, synths and samples in interesting ways

July 29

Attack, Decay, Sustain, Release Envelopes

July 30

Review

More Sonic Pi and Ruby

  • Loops with an interval > 1
  • Hearing test
  • Free time to create
  • Cutoff
  • Control

July 31

More with samples

  • Analyzing sounds
  • Spectrograms
  • Free time to create