# Lesson 18 # Chord Progressions Lesson. In this lesson, # you will create various chord progressions # using various techniques from previous lessons. # General Instructions: # # This lesson contains one example and # one exercise (A). # # To listen to an example, change "comment" # to "uncomment" on the "comment do" line, # then click the "Run" menu command at the # top of the Sonic Pi editor window. # When you are done with the example, turn # it off by changing "uncomment" back to # "comment," and move on to the next section # of the lesson. # # Example 1: Primary Triads. comment do define :primary do | key, major | roots = [key, key + 5, key + 7] if major == true third = 4 else third = 3 end index = 0 3.times do play roots[index] sleep 0.5 play roots[index] + third sleep 0.5 play roots[index] + 7 sleep 0.5 play roots[index] + third sleep 0.5 play roots[index] sleep 0.5 play roots[index] play roots[index] + third play roots[index] + 7 sleep 1 index += 1 end end primary :C4, true sleep 1 primary :D4, false sleep 1 primary :G4, true end # Exercise A: # Change Example 1 in the following ways: # 1) Change the code so that the third # chord in the progression (V) is always # major, even when the key is minor; that # is, create a i - iv - V progression # as in harmonic minor. # 2) Change the code so that a bass note # plays the root of each chord and # three upper notes play the chord in # close position: I - IV6/4 - V6/5 - I. # For example, if you send :C4 as an # argument for the key parameter, you # hear :C4 :F4 :G4 :C4 in the bass, and # :C5+:E5+:G5, :C5+:F5+:A5, :B4+:F5+:G5, $ :C5+:E5+:G5 in the upper voices.