Created
March 31, 2019 14:47
-
-
Save kniknoo/90e19b571ad61a87cdcf7edcab4d4d83 to your computer and use it in GitHub Desktop.
This file contains 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 characters
#buffer 6-3 (robo_blues) | |
clear | |
reset | |
skulpt = "skulpt_synth_midi_1" | |
drumbrute = "arturia_drumbrute_impact_midi_1" | |
mono_int = "monologue_midi_2" | |
r3_int = "r3_midi_2" | |
#N5EX 5/off | |
midi_pc 4, port: mono_int, channel: 14 #Monologue 5 | |
#MS50 01 | |
midi_pc 109, port: skulpt, channel: 15 #Skulpt 7-14 | |
midi_pc 109, port: r3_int, channel: 5#R3 n-6 poly6 | |
#FM tinlead | |
#kick bass | |
use_debug false | |
use_midi_logging false | |
use_bpm 72 | |
#use_random_seed 4865 | |
with_midi_defaults port: skulpt, channel: 13 do | |
midi_cc 40, 16 | |
midi_cc 41, 96 | |
midi_cc 42, 3 | |
midi_cc 43, 125 | |
midi_cc 44, 74 | |
midi_cc 45, 64 | |
midi_cc 46, 32 | |
midi_cc 47, 60 | |
midi_cc 48, 20 | |
end | |
live_loop :drums do | |
if tick(:loops) > 63 | |
midi 12, sustain: 2 , port: skulpt, channel: 13 | |
sleep 2 | |
stop | |
end | |
2.times do | |
deg = (range, 1, 5).choose | |
nlen = [ 0.5, 0.75, 1, 1.5].ring.shuffle | |
cue :kick, deg: deg | |
midi (degree deg, 12, :minor_pentatonic), sustain: nlen.tick , port: skulpt, channel: 13 | |
sleep nlen.look - 0.25 | |
midi 55, port: drumbrute, channel: 10 if one_in(5) | |
sleep 0.25 | |
cue :snare, deg: deg | |
midi 38, port: drumbrute, channel: 10 | |
sleep nlen.tick - 0.25 | |
midi 55, port: drumbrute, channel: 10 if one_in(2) | |
sleep 0.25 | |
end | |
end | |
with_midi_defaults port: drumbrute, channel: 10 do | |
live_loop :hats do | |
sync :drums if one_in(7) | |
nlen = [0.0625, 0.125, 0.125, 0.25, 0.25, 0.5].choose | |
[4, 8].choose.times do | |
midi 54 | |
sleep nlen | |
end | |
sleep 0.5 if one_in(7) | |
end | |
end | |
with_midi_defaults port: skulpt, channel: 15 do | |
live_loop :skulpt, delay: 68 do | |
deg = sync :kick | |
stop if tick(:loops) > 47 | |
(range, 3, 8).choose.times do | |
midi (chord_degree, deg[:deg], 60, :minor_pentatonic, 3).choose + [0, 12].choose, sustain: 0.2 | |
sleep [0.25, 0.5].choose | |
end | |
end | |
end | |
with_midi_defaults port: skulpt, channel: 9 do | |
live_loop :fm, delay: 128 do | |
deg = sync :snare | |
stop if tick(:loops) > 21 | |
puts look(:loops) | |
6.times do | |
nlen = [0.25, 0.5, 1].choose | |
midi (chord_degree, deg[:deg], 36, :blues_minor).choose + [0, 12].choose, sustain: nlen | |
sleep nlen | |
end | |
end | |
end | |
with_midi_defaults port: mono_int, channel: 14 do | |
live_loop :monologue, delay: 34 do | |
if tick(:loops) > 47 | |
sleep 1 | |
midi_cc 24, 122 | |
midi_cc 25, 85 | |
16.times do | |
midi 53, sustain: 0.1 | |
sleep 0.125 | |
end | |
midi 48, sustain: 5.98 | |
sleep 6 | |
stop | |
end | |
sync :drums if one_in(3) | |
(range, 2, 5).choose.times do | |
midi_cc 24, rrand_i(109, 121) | |
midi_cc 25, rrand_i(75, 88) | |
nlen = [ 0.125, 0.25, 0.5, 0.75, 1].choose | |
notes = (scale, 36, :blues_minor, num_octaves: 2).choose | |
decay = 55 | |
decay = 35 if nlen == 0.125 | |
decay = 25 if nlen == 0.0625 | |
midi_cc 17, decay | |
([0.5, 1.0, 1.5].choose/nlen).times do | |
midi notes, sustain: nlen * 0.75 | |
sleep nlen | |
end | |
end | |
sleep 1 | |
end | |
end | |
with_midi_defaults port: r3_int, channel: 5 do | |
live_loop :r3 do | |
stop if tick(:loops) > 95 | |
deg = sync :snare | |
cho = (chord_invert, (chord_degree, deg[:deg], [60, 72].ring.tick, :minor_pentatonic, 4), [-2, -1, 0, 1].choose) | |
cho.each do |n| | |
midi n, sustain: 0.5 | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment