Skip to content

Instantly share code, notes, and snippets.

@AlexandreRangel
Created July 17, 2016 20:46
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AlexandreRangel/0e72d9001707900d66279cdcb95c0c62 to your computer and use it in GitHub Desktop.
Save AlexandreRangel/0e72d9001707900d66279cdcb95c0c62 to your computer and use it in GitHub Desktop.
Sonic Pi music code
# Alexandre rANGEL / www.quasecinema.org
# freed-v05
# Sonic Pi 2.11 / 17-July-2016
set_volume! 1.2
munch = '/Users/rangel/pisamples/munching.flac'
# http://www.freesound.org/people/lazr2012/sounds/169606
load_sample munch
freed = '/Users/rangel/pisamples/freed.wav'
#http://www.freesound.org/people/Freed/sounds/11257
load_sample freed
##################################################################
myBPM = 10
live_loop :metro do
with_bpm myBPM do
4.times do
clock = tick(:metro)
bar = (clock / 4) + 1
puts "bpm: #{myBPM} bar: #{bar}"
puts (ring "1 |","2 | |","3 | | |","4 | | | |")[clock]
sleep 1
end # 4 times
myBPM = [1,2,2,6,6,10,12,16,10,12,16,20,24,30].choose
end #bpm
end #metro
##################################################################
live_loop :munch do
with_bpm myBPM do
4.times do
x = (ring 2,4,8).tick
with_fx :compressor,
slope_below: 1.6, slope_above: 0.8, threshold: 0.5,
mix: 0.8 do
with_fx :octaver, mix: rrand(0.02,0.7) do
sample munch, rate: 1.0 / x,
pan: [-1,-0.75,0.75,1].choose, pan_slide: 4,
amp: 1.4
sleep 2
sample munch, rate: 1.0 / x / 2.0,
pan: [-1,-0.75,0.75,1].choose * -1,
pan_slide: [2,4].choose,
amp: rrand(1,3)
sleep 2
sample munch, rate: 1.0 / x / 4.0,
pan: [-1,-0.75,0.75,1].choose * -1, pan_slide: 2,
amp: rrand(2.8,3.3)
end
end
sleep 4 * x
end # 4 times
end #bpm
end
##################################################################
live_loop :freed do
with_bpm myBPM do
4.times do
with_fx :compressor,
slope_below: 1.444, slope_above: 0.8, threshold: 0.5,
mix: 0.6 do
with_fx :octaver, mix: rrand(0.01,0.7) do
with_fx :echo, phase: rrand(0.1,0.3),
mix: rrand(0.01,0.8) do
with_fx :pitch_shift,
pitch: [-24,-20,-16,-12,-8,-4,-2].choose,
window_size: rrand(0.01,0.1) do
with_fx :tanh, krunch: rrand(0,4),
mix: rrand(0.5,0.8) do
with_fx :whammy do
with_fx :pitch_shift,
pitch: ((ring 0,0,-2,-2,-4).tick)-4,
window_size: rrand(0.002,0.01) do
with_fx :echo, phase: 1.0 / 3,
mix: rrand(0,0.9) do
sample freed, pan: [-1,-0.75,0.75,1].choose,
pan_slide: [0.5,1,2,4].choose
end
end
sample freed, rate: 1.0 / 8,
start: rrand(0,0.9), attack: 0.1,
pan: [-1,-0.75,0.75,1].choose,
pan_slide: [1,2].choose,
amp: 3
end
end
end
end
end
end
sleep 8
end # 4 times
end #bpm
end
##################################################################
with_fx :compressor,
slope_above: 0.5, slope_below: 1.3, threshold: 0.5, mix: 0.7 do
with_fx :ixi_techno, phase: 64, mix: 0.222 do
live_loop :birds do
with_bpm myBPM do
4.times do
with_bpm [3,6,12,30,60].choose do
with_fx :pitch_shift,
pitch: (ring 8,8,8.4,8.8,8,8,10,12).tick,
pitch_slide: [0.2,0.2,0.4,1].choose,
window_size: rrand(0.004,0.006) do
with_fx :slicer, phase: [0.199,0.2,0.201].choose do
with_fx :reverb, room: rrand(0.7,0.9),
mix: rrand(0.2,0.4444), mix_slide: 1 do
with_fx :pitch_shift,
pitch: rrand(-8,0), pitch_slide: [1.2,1.4,1.6,1.8].choose,
window_size: rrand(0.0002,0.2),
mix: rrand(0.2,0.5) do
with_fx :flanger, phase: [8,9,12,16].choose,
mix: rrand(0,1) do
with_fx :octaver do
with_fx :echo, phase: [3,6,9].choose do
with_fx :pitch_shift,
pitch: rrand(0,8), pitch_slide: 1,
window_size: [0.001,0.002,0.01,0.1].choose do
with_fx :echo,
phase: [0.1,0.2,0.25,0.5,1,2,3,4,6,8].choose do
with_fx :flanger, phase: rrand(0.5,3) do
with_fx :octaver do
synth :sound_in,
pan: [-1,1].choose,
#pan: [-1,-0.9,-0.8,-0.7,0.7,0.8,0.9,1].choose,
pan_slide: [0.25,0.5,1,2,4].choose,
amp: rrand(1,1.8) * [0.6,0.75,0.9].choose
end
end
end
end
end
end
end
end
end
end
end
sleep [1,2,4,8].choose
end
end # 4 times
end #bpm
end
end
end
##################################################################
# feeedback!
with_fx :compressor,
slope_above: 0.5, slope_below: 1.3, threshold: 0.5, mix: 0.7 do
live_loop :fingers do
with_bpm 60 do
with_fx :pitch_shift,
pitch: (ring 8,8,8.4,8.8,8,8,10,12).tick,
pitch_slide: [0.2,0.2,0.4,1].choose,
window_size: rrand(0.004,0.006) do
#with_fx :slicer, phase: [0.199,0.2,0.201].choose do
with_fx :reverb, room: rrand(0.7,0.9),
mix: rrand(0.2,0.4444), mix_slide: 1 do
with_fx :pitch_shift,
pitch: rrand(-8,0), pitch_slide: [1.2,1.4,1.6,1.8].choose,
window_size: rrand(0.0002,0.2),
mix: rrand(0.2,0.5) do
with_fx :flanger, phase: [8,9,12,16].choose,
mix: rrand(0,1) do
with_fx :octaver do
with_fx :echo, phase: [1,2,3,6,9,12].choose do
with_fx :pitch_shift,
pitch: rrand(0,8),
pitch_slide: [0.5,1,2].choose,
window_size: [0.0001,0.001,0.01,0.1].choose do
with_fx :echo,
phase: [0.2,0.25,0.5,1,2,3,4].choose do
with_fx :ixi_techno, mix: 0.5 do
with_fx :flanger, phase: rrand(0.2,6) do
with_fx :octaver do
synth :sound_in,
pan: [-1,1].choose,
#pan: [-1,-0.9,-0.8,-0.7,0.7,0.8,0.9,1].choose,
pan_slide: [0.25,0.5,1,2,4].choose,
amp: rrand(1,1.4444) * rrand(0.4,0.8)
#end
end
end
end
end
end
end
end
end
end
end
end
sleep [1,2,4].choose
end
end
end
##################################################################
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment