Exploring Pentatonics

Guitar player Miles Okazaki wrote the fascinating book ‘Fundamentals of Guitar’, offering a very systematic approach towards musical material.
One page is dedicated to listing the ‘66 Pentads’ - all possible constellations of 5 pitches out of 12 pitches.
Only very few of the 66 constellations are in regular musical use but to me it´s pretty interesting to listen to the changing atmospheres that come along with the different pentatonic constellations.

#Defining a pentatonic scale by first leaving out the octave, than shuffling and dropping 7 out of 12 remaining pitches.
#Change the random seed to get different scales
define :penta do
  with_random_seed 11 do
    penta = scale(:c5, :chromatic, num_octaves: 1).butlast.shuffle.drop(7).sort
  end
end

#Print the specific pentatonic scale
print penta 

#A repeating musical pattern to explore the qualities of any pentatonic scale
#Change the random seed to get different patterns
live_loop :brr do
  with_random_seed 2 do
    32.times do
      play (penta)[0..4].choose, release: 0.3, amp: rrand(0.2, 0.8)
      sleep (ring 0.25, 0.25, 0.5, 1).choose
    end
  end
end
3 Likes

Lovely stuff! It’s great to see the exploration of quite esoteric, yet fascinating music theory with such a simple amount of code.

Thanks so much for sharing.

1 Like