Might just be classed as Lo-Fi, maybe… no external samples, no samples sliced… No Midi or OSC… No external remixing… 100% SP code on PC
Eli…
Might just be classed as Lo-Fi, maybe… no external samples, no samples sliced… No Midi or OSC… No external remixing… 100% SP code on PC
Eli…
Not Lo-Fi … but excellent background whilst reading or just chillin.
Eli…
# Title: Eternal
# Artist: Paul 'Just Eli...' Whitfield
# Date: 16/06/2019
#
# Sonic Pi v3.1
use_bpm 60
sc = scale(:eb3, :major_pentatonic, num_octaves: 2).shuffle #scale stored in variable
tracker = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
start = (knit true, 1, false, 3)
notes =[:f4, :ab4, :bb4, :ab4, :bb4, :c4, :e4, :c4]
timing = [0.5, 0.5, 1, 0.5, 0.5, 0.5, 1, 1]
clarinet_notes = scale(:eb2, :major_pentatonic, num_octaves: 3)
clarinet_rhythm = (ring 0.25, 0.75, 1, 0.75, 0.25, 0.5, 0.5)
fade_in = (line 0, 3, inclusive: true, steps: 20).ramp
define :start_loop do |i|
tracker[i] = 1
end
define :stop_loop do |i|
tracker[i] = 0
end
define :stop_all do
(0..12).each do |i|
tracker[i] = 0
end
end
with_fx :mono, mix: 1 do
with_fx :rlpf, res: 0.7, cutoff: 130 do
with_fx :distortion, distort_slide: 2, distort: 0.3, mix: 1.0 do
live_loop :drum do
sync :loop
tick
if tracker[0]>0 then
at [2.0+rand_i(6)] do
sample :vinyl_hiss,amp: [0.5,1].choose
end
if start.look
with_fx :rhpf, cutoff: 110, amp: 0.3 do
with_fx :flanger do
with_fx :echo, decay: 4 do
sample :elec_cymbal
end
end
end
end
at [0.0, 0.5, 1.5, 4.0,
4.5, 5.5, 6.25, 6.5] do
sample :elec_hollow_kick, pan: 0, amp: 3
end
with_fx :echo, decay: 2, mix: 0.4 do
use_random_seed 1234
32.times do
sample :drum_cymbal_closed, pan: -0.7, amp: 1 if one_in(2)
sleep 0.25
end
end
else
sleep 0.5
end
end
end
end
end
with_fx :ixi_techno, phase: 2, cutoff_min: 30+rand_i(30),cutoff_max: 60+rand_i(30) do
with_fx :flanger do
with_fx :reverb do
live_loop :chant1 do
use_synth :piano
if tracker[1]>0 then
if rand() > 0.85 then
notes =[:f4, :ab4, :bb4, :ab4, :bb4, :c4, :e4, :c4]
else
notes =[:f4, :ab4, :bb4, :ab4, :bb4, :c4, :e4, :c4].shuffle
end
for i in 0..4
for j in 0..i
puts j
play notes[j]-12, sustain: 1
play notes[j+1], sustain: 1 if one_in(4)
sleep timing[j]*[1,2].choose
end
end
sleep 4
else
sleep 0.5
end
end
end
end
end
with_fx :flanger do
with_fx :reverb do
live_loop :chant2 do
use_synth :pluck
if tracker[2]>0 then
if rand() > 0.85 then
sc = scale(:eb3, :major_pentatonic, num_octaves: 2)
else
sc = scale(:eb3, :major_pentatonic, num_octaves: 2).shuffle
end
for i in 0..3
for j in 0..i
puts j
play sc.tick(:scl), amp: 0.125, release: 2,amp: 1
play sc.look+12, amp: 0.125, release: 2,amp: 1 if one_in(4)
sleep timing[j]*[1,2].choose
end
end
sleep 4
else
sleep 0.5
end
end
end
end
live_loop :clarinet do
if tracker[3]>0 then
use_synth :fm
if one_in 3 then
clarinet_notes = scale(:eb2, :major_pentatonic, num_octaves: 3)
clarinet_rhythm = (ring 0.25, 0.75, 1, 0.75, 0.25, 0.5, 0.5)
else
clarinet_notes = scale(:eb2, :major_pentatonic, num_octaves: 3).shuffle
clarinet_rhythm = (ring 0.25, 0.75, 1, 0.75, 0.25, 0.5, 0.5).shuffle
end
use_synth_defaults divisor: 0.5, depth: 4, attack: 0.05, sustain: 0.2, release: 0.2, amp: 0.05*fade_in.tick
with_fx :reverb, room: 0.75, damp: 0.25 do
play clarinet_notes.tick
play clarinet_notes.look
play clarinet_notes.look
end
sleep clarinet_rhythm.look
else
sleep 0.5
end
end
live_loop :control_clarinet do
if tracker[4]>0 then
start_loop 3
sleep 16+rand_i(16)
stop_loop 3
sleep 32+rand_i(32)
else
sleep 0.5
end
end
live_loop :loopy do
cue :loop
sleep 1
end
drums = 0
chant1 = 1
chant2 = 2
clarinet = 3
control_clarinet = 4
start_loop chant1
sleep 8
start_loop drums
sleep 8
start_loop chant2
sleep 32
start_loop control_clarinet