Skip to content

Instantly share code, notes, and snippets.

@Freemoth
Created October 27, 2018 19:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Freemoth/ab97b187031d862bf31ed230fce61990 to your computer and use it in GitHub Desktop.
Save Freemoth/ab97b187031d862bf31ed230fce61990 to your computer and use it in GitHub Desktop.
nobiilus
# Nobilus, no. 2, 19Mar2017; 28Dec2017
# nobilus2b.txt
use_debug false
tb = 24; tc = 12
notes0 = [67, 69, 70, 72, 74]
notes1 = [67, 69+tc, 71, 72-tb, 74-tb]
notes2 = [67-tb, 69-tb, 70-tb, 72, 74]
notes3 = [67+tc, 69-tc, 70, 72-tc, 74-tc]
notes4 = [67-tc, 69, 71-tc, 72+tc, 74+tc]
#### see also comments in loops below
tickypan = [0.9, 0.75, 0.55, 0.45, 0.35, 0.25, 0.15, 0,
-0.15, -0.25, -0.35, -0.45, -0.55, -0.65, -0.75, -0.85, -1]
z = 0; zz = 0; piano = 0; q = 0.2; qq = 0 #### loop one variables, e, x (declared in the loop)
t = 0; v = 0.1 #### ticky variables and s (declared in the loop)
d = 0 #### bass variable and, xb, y, z, c (declared in the loop)
#### w perc variable (declared in the loop)
live_loop :ticky, delay: 15 do
t += 1 #### resets tick, v
v += 0.03 #### controls amp and rate of sample
s = 0.75 + (v * 0.5) #### sleep value
puts "t = #{t}"
puts "v = #{v}"
puts "s = #{s}"
if t < [17, 4].choose
with_fx :hpf, cutoff: rrand(80, 100), mix: 0.6 do
sample :elec_blip, amp: 0.1, pan: [tickypan.reverse.tick, tickypan.tick].choose,
amp: v, rate: 1 + v * 0.1, release: 0.5
end
sleep s
else
if t == 30
tick_reset
t = 0
v = 0.1
end
sleep 0.75
end
end
live_loop :one do
e = [3, 7, 1].choose #envelope curve
piano += 1
puts "envelope is #{e}"
x = rrand_i(0, 4)
if x == 4
zz += 1
end
puts "x is #{x}"
puts "zz is #{zz}"
qq = q + 0.4
puts "q is #{q}"
puts "qq ............ #{qq}"
use_synth :beep
use_synth_defaults env_curve: e, attack: (x * 0.0015) + 0.01, amp: q + 0.5,
pan: rrand(-qq, qq)
with_fx :gverb, pre_amp: [0.45, 0.15].choose, release: 0.75, pre_damp: 0.8,
room: rrand(10, 12), mix: 0.2*x do
if zz == 3
with_fx :echo, amp: 1.2 do
case x
when x = 0
play notes0[x + rrand_i(0, 4)], release: q
if piano > [24, 22].choose
puts "piano yes"
with_fx :reverb, amp: [0.6, 1.2].choose, mix: rrand(0.6, 0.8) do
with_synth [:dark_ambience, :piano].choose do
play_chord [notes0[0, 2], notes2[1, 3], notes3[2,4]].choose, release: q
end
if piano == 30
piano = 0
end
end
end
when x = 1
play notes1[x + rrand_i(-1, 3)], release: q
when x = 2
play notes2[x + rrand_i(-2, 2)], release: q
when x = 3
play notes3[x + rrand_i(-3, 1)], release: q
when x = 4
play notes4[x + rrand_i(-4, 0)], release: q
end
end
else
case x
when x = 0
play notes0[x + rrand_i(0, 4)], release: q
sample [:drum_cymbal_pedal, :drum_snare_soft].choose
when x = 1
play notes1[x + rrand_i(-1, 3)], release: q
when x = 2
play notes2[x + rrand_i(-2, 2)], release: q
when x = 3
play notes3[x + rrand_i(-3, 1)]-2, release: q
puts "yes"
when x = 4
with_fx :panslicer, amp: 0.6, pulse_width: 0.6, smooth: 0.3, phase: 0.35 do
play notes4[x + rrand_i(-4, 0)], release: q
end
sample :bd_808
end
end
end
if zz == 5
zz = 0
q = [0.05, 0.1, 0.3, 0.6].choose
sleep [2, 4].choose
else
sleep [0.25, 0.33333333].choose
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment