1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
-- Computer Riddim!#
-- Following instructions in http://studio.dubroom.org/tutorials-computerdub15.htm
-- Skipped: Chap 18 (Why?)
-- Skipped: Chap 21 (Too complex, rather live synth)
-- TODO: Chap 22 - From reggae to dub
do
-- region Nova Utils
let gG a = (gain ("^77" * a)) -- gain Global
let gM' l h a = (gG (range l h a)) -- gain Modéré
let gM a = (gM' 0.2 0.8 a) -- gain Modéré doux
let gLPF = (# lpf (min 10000 ((range 200 20000 ("^49")))))
let gHPF = (# hpf (max 0 (min 7500 ((range "-7500" 7500 ("^49"))))))
let gDJF = (gLPF . gHPF)
let novaOn ch pat = (sometimesBy ch pat)
let novaOff ch pat = sometimesBy (1 - ch) (pat)
-- endregion Nova Utils
let gDelayD = (# delay (range 0 5 "^13"))
let gDelayFB = (# delayfb (range 0 0.9 "^14"))
let gRoom = ((|+ room (range 0 0.5 "^29")) . (# dry 0.99))
let gSize = (|+ size (min 0 (range "-0.5" 0.5 "^29")))
let gDelay = (gDelayD . gDelayFB . (# delayt 0.25) . (# orbit 2))
let g = (gDJF . gRoom)
let chords = "<[a5,c5,e5] [e4,g4,b4]>"
setcps (140/60/4) -- keep it between 110-190 BPM. You won't be sorry you did.
-- resetCycles
d1
$ g -- Kick
$ superimpose ((# "kick:5")
. (# crush (range 6 2.5 "^50"))
. (|* gain (range 0 1 "^50")))
$ novaOn "^73" (<| "~ ~ k ~") -- 1D
$ novaOn "^74" (<| "k*2") -- 2D
$ novaOn "^75" (<| "k ~ ~ <~!3 k>. k ~ <~ k> <k ~>")-- RubADub+adjustements
$ novaOn "^41" (<| "k*4") -- 4F
$ novaOff "^41" (<| "k . k <~ [<~ k> <k ~>]>")-- RubADub
$ "[jazz,tech:5]"
# room 0.05
# gM' 0 1.05 "^78"
d2
$ g -- Snare
$ (|- lpf 1000)
$ (|/ lpf 2)
$ novaOn "^43" (|<| "s*4")
$ "~ <~!7 s> ~ ~ . s"
# "[snare:50,snare:4]"
# orbit 1
# gM' 0.2 0.9 "^79"
d3 $ g -- Hats
$ every' 4 3 (
sometimesBy "0 . 1 0!3" ((# "ho:2") . (|* gain 0.9))
. sometimesBy "0 . 0 1 0 0" (|* gain 0)
)
$ novaOn ("^76") (slice 8 (run 8) . (loopAt 1) . (>| "breaks165"))
$ novaOn ("^44") (<|"h*8") -- TODO Eclaircir
$ novaOff ("^44") (<| "h*[8 . 8 <8 16 32 4>]")
$ (|* gain "[1 0.9]*4") -- make sure that you reduce the velocity of the second Hi Hat hit
$ s "gretsch:4"
-- # pan "^52"
# cut 3
# orbit 1
# gM' 0.2 1.5 "^80"
d4 $ g -- Bassline
$ novaOn "^57" (>| note "[~ a4] <a4 e e a4> [~ <a4 c>] <a4 e>") -- Naif
$ novaOff "^57" (>| note "<[~ a4@1.5 . a4 a4 e c] [e e . b4*<1 <2 4>>]>") -- simple+adjustements
$ note "0" # "bass1:3"
# cut 4
# pan 0.6
# attack (range 0 1 "^53")
# crush (range 16 4 "^53")
# lpq (range 0 1 "^33")
# release 0.95
# orbit 1
# gM' 0.25 1.2 "^81"
d5 $ g $ gDelay -- Skank Piano
$ whenmod 4 3 (sometimesBy "0 1 . 0" (
(# note "[d5,g4,b4]") . (|* gain 0.8)
))
$ "<[~ p*<1 1 1 <1 2>> ~ p*<1 1 2 1>]>"
-- TODO FIX ALIGNMENT CONTRETEMPS DE LA REPETITION
-- $ "<[~ p p] [~ [p <~ p*<1 2>>] . ~ p]>"
# "superpiano"
# note chords
# velocity 0.6
# sustain 0.34
# release 0.8
# room 0.13 # sz 0.4
# pan 0.4
# gM' 0 1 ("^82" * (range 0.25 1.5 "^54"))
d6 $ g $ gDelay-- Skank Hammond
$ ("0.125" ~>)
$ fast 2
$ note (("[0 12 0 <~!6 12!2>]" |+ (slow 2 chords)))
# "superhammond"
# gM' 0 0.8 ("[0 0.25 0 0]" |+ "^82" * (range 0 0.9 "^34"))
# voice 6
# octave 6
# pan 0.74
# sustain 0.25
d7
$ g $ gDelay -- Skank Guitar
$ note "[~ <a'min!2 e'min!2>]*2"
# "pluck:5"
# octave 5
# gM' 0 1 ("^82" * ((range 0.25 1.5 "^18")))
d8 -- Trompette lancinante
$ g $ gDelayD
$ degradeBy "^35"
$ novaOn "^59" (mask "<f!3 t>")
$ superimpose ((|- note 12) . (# cut 81) . (|* gain 0.85))
$ note ("<g [<a d> bf d ~]> <g [~ g a]>" + "0 <12 0>")
# "brass" # n "2"
# gM' 0.2 0.85 ("^55")
# attack 0.5 # cut 8
d9 -- CP
$ sometimesBy "^59" (fast 2)
$ (# lpf 2000)
$ g
$ whenmod 4 2 (superimpose ((# "clap") . (# lpf 4500) . (|* gain 0.8)))
$ fast 2
$ "~ cp"
# gM' 0 1.1 "^83"
# room 0.2
# dry 0.9
# lpf 2000
once $ "brass:4" # gain 0.6 # cut 1