I took a Junior Interdisciplinary Seminar class in my third year of undergrad at Truman State University. The theme of the class was "Rock Music - The British Invastion."
Our final project was to use techniques from multiple disciplines to produce a creative response to something we learned about in class. 1000_Days_a_Week.rb
(pronounced "Eight Days a Week", for those who don't speak binary) combines computer science and music to play an arrangement of my favorite Beatles tune using Sonic Pi.
Check out the audio and the source code below:
# Welcome to Sonic Pi v3.1 use_bpm 135 define :be_a_starr do 2.times do sample :bd_haus, amp: 0.7 sample :drum_cymbal_open, amp: 0.5 wait 1 sample :sn_generic, amp: 0.7 sample :drum_cymbal_open, amp: 0.5 wait 1 end end define :four_on_the_floor do 4.times do sample :bd_haus sleep 0.99 end end define :george_guitar do |note| use_synth :pluck 12.times do play note, release: 0.4, amp: 0.8 sleep 0.33 end end define :triplet_bass do |note| use_synth :chipbass 12.times do play note, release: 0.4 sleep 0.33 end end define :intro_guitar do |root, third, fifth, sixth| use_synth :chiplead play root, release: 1.66, amp: 0.5 play third, release: 1.66, amp: 0.5 play fifth, release: 1.66, amp: 0.5 sleep 1.66 play root, amp: 0.5 play third, amp: 0.5 ##| bend it like Lennon s = play fifth, release: 1.99, amp: 0.8, note_slide: 0.55 sleep 0.33 play root, release: 1.32, amp: 0.5 play third, release: 1.32, amp: 0.5 control s, note: sixth sleep 0.99 play root, release: 0.99, amp: 0.5 play third, release: 0.99, amp: 0.5 play fifth, release: 0.99, amp: 0.5 sleep 0.99 end define :intro do in_thread do triplet_bass :D3 triplet_bass :E3 triplet_bass :G3 triplet_bass :D3 end in_thread do 4.times do george_guitar :D3 end end in_thread do 4.times do four_on_the_floor end end intro_guitar :D4, :Fs4, :A4, :B4 intro_guitar :E4, :Gs4, :B4, :Cs5 intro_guitar :G4, :B4, :D5, :E5 intro_guitar :D4, :Fs4, :A4, :B4 end define :paul_bass do |one, two, three, four| use_synth :chipbass play one, release: 1, amp: 1.5 sleep 1 play two, release: 1, amp: 1.5 sleep 1 play three, release: 1, amp: 1.5 sleep 1 play four, release: 1, amp: 1.5 sleep 1 end define :verse_guitar do |one, two, three| use_synth :prophet sleep 1 play one, release: 0.5 play two, release: 0.5 play three, release: 0.5 sleep 1.66 play one, release: 0.5 play two, release: 0.5 play three, release: 0.5 sleep 0.99 play one, release: 0.5 play two, release: 0.5 sleep 0.35 end define :verse_vocals do use_synth :chiplead 2.times do play :Fs4, amp: 1.25 sleep 1 play :E4, amp: 1.25 sleep 1 play :D4, amp: 1.25 sleep 1 s = play :D4, release: 1.99, amp: 1.25, note_slide: 0.1 sleep 0.665 control s, note: :E4 sleep 0.335 play :E4, amp: 1.25 sleep 1.665 play :B3, amp: 1.25 sleep 2.335 play :B3, amp: 1.25 sleep 1 play :D4, amp: 1.25 sleep 1 play :G4, amp: 1.25 sleep 1 play :G4, amp: 1.25 sleep 0.665 play :Fs4, amp: 1.25 sleep 4.335 end end define :verse do in_thread do use_synth :chiplead play :D4, release: 4, amp: 0.5 play :Fs4, release: 4, amp: 0.5 play :A4, release: 4, amp: 0.5 end in_thread do 8.times do be_a_starr end end in_thread do 2.times do paul_bass :D3, :B2, :A2, :Fs2 paul_bass :E2, :Gs2, :B2, :Gs2 paul_bass :G2, :B2, :D3, :B2 paul_bass :D3, :B2, :A2, :Fs2 end end in_thread do 2.times do verse_guitar :A3, :D4, :Fs4 verse_guitar :Gs3, :B3, :E4 verse_guitar :B3, :D4, :G4 verse_guitar :A3, :D4, :Fs4 end end verse_vocals end define :chorus do end intro verse
Click or tap the images to view some of the projects I’ve worked on and some of the ways I’ve performed and produced music.
Feel free to reach out if you have any questions, or if you’d like to collaborate.