Commit a382ef84 by PLN (Algolia)

live: From amis_roots to fm_radio

parent c0311301
resetCycles
setcps (120/60/4)
do
let fmamp op = pF ("amp" ++ show op)
let fmratio op = pF ("ratio" ++ show op)
let fmdetune op = pF ("detune" ++ show op)
let fmmod opa opb = pF ("mod" ++ show opa ++ show opb)
let fmfeedback = pF "feedback"
let fmeglevel op step = pF ("eglevel" ++ show op ++ show step)
let fmegrate op step = pF ("egrate" ++ show op ++ show step)
let fmparam function (x:xs) = foldr (#) (function 1 x) (zipWith function [2..] xs)
let fmamps = fmparam fmamp
let fmratios = fmparam fmratio
let fmdetunes = fmparam fmdetune
let envrate op = fmparam (fmegrate op)
let envlevel op = fmparam (fmeglevel op)
let prog = "<c4'maj g4'maj a4'min f4'maj a4'min c4'maj>"
let breakPont = whenmod 64 48 (# djf (slow 16 $ range 0.5 0.95 isaw))
let breakDJF = whenmod 32 20 (# djf (slow 12 $ range 0.5 0.05 isaw))
let break40 = mask "<t!40 f!8 t!8>"
let g = breakDJF . breakPont
let gM = ((# djf "<0.5!20 0.4!12 0.5!16 0.6!16>")) -- Lighter breaks
let gOutDeg = (whenmod 256 128 (degradeBy ("0 0.5!15" * (slow 128 saw))))
let gOut = (gOutDeg)
d1 $ g
$ break40
$ mask "<f!8 t!120>" -- Intro périodique
$ someCyclesBy "<f!32 t!8 f!8 f!16>" (<| "k . k(<3 3 5 [5 8]>,8)")
$ someCyclesBy "<f!2 t f t!28>" (<| "k k k <k!4 [~ k]!3 k*2>")
$ "[jazz,bd,cpu]"
# room 0.31 # sz 0.5 # dry 0.9
# lpf 3000
# gain (slow 32 $ range 0.45 0.6 saw)
d2 $ g
$ mask "<f!16 t!112>" -- Intro périodique
$ mask "<t!40 f!6 t [f . t f] t!8>"
$ whenmod 8 6 (# n "7 . <0 [7 1]>")
$ "hh([8 <[8 [8|12]]!3 <4 [4 16]>>],8)"
# gain (0.33 + 0.1 * (fast 4 perlin))
# pan "0.2 0.4"
d3 $ gM -- Modulated bassline
$ slow 2
$ off "h" (arp "converge <down!3 up>" . (|* gain 0.75))
$ n (
prog
- 12
)
# "superfm"
# fmamps [1,"<0!4 1!4>","<0 0.25 0.5 0.75>",0,0,0]
# envlevel 1 [slow 8 "<0.5 0.7 0.8 0.9 1!4>", (slow 16 $ range 1 6 saw), 0, 0, 0, 0]
# fmmod 1 1 1.1
# fmmod 2 1 1.9
# fmmod 2 1 "<0!8 0.098!8>"
# envrate 1 [1, 0.1, 0.1, 0, 0, 0]
# envlevel 2 [1, 0, 0, 0, 0, 0]
# envrate 2 [1, 0.3, 0.7, 0, 0, 0]
# envlevel 3 [1, 0.2, 0, 0, 0, 0]
# envrate 3 [10, 0.5, 0.4, 0, 0, 0]
# envlevel 4 [(slow 32 $ range 0.5 1 sine), (slow 32 $ range 0.5 1 cosine), 0, 0, 0, 0]
# legato 2
# release 2.8
# gain 0.5
# fmfeedback ("<0!32 1!96>" * (slow 128 $ "<0!4 1!124>" * (range 0 5.8 (sine/4 + perlin))))
# pan 0.2
# hpf 500
d4 $ gOut -- Réplique Aigue
$ break40
$ slow 2
$ struct "t t(<5!3 3>,16)"
$ n (
arp "up down"
$ off "<h q>" id
(fast 6 $ prog + 12)
)
# "superfm"
# fmamps [1,"<0!4 1!4>","<0 0.25 0.5 0.75>",0,0,0]
# envlevel 1 [slow 8 "<0.5 0.7 0.8 0.9 1!4>", (slow 16 $ range 1 6 saw), 0, 0, 0, 0]
# fmmod 1 1 1.1
# fmmod 2 1 1.9
# fmmod 2 1 "<0!8 0.098!8>"
# envrate 1 [1, 0.1, 0.1, 0, 0, 0]
# envlevel 2 [1, 0, 0, 0, 0, 0]
# envrate 2 [1, 0.3, 0.7, 0, 0, 0]
# envlevel 3 [1, 0.2, 0, 0, 0, 0]
# envrate 3 [10, 0.5, 0.4, 0, 0, 0]
# envlevel 4 [(slow 32 $ range 0.5 1 sine), (slow 32 $ range 0.5 1 cosine), 0, 0, 0, 0]
# cut 4
# gain (range 0 0.48 (0.5 + 0.25 * (slow 16 saw) + 0.05 * perlin))
# pan (slow 16 $ range 0.6 0.9 sine)
# hpf 1500
d5 $ g $ gOut -- Snare roll
$ mask "<f!8 t!48 f!8 t!8 t!48>" -- Intro périodique
$ often (ply "1 <2 0.5>")
$ stut 8 0.8 ("<s e [e s] [s e]>")
$ "~ . s"
# "808sd:1"
# gain (slow 8 $ range 0.32 "<0.35!16 0.5!16>" saw)
# room 0.2
# dry 1.1
# hpf 3500
d6 -- CHOIR <3
$ gM $ gOut
$ superimpose (|+ note 12)
$ note (prog - 24) -- Baseline
# "moogBass"
# gain (slow 32 $ range 0.25 0.305 saw)
# room 0.4
# pan 0.75
d7 -- Solists <3
$ gM $ gOut
$ whenmod 128 64 (striate "1 . 2 4" . ply "<1!8 2!8 4!8 1!8>")
$ struct "t(<3 3 5 [5 <2 [8 <8 16>]>]>,8)"
$ note ("0*4"
+ (arp "pinkyup" prog + "0 <7 5>")
) -- Baseline
# "moogBass"
# gain (0.12 + 0.1 * (slow 16 $ range 0.5 1 saw))
# room 0.4
# pan 0.85
import Sound.Tidal.ParVagues.Control
do
setcps (90/60/4)
let g = (# djfbus 1 (range 0.05 0.95 "^49"))
d1 $ g
$ midiOn "^41" (<| "f*2 f*2 f [f <~ f> f ~]")
$ midiOff "^41" (<| "0 . 0(3,8,<0!3 4>)")
$ "[rootsDrums,jazz]"
# midiG' "^78" 0 1.8
d2 $ g
$ midiOn "^43" (fast 2)
$ superimpose ((# "cp") . (# room 0))
$ n "[~ 4]*<2!6 4 [4 2]>"
# "rootsDrums"
# midiG' "^79" 0 1.8
# room (slow 24 $ range 0.3 0.9 saw)
d3 $ g
$ slice 4 "0 1 2 3"
$ loopAt 2
$ "break"
# midiG' "^80" 0 1.8
# cut 3
d6
$ g -- BASSLINE
$ n "<2!4 2 3 3 ~>"
# "rootsBass"
# midiG' "^81" 0 1.5
# crushbus 62 (range 16 1.4 "^53")
# cut 6
# pan 0.15
d4 $ g
$ midiOn "^58" (slice 4 ("<[0 1] [2 3]>"))
-- $ "<g g g/2 [~ <~ g ~ g*2>] g ~ g ~ g ~ ~ [~ g*4]>"
$ "g/4"
# s "rootsGuitar"
# lesliebus 42 (range 0 16 "^54")
# lratebus 41 ("^34")
# midiG' "^82" 0 1.5
# cut 4
# pan 0.3
d5
$ g
$ degradeBy "^56"
$ slice 16 (run 16)
$ loopAt 2
$ "rootsMix:1"
# midiG' "^84" 0 1.8
# cut 5
# pan 0.6
d10 -- Trompettes
$ g
$ n "<0 0 ~ ~ 1 1 [1*2 ~] 1 2 [2 3] 3 3 4 5 6 7>" # "rootsTrump"
# cut 8
# midiG' "^83" 0 (slow 16 $ range 1.4 0.8 saw)
# room 0.4
# sz 0.8
# pan 0.8
d9
$ "rootsTromb:3/2"
# midiG' "^83" 0 1.4
# cut 9
d7 $ g
$ superimpose (
(# cut 7)
. struct "t*<8!3 12>"
. (|+| note (arp "<updown!4 downup!2 pinkyup downup!3 pinkyup!2>" "<c'six'4!3 c'maj'4>"))
)
$ note (
"<cs3 b3>"
|+| "0 <7 <7 12>>"
)
# "FMRhodes2"
# crushbus 72 (range 16 4.3 "^36")
# midiG' "^20" 0 1.4
......@@ -17,6 +17,9 @@ setcps (90/60/4)
do
let gDJF = (# djfbus 1 (range 0.05 0.95 "^49"))
let g = gDJF
d1 $ fast 4 $ "drum"
d1 $ g
$ midiOn "^42" (fast 2)
$ midiOn "^41" (<| "k k k <k k*2 k [~ k]>")
......@@ -121,7 +124,7 @@ d11 $ g -- Final saxes
-- Je vous propose une dernière pour la route :
-- Un précédent livecoding de Dub qui n'a encore jamais été diffusé ;)#
-- Computer Riddim :
-- Computer Riddim :
......
......@@ -14,7 +14,7 @@
fmdetune :: Int -> Pattern Double -> ControlPattern
fmdetune op = pF ("detune" ++ show op)
-- set the modulation of oerator opa by operator opb
-- set the modulation of operator opa by operator opb
-- if opa == opb, then the modulation amount is multiplied by the
-- 'feedback' parameter
fmmod :: Int -> Int -> Pattern Double -> ControlPattern
......
-- Reb00t minimaliste
do
-- sets the amount of operator 'op' in the superfm output mix
-- (1 <= op <= 6)
-- fmamp :: Int -> Pattern Double -> ControlPattern
let fmamp op = pF ("amp" ++ show op)
-- sets the ratio for operator 'op'.
-- the frequency is note * ratio + detune Hz
-- (1 <= op <= 6)
-- fmratio :: Int -> Pattern Double -> ControlPattern
let fmratio op = pF ("ratio" ++ show op)
-- set the detune for operator 'op'
-- fmdetune :: Int -> Pattern Double -> ControlPattern
let fmdetune op = pF ("detune" ++ show op)
-- set the modulation of oerator opa by operator opb
-- if opa == opb, then the modulation amount is multiplied by the
-- 'feedback' parameter
-- fmmod :: Int -> Int -> Pattern Double -> ControlPattern
let fmmod opa opb = pF ("mod" ++ show opa ++ show opb)
-- feedback
-- fmfeedback :: Pattern Double -> ControlPattern
let fmfeedback = pF "feedback"
-- Envelope definition: each operator has an envelop with 4 steps
-- fmeglevel :: Int -> Int -> Pattern Double -> ControlPattern
let fmeglevel op step = pF ("eglevel" ++ show op ++ show step)
-- Envelope definition: sets the rate at which the envelope moves
-- between steps. Low numbers are slow, high numbers are fast.
-- fmegrate :: Int -> Int -> Pattern Double -> ControlPattern
let fmegrate op step = pF ("egrate" ++ show op ++ show step)
let fmparam function (x:xs) = foldr (#) (function 1 x) (zipWith function [2..] xs)
let fmamps = fmparam fmamp
let fmratios = fmparam fmratio
let fmdetunes = fmparam fmdetune
let envrate op = fmparam (fmegrate op)
let envlevel op = fmparam (fmeglevel op)
-- Params
let lfodepth = pF "lfodepth"
let lfofreq = pF "lfofreq"
-- Nova
let midiOn ch pat = someCyclesBy ch pat
let midiOff ch pat = someCyclesBy (1 - ch) (pat)
let gDJF = (# djfbus 1 (range 0.05 0.95 "^49"))
let g = gDJF
-- Track
let prog = "<c'maj'4 d'maj'4 c'min'4 g'maj'4>"
let mel = (scale "aeolian" (slow (4 - (3 * "^57")) $ arp "updown" prog))
d1 -- Kick 4/4
$ g
$ midiOn "^41" (<| "k <<k!8 ~ k!7> k!3 ~ k!3> k <k <k*2 [~ k]>>")
$ midiOff "^41" (<| "k <k!2 <k k?> ~>")
$ "[jazz,kick:5]*4"
# midiG' ("^77" * "^55") 0 1
d2 -- Hats contretemps
$ ply "1 1 <1 <[2|1] 2>> 1"
$ mask "<f!12 t!24>"
$ mask "<f!4 t!12>"
$ "[~ hh]*4"
# n "<8!7 [8!3 10]>"
# release (slow 16 (range 1 0.05 saw))
# gain (1.4 * (slow 4 $ range 1 1.48 saw) * "^77" * "^56")
# pan (slow 4 $ range 0.98 0.5 saw)
d3 $ g -- Running Hats
$ mask "<f!4 t!12>"
$ midiOn "^41" (fast 2)
$ fast ("<1!4 2!4 4!24>" * "<1!8 2!8>" * "1 1 1 <1 [1 2] [2 1] 2>")
$ "hh"
# pan (slow 16 $ range 0.2 0.8 saw)
# gain (1.7 * "^77" * "^56")
d5 $ g
$ off "h" id
$ midiOn "^42" (scramble 2 . often (chop "<2!3 4 2 [2 4] 2 4>"))
$ midiOn "^43" (off "q" ((# room 0.2) . (|* gain 0.8)))
$ degradeBy ("<0 0.5> 1!7" * "^50")
$ midiOn "^44" (degradeBy "0 1!5 0.5 0.25")
$ note mel
# s "superfm"
# midiG' "^78" 0 1.3
# crushbus 51 (range 10 2.65 "^29")
# pan "[<0.2 0.8> <0.8 0.2>]"
# octave (3 + "^59" + "^60")
# fmfeedback "^79"
# fmamps ["^15", "^16", "^17", 0, 0, 0]
# fmratios [1, 4, (slow 8 $ "<0.126 0.26 [0.51 0.52]>"), 0, 0, 0]
# fmdetunes ["^51", 1 - "^52", "^53", 0, 0, 0]
# fmmod 1 1 ("<0 1.25>" + "^31")
# fmmod 1 2 (range 0 2 "^32")
# fmmod 1 3 (range 0 4 "^33")
-- # fmmod 3 2 (range 0 3 (slow 4 sine + "^52"))
# envlevel 1 [1, 0.5, 0, 0, 0, 0]
# envrate 1 [10, 0.1, 0.1, 1, 0, 0]
# envlevel 2 [1, 0, 0, 0, 0, 0]
# envrate 2 [1, 0.3, 0.7, 1, 0, 0]
# envlevel 3 [1, 0.2, 0, 1, 0, 0]
# envlevel 3 [1, 0.2, 0, 1, 0, 0]
# envrate 3 [10, 0.5, 0.4, 1, 0, 0]
# room 0.5 # sz 0.5
......@@ -63,8 +63,6 @@ d1
# room 0.3
-- endregion V1
-- region V2 minimaliste
do
-- sets the amount of operator 'op' in the superfm output mix
......@@ -104,13 +102,13 @@ let envlevel op = fmparam (fmeglevel op)
let lfodepth = pF "lfodepth"
let lfofreq = pF "lfofreq"
-- Nova
let novaOn ch pat = someCyclesBy ch pat
let novaOff ch pat = someCyclesBy (1 - ch) (pat)
let midiOn ch pat = someCyclesBy ch pat
let midiOff ch pat = someCyclesBy (1 - ch) pat
d1 $ "jazz*<2!16 4!16>" # lpf 2000 # gain (1 - (0.5 * (1 - "^77")))
d2
$ novaOn "^42" (off "q" ((# room 0.2) . (|* gain 0.8)))
$ novaOn "^43" (degradeBy "0 1!5 0.5 0.25")
$ novaOn "^41" rev
$ midiOn "^42" (off "q" ((# room 0.2) . (|* gain 0.8)))
$ midiOn "^43" (degradeBy "0 1!5 0.5 0.25")
$ midiOn "^41" rev
$ s "superfm"
|+| note (scale "aeolian" (
-- arp "pinkyup" "[0,4,7,12] [0,5,7,9]"
......
......@@ -14,17 +14,16 @@ 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 novaOn ch pat = someCyclesBy ch pat
let novaOff ch pat = someCyclesBy (1 - ch) pat
aqlet gReverb = ((# room "^29") . (# sz (range 0 0.9 "^30")) . (# dry (range 0 2 "^13")))
let gLPF = (# lpf (min 10000 ((range 200 20400 ("^49")))))
let gHPF = (# hpf (max 0 (min 7500 ((range "-7500" 7500 ("^49"))))))
let gDJF = (gLPF . gHPF)
let gReverb = ((# room "^29") . (# sz (range 0 0.9 "^30")) . (# dry (range 0 2 "^13")))
let gDJF = (# djfbus 1 (range 0.05 0.95 "^49"))
-- endregion Nova Utils
let g = (gDJF . gReverb)
let chords = "<gs4'min gs4'maj>"
setcps (80/60/4)
d1 $ g
$ "k ~ . k*2 ~"
# "jazz"
$ novaOn "^41" (<| "k k k <k!3 <k*2 [~ k]>>")
$ novaOff "^41" (<| "k ~ . k*2 ~")
$ "jazz"
# gM' 0 1.1 "^78"
d2 $ g
$ (# gM' 0.35 0.9 "^79")
......@@ -49,10 +48,10 @@ d4 $ g $ slice 8 ("<0!3 1 1 0 1 0>(<3 <1 5>>,8)") $ "choir:4"
d5 $ g
$ novaOn "^58" (chop (4 + ("12" * "^90")))
$ whenmod 4 2 (stutWith 4 "e" (# legato 0.25))
$ note (chords)
$ note chords
# "moogBass"
# gM' 0.2 0.5 ("^82" / (1 + (0.4) * "^54"))
# crush (range 16 4 "^34")
# crushbus 51 (range 10 1 "^34")
# chorus (range 0 4 "^54") -- 0.7
......
......@@ -10,7 +10,6 @@ d1
# "hh27:5"
# cut 1
# midiG' "^78" 0 0.8
d2
$ g
-- $ mask "<f!16 t!16>"
......@@ -20,7 +19,6 @@ d2
# release 0.57
# note "-5"
# midiG' "^79" 0 0.8
d3 $ g
$ sometimesBy "0 1 0 0" (ply 16)
$ "h h h <h(<1 2>,2,<0!3 1>) [~!3 h]>"
......
......@@ -4,6 +4,7 @@ import Sound.Tidal.ParVagues.Control
-- Dark Money: Downtempo dark minor LoFi
do
setcps (60/60/4)
let modIndex = pF "modIndex"
let whenIntro pat = someCyclesBy "<t!8 f!24>" pat
let whenNotIntro pat = someCyclesBy "<f!8 t!24>" pat
let whenBrk pat = whenmod 16 10 pat
......@@ -22,15 +23,17 @@ d1 $ g -- Kick
# legato 2 # cut 1
# midiG' "^78" 0 1.2
d2 $ g -- Contretemps snare
$ whenBrkLPF
-- $ whenBrkLPF
$ midiOn "^43" (fast "<2 2 4 2>")
$ whenmod 16 8 (fast 2)
$ whenmod 8 6 (mask "<f [f t]>")
$ superimpose (# hpf 500)
$ "~ s"
# "snare:20"
# midiG "^79"
# midiG' "^79" 0 1.2
d3 $ g -- Drumroll fantôme
$ midiOn "^76" (fast "<2!3 4>")
$ midiOn "^44" (fast "2")
$ whenBrk (slow "<2 2 4 4 8 8 16 16>")
$ fast ("8" * "<[2 1!7] 1!3> <2 [2 1] [2 . 1 2] [2 4]>")
$ "drum:2"
......@@ -43,7 +46,22 @@ d5 $ g -- Bassline {hypno,aqua}tique
$ note ("fs a" - 24)
# "bassWarsaw"
# crushbus 51 (range 10 5.2 "^53")
# midiG' "^81" 0 1.3
# midiG' "^81" 0 1.5
d6 $ g -- FMRhodes Arps <3
-- $ midiOff
$ note ("fs a"
|+| "0 . <7 [7 12] [12 7] 12*4>(<2 <3 5>>,8)"
+ "0 12"
- 24
)
# "FMRhodes1"
# modIndex (range 0 15 "^34")
-- # crushbus 51 (range 10 5.2 "^53")
# midiG' "^82" 0 1.3
d10
$ "~ clap:1"
# note (range "-12" 12 "^55")
# midiG' "^83" 0 1.5
d4 $ g -- Toy bogdan
$ every' 16 15 (>| "~ ~ ~ bogdan:4")
$ every' 16 9 ((>| "~ ~ ~ bogdan:2") . (|* gain 0.8))
......
......@@ -27,9 +27,9 @@ d1 $ g
# gM' 0 4 "^78"
d2 $ g -- Breathing snare contretemps
$ midiOn "^43" (fast "<2 2 2 2 4 2 2 4 4>")
$ "hh27:2 hh27:7"
$ "~ [hh27:7,snare:13]"
# room 0.6 # sz 0.7 # dry (slow 20 $ range 0 2 perlin)
# gM' 0.5 1.5 "^79"
# gM' 0.5 1.8 "^79"
d3 -- Runny Maracas
$ g
$ whenmod 16 8 (often $ fast 2)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment