Skip to content

Instantly share code, notes, and snippets.

@kniknoo
Created January 10, 2017 02:54
Show Gist options
  • Save kniknoo/20edd7eeb64d7ddd45bae2d44b714b3e to your computer and use it in GitHub Desktop.
Save kniknoo/20edd7eeb64d7ddd45bae2d44b714b3e to your computer and use it in GitHub Desktop.
Caustic Rainbow for Sonic Pi
#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