Created
January 10, 2017 02:54
-
-
Save kniknoo/20edd7eeb64d7ddd45bae2d44b714b3e to your computer and use it in GitHub Desktop.
Caustic Rainbow for Sonic Pi
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
#CausticRainbow | |
#Coded by KniKnoo | |
use_bpm 70 | |
use_random_seed 6 | |
with_fx :gverb, mix: 0.7, room: 30, release: 3, amp: 0.4 do | |
with_fx :slicer, phase: 0.125, probability: 0.7, prob_pos: 0, wave: 0, seed: 4567, pulse_width: 0.75 do | |
with_fx :tanh, krunch: 7, mix: 0.4 do | |
live_loop :wanana do | |
with_fx :whammy, transpose: 1, deltime: 0.02, grainsize: 0.05, transpose_slide: 2 do |w| | |
use_synth :zawa | |
use_synth_defaults attack: 0.5, decay: 2, sustain: 1, release: 1, amp: 0.4, sustain_level: 0.8 | |
play :g4 + rrand(-0.3, 0.3) | |
play :cs4 + rrand(-0.3, 0.3) | |
control w, transpose: -11 | |
sleep 6 | |
end | |
end | |
end | |
end | |
end | |
with_fx :distortion, distort: 0.8, amp: 0.5 do | |
live_loop :drums do | |
use_sample_defaults sustain: 0, release: 0.15 | |
cue :bass | |
sample :bd_ada | |
sleep 0.5 | |
sample :sn_dolf | |
sleep 0.5 | |
sample :bd_ada | |
sleep 0.25 | |
sample :bd_ada | |
sleep 0.25 | |
sample :sn_dolf | |
slen = [0.125, 0.375].choose | |
sleep slen | |
sample :sn_dolf if one_in(5) | |
sleep 0.5 - slen | |
end | |
live_loop :hats do | |
with_fx :rhpf, cutoff: 110, res: 0.4 do | |
use_synth :noise | |
use_synth_defaults release: 0.04, sustain_level: 0.3, amp: 0.8 | |
play 32 unless one_in(12) | |
sleep 0.125 | |
play 32 unless one_in(3) | |
sleep 0.125 | |
play 32, decay: 0.2, release: 0.05, amp: 0.25 | |
sleep 0.25 | |
end | |
end | |
live_loop :rim do | |
sample :elec_blip, sustain: 0.02, amp: 1.2, rate: 0.5 if one_in(3) | |
sleep 0.125 | |
end | |
end | |
with_fx :wobble, phase: 0.5, cutoff_max: 126, cutoff_min: 80, res: 0.6, cutoff_min_slide: 2, cutoff_max_slide: 4, amp: 0.7 do | |
live_loop :tb do | |
nlen = [0.125, 0.125, 0.125, 0.25, 0.25, 0.5].choose | |
mynote = [:gs1, :gs2, :a1, :a2].choose | |
use_synth :tb303 | |
use_synth_defaults attack: 0.009, decay: nlen / 5, sustain: nlen / 6, release: nlen / rrand(4, 7), sustain_level: 0.6, | |
cutoff_sustain_level: rrand(0.5, 0.8), cutoff: rrand(100, 125), res: 0.9, amp: 0.6 | |
with_fx :echo, mix: 0.15, phase: 0.25, decay: 0.5 do | |
with_fx :distortion, distort: 0.7, mix: 0.5, amp: 0.5 do | |
play mynote + 12 | |
play mynote , wave: 1 | |
sleep nlen | |
end | |
end | |
end | |
end | |
with_fx :gverb, mix: 0.8, amp: 0.9, room: 50, ref_level: 0.6, tail_level: 0.3 do | |
live_loop :pads do | |
with_fx :wobble, phase: 1, cutoff_min: 100, cutoff_max: 120, res: 0.6, wave: 0, amp: 0.9 do | |
with_fx :flanger, depth: 0.5, feedback: 0.5, stereo_invert_wave: 1, max_delay: 10, delay: 2, mix: 0.5 do | |
with_fx :hpf, cutoff: 60 do | |
use_synth :dark_ambience | |
tick_reset_all | |
nlen = [0.25, 0.25, 0.25, 0.5, 0.5, 1].shuffle | |
use_synth_defaults attack: 0.75, decay: 1.5, decay_level: 0.9, sustain: 2, sustain_level: 0.9, release: 4, | |
cutoff: 120, res: 0.5, vibrato_depth: 0.25, amp: 0.8, note_slide: 0.1, env_curve: 3 | |
mynote = (ring, :gs3, :a3, :d4, :ds4).shuffle | |
lo = play mynote.tick(:no) | |
hi = play mynote.look(:no) + 6 | |
sleep 3 | |
6.times do | |
control lo, note: mynote.tick(:no) | |
control hi, note: mynote.look(:no) + 6 | |
sleep nlen.tick | |
end | |
end | |
end | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment