And here’s a first result, the mood is there, but the track is seriously lacking something that drives it forward, it feels more like an ambience piece/intro.
Quite happy so far, but lots more to understand…
Also my code is ugly, really ugly, I wish I could fold it like in Visual Studio (or write better code)
Code (pretty much useless as I used custom samples)
# variables to refer to my samples
kick = "C:/Users/aless/Desktop/DubstepSamples/kick"
snare = "C:/Users/aless/Desktop/DubstepSamples/Snare"
bass = "C:/Users/aless/Desktop/DubstepSamples/Bass"
vox = "C:/Users/aless/Desktop/DubstepSamples/Vox"
cymbal = "C:/Users/aless/Desktop/DubstepSamples/cymbal"
fx = "C:/Users/aless/Desktop/DubstepSamples/fx"
chh = "C:/Users/aless/Desktop/DubstepSamples/chh"
perc = "C:/Users/aless/Desktop/DubstepSamples/Perc"
# end sample variables
use_bpm 280
#Sync track
in_thread(name: :click) do
loop do
cue :tick
sleep 1
end
end
## loops are defined below
#Intro drum
define :introbeat do
live_loop :introbeat do
sync :tick
at 0 do
sample kick, 4
end
at 2 do
sample bass, rand_i(15), pan: rrand(-0.5, 0.5)
end
with_fx :reverb, room: 1, amp: 0.4 do
at 3 do
if one_in(4)
sample snare, 6, pitch: -0.5
else
if one_in(4)
sample snare, 5
sleep [0.25, 0.175].choose
if one_in (4)
sample snare, 5, attack: 0.175, amp: 0.5
sleep [0.25, 0.175].choose
sample snare, 5, attack: 0.175, amp: 0.5
else
sample snare, 5, attack: 0.175, amp: 0.5
end
else
sample snare, 5
end
end
end
sleep 4
#chh
sleep 0.25
sample chh, rand_i(26)
sleep 0.75
sleep 4
end
end
end
# fx
define :distant do
live_loop :distant do
with_fx :reverb, room:1 do
sync :tick
sample fx, 6, gain: 0.3, pitch: rrand(-1, -4), rate: 0.5, amp: 0.1
sleep rrand_i(5, 13)
end
end
end
define :nodistant do
live_loop :distant do
sleep 1
end
end
#chh crickets
define :crickets do
live_loop :cricketloop do
sync :tick
sample chh, 6, start: 0.05, finish: 0.16, amp: rrand(0.05, 0.1), pan: rrand(0.3, 0.5)
sleep rrand(0.24, 0.27)
end
end
define :nocrickets do
live_loop :cricketloop do
sync :tick
sleep 1
end
end
#voxfx
define :voxfx do
in_thread(name: :voxfx) do
8.times do
at [7] do
sync :tick
with_fx :reverb do
with_fx:echo do
sample vox, rand_i(10), beat_stretch: 8, amp: 0.5, pitch: -2 if one_in (2)
end
end
end
end
sleep 8
end
end
define :newbeat do
live_loop :introbeat do
sync :tick
#kick on 1
sample kick, 4
sleep 1
#Basses
sample bass, rand_i(15), pan: rrand(-0.5, 0.5)
sleep 1
if one_in(4)
sample kick, 4, amp: 0.5
end
sleep 1
#snare on 9
sleep 5
with_fx :reverb, room: 1, amp: 0.4 do
if one_in(4)
sample snare, 5
sleep [0.25, 0.175].choose
if one_in (4)
sample snare, 5, attack: 0.175, amp: 0.5
sleep [0.25, 0.175].choose
sample snare, 5, attack: 0.175, amp: 0.5
else
sample snare, 5, attack: 0.175, amp: 0.5
end
else
sample snare, 5
end
sleep 7
# kick on 13
if one_in(4)
sample kick, 4, amp: 0.7
sleep 0.25
sample kick, 4, amp: 0.3
end
end
end
sleep 16
end
define :nobeat do
live_loop :introbeat do
sync :tick
sample kick, 4, amp: 0.5
sleep 8
end
end
#introbeat
##newbeat
###nobeat
#distant
##nodistant
#crickets
##nocrickets
#voxfx
##Arrangement
nobeat
distant
sleep 16*4
introbeat
nodistant
sleep 16*4
crickets
sleep 16*2
introbeat
voxfx
distant
sleep 16*8
nobeat
nodistant
nocrickets