Skip to content

Instantly share code, notes, and snippets.

@Vilagamer999
Created April 16, 2018 15:20
Show Gist options
  • Save Vilagamer999/50c989b45643831942f52a9c5e7b2a5a to your computer and use it in GitHub Desktop.
Save Vilagamer999/50c989b45643831942f52a9c5e7b2a5a to your computer and use it in GitHub Desktop.
#########################################
use_bpm 67
in_thread(name: :drum_machine) do
# choose your kit here (can be :acoustic, :acoustic_soft, :electro, :toy)
use_kit :acoustic
# program your pattern here - each item in the list represents 1/4 of a beat
# for each item, enter a number between 0 and 9 (0=silent,9=loudest)
hat [1, 9, 1, 9, 0, 3, 4, 6, 7, 8, 9, 9, 0, 9, 9, 9]
kick [9, 0, 9, 0, 0, 0, 9, 9, 9, 0, 0, 0, 0, 0, 9, 0]
snare [0, 0, 9, 0, 9, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 9]
end
############################################
drum_kits = {
acoustic: {
hat: :drum_cymbal_closed,
kick: :drum_bass_hard,
snare: :drum_snare_hard
},
acoustic_soft: {
hat: :drum_cymbal_closed,
kick: :drum_bass_soft,
snare: :drum_snare_soft
},
electro: {
hat: :elec_triangle,
kick: :elec_soft_kick,
snare: :elec_hi_snare
},
toy: {
hat: :elec_tick,
kick: :elec_hollow_kick,
snare: :elec_pop
}
}
current_drum_kit = drum_kits[:acoustic]
define :use_kit do |kit_name|
current_drum_kit = drum_kits[kit_name]
end
live_loop :pulse do
sleep 0.1
end
define :run_pattern do |name, pattern|
live_loop name do
sync :pulse
pattern.each do |p|
sample current_drum_kit[name], amp: p/9.0
sleep 0.25
end
end
end
define :hat do |pattern|
run_pattern :hat, pattern
end
define :kick do |pattern|
run_pattern :kick, pattern
end
define :snare do |pattern|
run_pattern :snare, pattern
end
define :snare do |pattern|
run_pattern :snare, pattern
end
use_bpm 70
sleep 0.1
play 53
sleep 0.4
play 77
sleep 0.6
play 72
sleep 0.2
play 74
sleep 0.3
play 72
sleep 0.2
play 77
sleep 0.4
play 77
sleep 0.4
play 74
sleep 0.3
play 72
sleep 0.2
play 67
sleep 0.3
play 69
sleep 0.2
play 65
sleep 0.4
play 77
sleep 0.5
play 72
sleep 0.2
play 74
sleep 0.3
play 72
sleep 0.2
play 80
sleep 0.3
play 81
sleep 0.2
play 77
sleep 0.4
play 74
sleep 0.3
play 72
sleep 0.2
play 67
sleep 0.3
play 69
sleep 0.2
play 65
sleep 0.6
play 77
sleep 0.6
play 72
sleep 0.2
play 74
sleep 0.3
play 72
sleep 0.2
play 77
sleep 0.4
play 77
sleep 0.3
play 75
sleep 0.2
play 75
sleep 0.3
play 74
sleep 0.2
play 74
sleep 0.3
play 72
sleep 0.2
play 72
sleep 0.2
play 70
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment