Athenian Summer 2020 Electronic Music Programming with Sonic Pi and Ruby
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
- Iteration
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
- Sonic Visualizer
- Different musical instruments
- Spectrograms
- Free time to create