Last active
August 30, 2017 00:15
-
-
Save rap2hpoutre/4f4de94024b4e5ce7c5b48c0f2c22e3d to your computer and use it in GitHub Desktop.
Revisions
-
rap2hpoutre revised this gist
Sep 13, 2016 . No changes.There are no files selected for viewing
-
rap2hpoutre revised this gist
Sep 13, 2016 . No changes.There are no files selected for viewing
-
rap2hpoutre created this gist
Sep 12, 2016 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,292 @@ kicks = "D:/Sound/procedural/kicks" snares = "D:/Sound/procedural/snares" hh = "D:/Sound/procedural/hats/" ohh = "D:/Sound/procedural/ohats/" rides = "D:/Sound/procedural/rides/" crashes = "D:/Sound/procedural/crashes/" use_random_seed 401492 define :crash do m = rand_i(61) sample crashes, m end in_thread(name: :bass_snare) do loop do n = rand_i(464) crash if one_in(15) 4.times do sample kicks, n if rand > 0.005 sleep 0.25 sample kicks, n if rand < 0.02 sleep 0.125 sample kicks, n if rand < 0.02 sleep 0.125 sleep 0.125 sample kicks, n if rand < 0.02 sleep 0.125 sample kicks, n if rand < 0.02 sleep 0.125 sample kicks, n if rand < 0.02 sleep 0.125 sample kicks, n if rand > 0.2 sleep 0.25 sample kicks, n sleep 0.125 sample kicks, n if rand < 0.02 sleep 0.125 sleep 0.125 sample kicks, n if rand < 0.02 sleep 0.125 sample kicks, n if rand < 0.02 sleep 0.125 sample kicks, n if rand < 0.02 sleep 0.125 end n = rand_i(464) crash if one_in(15) 4.times do sample kicks, n if rand > 0.005 sleep 0.25 sample kicks, n if rand < 0.2 sleep 0.125 sample kicks, n if rand < 0.005 sleep 0.125 sleep 0.125 sample kicks, n if rand < 0.005 sleep 0.125 sample kicks, n if rand < 0.2 sleep 0.125 sample kicks, n if rand < 0.005 sleep 0.125 sample kicks, n if rand < 0.2 sleep 0.25 sample kicks, n if rand < 0.2 sleep 0.125 sample kicks, n if rand < 0.005 sleep 0.125 sleep 0.125 sample kicks, n if rand < 0.005 sleep 0.125 sample kicks, n if rand < 0.2 sleep 0.125 sample kicks, n if rand < 0.005 sleep 0.125 end n = rand_i(464) crash if one_in(15) 4.times do sample kicks, n if rand > 0.05 sleep 0.125 sample kicks, n if rand < 0.05 sleep 0.125 sample kicks, n if rand < 0.05 sleep 0.125 sample kicks, n if rand < 0.05 sleep 0.125 sleep 0.125 sample kicks, n if rand < 0.05 sleep 0.125 sample kicks, n if rand < 0.05 sleep 0.125 sample kicks, n if rand < 0.05 sleep 0.125 sample kicks, n if rand < 0.05 sleep 0.125 sample kicks, n if rand < 0.05 sleep 0.125 sample kicks, n if rand < 0.05 sleep 0.125 sample kicks, n if rand < 0.05 sleep 0.125 sleep 0.125 sample kicks, n if rand < 0.05 sleep 0.125 sample kicks, n if rand < 0.05 sleep 0.125 sample kicks, n if rand < 0.05 sleep 0.125 end end end in_thread(name: :hihat) do loop do # Sample selection if one_in(7) smp = rides n = rand_i(62) else smp = hh n = rand_i(299) end if one_in(4) a = dice(10) if a == 1 sleep 8 elsif a == 2 64.times do sample smp, n, amp: rrand(0.25, 0.55) sleep 0.125 end elsif a == 3 32.times do sample smp, n, amp: rrand(0.25, 0.55) sleep 0.125 sample smp, n, amp: rrand(0.25, 0.55) if one_in(2) sleep 0.125 end elsif a == 4 16.times do sleep 0.25 sample smp, n, amp: rrand(0.25, 0.55) if one_in(2) sleep 0.25 end elsif a == 5 32.times do sample smp, n, amp: rrand(0.25, 0.55) if one_in(2) sleep 0.125 sample smp, n, amp: rrand(0.25, 0.55) if one_in(3) sleep 0.125 end elsif a == 6 64.times do sample smp, n, amp: rrand(0, 1) sleep 0.125 end elsif a == 7 m = rand_i(64) 32.times do sample smp, n, amp: rrand(0.25, 0.55) sleep 0.125 sample ohh, m, amp: rrand(0.25, 0.55) if one_in(5) sleep 0.125 end elsif a == 8 m = rand_i(64) 16.times do sleep 0.25 sample ohh, m, amp: rrand(0.25, 0.55) if rand > 0.005 sleep 0.25 end end elsif a == 9 || a == 10 m = rand_i(64) 16.times do sample smp, n, amp: rrand(0.25, 0.55) sleep 0.125 sample smp, n, amp: rrand(0.25, 0.55) sleep 0.125 sample ohh, m, amp: rrand(0.25, 0.55) sleep 0.25 end else 32.times do sample smp, n, amp: rrand(0.25, 0.55) sleep 0.25 end end end end in_thread(name: :snare) do loop do # Select sample smp = snares n = rand_i(464) # Play riff a = dice(4) if a == 1 7.times do standard_snare_pattern smp, n end random_snare_pattern smp, n elsif a == 2 3.times do archi_standard_snare_pattern smp, n standard_snare_pattern smp, n end archi_standard_snare_pattern smp, n random_snare_pattern smp, n elsif a == 3 2.times do 3.times do archi_standard_snare_pattern smp, n end standard_snare_pattern smp, n end elsif a == 4 2.times do archi_standard_snare_pattern smp, n standard_snare_pattern smp, n toasted_snare_pattern smp, n end end end end define :archi_standard_snare_pattern do |s, n| sleep 0.5 sample s,n, sustain: 0.25, release: 0.125 sleep 0.5 end define :standard_snare_pattern do |s, n| sleep 0.25 sample s,n, sustain: 0.25, release: 0.125 if rand < 0.05 sleep 0.25 sample s,n, sustain: 0.25, release: 0.125 sleep 0.25 sample s,n, sustain: 0.25, release: 0.125 if rand < 0.1 sleep 0.125 sample s,n, sustain: 0.25, release: 0.125 if rand < 0.1 sleep 0.125 end define :toasted_snare_pattern do |s, n| sleep 0.5 sample s,n, sustain: 0.25, release: 0.125 sleep 0.375 sample s,n, sustain: 0.25, amp: rrand(0.7, 1), release: 0.125 if rand < 0.5 sleep 0.25 sample s,n, sustain: 0.25, amp: rrand(0.7, 1), release: 0.125 if rand < 0.5 sleep 0.375 sample s,n, sustain: 0.25, release: 0.125 sleep 0.5 end define :random_snare_pattern do |s, n| 2.times do sample s,n, sustain: 0.25, release: 0.125 if rand < 0.5 sleep 0.125 sample s,n, sustain: 0.25, release: 0.125 if rand < 0.1 sleep 0.125 sample s,n, sustain: 0.25, release: 0.125 if rand < 0.2 sleep 0.125 sample s,n, sustain: 0.25, release: 0.125 if rand < 0.1 sleep 0.125 end end