Sleeping With Fishes
use_random_seed(Time.now.nsec) | |
use_bpm(128) | |
arpTickRing = (ring 1,2,3,4,5) | |
arpTick = 0 | |
scaleRing = (ring :ritusen, :shang, :jiao, :zhi, :gong, :yu, :neapolitan_minor, :chinese) | |
masterScale = :ritusen | |
masterRoot = :Eb3 | |
arpInit = 1 | |
sampleInit = 1 | |
bubbleInit = 1 | |
slowInit = 1 | |
live_loop :fastsequencing do | |
sleep 128 if arpInit == 1 | |
arpTick = arpTickRing.choose | |
sleep 4 | |
end | |
with_fx :gverb, room: 10, spread: 0.9, mix: 0.15 do | |
with_fx :reverb, Mix: 1 do | |
with_fx :echo, phase: 0.1, mix: 0.8 do | |
live_loop :bubble do | |
bubbleSample = :elec_plip | |
sleep 32 if bubbleInit == 1 | |
if one_in(10) | |
30.times do | |
sample bubbleSample, rate: rrand(0.1, 2) if one_in(3) | |
sleep rrand(0.1, 2) | |
end | |
end | |
bubbleInit = 0 | |
sleep 16 | |
end | |
end | |
use_synth :pretty_bell | |
live_loop :slowsequencing do | |
sleep 256 if slowInit == 1 | |
use_octave +4 | |
play masterRoot | |
arpInit = 1 if one_in(2) | |
sampleInit = 1 if one_in(20) | |
bubbleInit = 1 if one_in(30) | |
masterScale = scaleRing.choose | |
slowInit = 0 | |
sleep (ring 128, 256, 64).choose | |
end | |
end | |
use_synth :fm | |
arpAmp = 0.6 | |
arpAmpDirection = 0 | |
with_fx :echo do | |
live_loop :arp do | |
sleep 128 if arpInit == 1 | |
play (scale masterRoot, masterScale, num_octaves:2).tick(step: arpTick), release: 0.15, amp: arpAmp, pan: rrand(-0.75, 0.75) | |
if arpAmpDirection == 0 | |
arpAmp = arpAmp - 0.025 | |
else | |
arpAmp = arpAmp + 0.025 | |
end | |
(arpAmpDirection = 1) if arpAmp <= 0.1 | |
(arpAmpDirection = 0) if arpAmp >= 0.6 | |
arpInit = 0 | |
sleep 0.125 | |
end | |
end | |
with_fx :lpf, cutoff: 64 do | |
live_loop :ambience do | |
sleep 64 if sampleInit == 1 | |
ambienceSample = :ambi_sauna | |
sample ambienceSample, rate: 0.05 | |
sampleInit = 0 | |
sleep (sample_duration(ambienceSample) * 20) | |
end | |
end | |
end | |
use_synth :tri | |
use_octave -2 | |
live_loop :bass do | |
play (scale masterRoot, masterScale, num_octaves:2).tick(step: 4), release: 18, pan: -0.5 | |
play ((scale masterRoot, masterScale, num_octaves:2).tick(step: 3) + 0.25), release: 18, pan: 0.5 | |
sleep 16 | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment