Unverified Commit 84968806 by PLN

live: trapped, break90s, lib0.3.1

parent 2a46a236
name: lib-parvagues name: lib-parvagues
version: 0.2.1 version: 0.3.1
-- synopsis: -- synopsis:
-- description: -- description:
homepage: https://git.plnech.fr/Tidal homepage: https://git.plnech.fr/Tidal
......
...@@ -4,7 +4,8 @@ module Sound.Tidal.ParVagues.Control ( ...@@ -4,7 +4,8 @@ module Sound.Tidal.ParVagues.Control (
midiNo, midiNo,
midiDJF, midiDJF,
midiG, midiG,
midiG' midiG',
midiGGlobal
) where ) where
import Sound.Tidal.Context import Sound.Tidal.Context
...@@ -12,6 +13,7 @@ module Sound.Tidal.ParVagues.Control ( ...@@ -12,6 +13,7 @@ module Sound.Tidal.ParVagues.Control (
import Sound.Tidal.Chords import Sound.Tidal.Chords
-- Midi boolean buttons -- Midi boolean buttons
-- midiOn
midiOn ch pat = someCyclesBy ch pat midiOn ch pat = someCyclesBy ch pat
midiOff ch pat = someCyclesBy (1 - ch) pat midiOff ch pat = someCyclesBy (1 - ch) pat
midiNo c1 c2 pat = someCyclesBy (1 - c1 - c2) pat midiNo c1 c2 pat = someCyclesBy (1 - c1 - c2) pat
...@@ -20,12 +22,10 @@ module Sound.Tidal.ParVagues.Control ( ...@@ -20,12 +22,10 @@ module Sound.Tidal.ParVagues.Control (
_LPF lMin lMax ch = (# lpf (min lMax ((range lMin ((lMax*2) - lMin) ch)))) _LPF lMin lMax ch = (# lpf (min lMax ((range lMin ((lMax*2) - lMin) ch))))
_HPF hMin hMax ch = (# hpf (max hMin (min hMax (range (hMin - hMax) (hMax - hMin) ch)))) _HPF hMin hMax ch = (# hpf (max hMin (min hMax (range (hMin - hMax) (hMax - hMin) ch))))
midiDJF ch lMin lMax hMin hMax = (_LPF lMin lMax ch) . (_HPF hMin hMax ch) midiDJF ch lMin lMax hMin hMax = (_LPF lMin lMax ch) . (_HPF hMin hMax ch)
-- FIXME: Seems to cut some lows when lMin != 0
-- Midi gain control (faders) -- Midi gain control (faders)
_gainG ch gFactor = (gain (gf * "^77" * ch)) -- gain Global midiGGlobal = "^77"
midiG' ch l h _gainG ch = (gain (midiGGlobal * ch)) -- gain Global
midiG midiG' ch l h = _gainG (range l h ch) -- midiGain control
-- TODO Finir gain control midiG ch = midiG' ch 0 1 -- midiGain default
let gG a = (gain (gF * "^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
-- TRAPPED IN SPACE: Glitchy trap beat
do
setcps (120/60/4)
let whenTrap = (whenmod 32 16)
let prog = "<0 0 0 0 1 2 0 0 1 2 1 2 3 4 1 0>"
let modIndex = pF "modIndex"
d1
$ whenTrap (|<| "k ~ ~ k . ~")
$ "k ~ ~ k . ~"
# "reverbkick"
# lpf 500
# orbit 0
# legato 2
# room 0.2 # dry 1
# gain 0.75
d2
$ "~ hh27:9"
# lpf 1000
# room 0.87 # dry 0.99
# gain 1
# orbit 1
d3
$ whenTrap (<| "<~ h*4> <~ h*8>")
$ "h*<4 8> h*<8!3 16>"
# "[hh27:3,dr]"
# gain (slow 16 $ range 0.5 0.8 saw)
# lpf 4500
# orbit 0
d4
$ whenTrap (
(|+ note 12)
. (# hpf 1500)
. (# lpf 10000)
. (# crush (slow 16 $ range 8 3.5 saw) -- Sync whenTrap
)
)
$ whenmod 4 3 (scramble 6)
$ whenmod 4 3 (scramble 6)
$ whenmod 8 4 rev
$ mask "<t f>"
$ note (scale "aeolian" (
"<~!3 5 ~!4> . 0 1 3 2 0"
+ "[0]"
+ prog
) - 24)
# "arpy"
# gain (slow 24 $ range 0.55 0.75 perlin)
# lpf 500
# room 0.3
# orbit 4
# crush 4
d5
$ whenTrap (
(# crush (slow 16 $ range 10 5 saw)) -- Sync 16/whenTrap
. (|+ gain (slow 16 $ range 0 0.15 saw)) -- Sync whenTrap
)
$ note (scale "aeolian" (
"0 . 0 [0 1]"
+ prog
) - 24)
# orbit 4
# "supersaw"
# voice 0.1
# pan 0.2
# gain (slow 16 $ range 0.35 0.55 perlin)
d6
$ note (scale "aeolian" (
whenmod 16 9 (+ "<0 -1 -2 -4>")
"0*[16 8]"
))
# "hh27:4" -- Clochettes
# gain (slow 16 $ range 0.5 0.8 saw)
d7 -- ARPS <3
$ degradeBy (slow 8 $ range 0.8 0.2 saw)
$ fast "1 2"
$ arp "pinkyup"
$ note (scale "aeolian" (
"<0 ~> 0"
+ prog)
+ "0 -12"
)
# "FMRhodes1"
# modIndex "[0,5,10]"
# pan 0.6
# gain 0.9
once $ "hh27:0" -- Drum metal echo
-- # gain 1.5
once $ "hh27:1" -- Ho lo
once $ "hh27:7" -- Ho hi
once $ "hh27:10" -- Ho hi soft
once $ "hh27:2" -- Maracas fermées
once $ "hh27:9" -- Maracas fermées lo
once $ "hh27:3" -- Maracas ouvertes / balai
once $ "hh27:8" -- Same plus aigu
once $ "hh27:4" -- Clochettes
once $ "hh27:5" -- Kick neige
once $ "hh27:6" -- Kick sec
once $ "hh27:12" -- Snare lo
once $ "hh27:11" -- Snare hi
import Sound.Tidal.ParVagues.Control
-- Accompagnement en ré au https://mmontag.github.io/dx7-synth-js/
setcps (80/60/4)
resetCycles
do
let gG a = (gain (1 * "^77" * a)) -- gain Global
let gF = (whenmod 16 12 (# djf (slow 4 $ range 0 0.5 sine)))
let gDJF = (midiDJF "^49" 0 10000 0 10000)
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 g = (gF . gDJF)
d1
$ g
$ midiOn "^41" (superimpose (# "kick:5")
. (<| "k k k k k k k k*2")
. (# room 0)
. (|* gain 0.9)
)
$ midiOn "^42" (mask "<f!8 t!24>")
$ whenmod 4 2 (off (-1/"<8 16>") (
degradeBy "0 1!7" . (|* gain 0.9))
)
$ midiOff "^41" (
someCyclesBy "<0!8 1!8>" (<| "k . k(<5 <3 [3 <8 [8!3 4]>]>>,8)")
. someCyclesBy "<1!8 0!8>" (<| "k . <~!4 k!4>" )
)
$ "reverbkick"
# room 0.4 # sz 0.8 # dry 0.99 # orbit 1
# midiG' "^78" 0 1.5
d2
$ g
$ midiOn "^43" (slice 4 "0 1")
$ midiOff "^43" (
slice 4 (
"0 1*[1|2] 2 3*<1 1 2 <2 4>>" -- Progressif
-- "0 <~ 0 1 ~> <0 0 2 2> <~ 0 2 3>" -- Broken
))
$ "fbreak80:2"
# midiG' "^79" 0 1.5
# pan 0.6
# cut 2
d3 -- Bassline
$ (# lpf (range 10000 500 "^53"))
$ g
$ midiOn "^89" (off "h" (
-- mask "t f"
(# speed 2)
. (# cut 31)
. (|* gain 0.8)
. (|+ gain 0.1)
))
$ loopAt 2
$ midiOn "^57" ( -- Le slice
whenmod 16 4 (
slice 4 "0 1 2*2 <0 3>"
) . every' 16 3 (
slice 4 "0 1 2 [2 3]"
)
)
$ midiOff "^57" ( -- L'attente
slice 4 "0 <~ 1> <~ ~ 2 2> <~!3 3>"
)
$ "fbass:9"
# cut 3
# crush (range 10 4 "^53")
# pan 0.2
# midiG' ("^81" + 0.125*"^53") 0 1.5
d4
$ g
$ superimpose (const
$ whenmod 8 4 (degrade)
$ segment 8 $ "fmono:9"
# midiG' "^55" 0.2 1.2
# cut 42)
$ midiOn "^59" (superimpose (
degradeBy ("0 1!14 0" * (slow 16 $ (1-"^55")))
. struct "t*16"
. (|+ note (12 + "[0|5]"))
. (|* gain (slow 16 $ range 0.9 0.5 sine))
. (# cut 41)
))
$ slice 8 ("<~ 3 ~ 2> 0 <~ 4 5 6> <0 1>")
$ "forgan:9" # cut 5
# orbit 4
# room 0.7 # sz 0.8
# midiG' "^83" 0.2 0.8
d5 $ g
$ midiOn "^58" (superimpose (
(0.5 ~>)
. fast "<1!8 2!8 4!8 1!4 2!4 4!8>"
. (|+ note ("12"))
. (|* gain 1.2)
. (|+ pan 0.125)
))
$ sometimesBy 0.125 ("1/32" ~>)
$ whenmod 16 4 (|+| note "<0!4 [0 a4]!4>")
$ note "<d3!3 [g3 . ~ a4]>"
# "superpiano"
# velocity (0.35 + perlin/8)
# room 0.6 # sz 0.5
# pan 0.6
# orbit 5
# midiG' "^82" 0.3 1.5
d8 $ g
$ someCyclesBy (slow 8 $ saw) (juxBy 0.3 rev)
$ whenmod 16 8 (ply "2 1")
$ "hh27:2(<4 5 8 [8 16]>,8)"
# pan 0.8 # room 0.4 # orbit 8 # dry 0.9
# midiG' "^80" 0 1.5
d9
$ whenmod 16 12 (
fast 2 . (|* gain (slow 4 $ range 1 0.5 saw))
)
$ midiOn "^60" (fast 2 ) -- TODO DNB
$ "~ clap"
# release "<0.25!3 0.125 0.25!4 0.125!4>"
# midiG' "^84" 0 1.5
...@@ -15,36 +15,40 @@ setcps (115/60/4) ...@@ -15,36 +15,40 @@ setcps (115/60/4)
d1 $ g d1 $ g
$ novaOn "^41" (<| "k k k <k!3 k*2>") $ novaOn "^41" (<| "k k k <k!3 k*2>")
$ novaOff "^41" (<| "k*2") $ novaOff "^41" (<| "k*2")
$ "[jazz,808bd:1]" $ "[reverbkick,jazz,808bd:1]"
# gM' 0 1.2 "^78" # gM' 0 1.2 "^78"
d2 d2 $ g
$ novaOn "^75" (fast 2) $ novaOn "^75" (fast 2)
$ (|* gain $ (|* gain "0.75 1 1 1 0.75 1 1 1")
"0.75 1 1 1 0.75 1 1 1" )
$ "d ~ ~ d d ~ d <~!3 d>" $ "d ~ ~ d d ~ d <~!3 d>"
# "snare:22" # gM' 0 1.2 "^79" # "snare:22" # gM' 0 1.4 "^79"
# speed (range 0.5 1.5 "^51") # speed (range 0.5 1.5 "^51")
d4 $ g d4 $ g
$ novaOn "^44" (slow 2) $ midiOn "^44" (slice 8 "0 <1 ~> 7 3*<1 2 4 4>")
$ novaOn "^76" (slice 8 ("0 1 2 3 <4 0> <5 1> 6 7") . (loopAt 2) . (>| "fbreak80:2") . $ sometimesBy "0 ^32!7" (shuffle 8)
(# gM' 0 1.5 "^80") $ someCyclesBy "^52" (iter 4)
) -- $ slice 8 "0 1 <2!3 0> <3!3 1 4 5 6 7>" "0 1 <2!3 0> <3!3 1>"
$ (|* gain (slow 2 $ range 1 1.1 perlin)) $ chop 8
$ novaOff "^76" (<| "s*[8 . 16 8 8]" ) $ loopAt 2 $ "breaks125:3"
$ "snare:26" # gM' 0 1.5 "^80"
# speed (range 0.5 1.5 "^52")
# gM' 0 1 "^80"
# cut 4 # cut 4
d5 $ g d5 $ g
$ loopAt 2 $ loopAt 2
$ slice 8 (run "<4!4 8 8 [4 8 4] 8>") $ slice 8 (run "<4!4 8 8 [4 8 4] 8>")
$ "fbass:13" $ "fbass:13"
# pan 0.2 # pan 0.2
# gM' 0.4 1.1 "^81"
# room 0.2 # room 0.2
# crush (range 10 4.5 "^53") # crush (range 10 4.5 "^53")
# gM' 0.3 1.1 "^81"
# cut 4 # cut 4
d6 $ g d6 $ g
$ someCyclesBy "^58" (superimpose (
degradeBy (slow 8 $ sine) . segment 8
. (# speed 1)
. (|* gain (0.5 + 0.1 * perlin)) . (|+ pan 0.1)
. (# cut 31)
)
)
$ whenmod 16 12 (rev) $ whenmod 16 12 (rev)
$ whenmod 8 4 (chop 4) $ whenmod 8 4 (chop 4)
$ loopAt 4 $ loopAt 4
...@@ -84,7 +88,7 @@ d8 $ g ...@@ -84,7 +88,7 @@ d8 $ g
# gM' 0 1 "^84" # gM' 0 1 "^84"
# pan (segment 16 $ "^36") # pan (segment 16 $ "^36")
d9 $ g d9 $ g
-- $ whenmod 8 4 (juxBy 0.5 rev) $ degradeBy (slow 16 $ range 0.8 0.2 saw)
$ struct "t(3,8) [<t!3 [~ t]> <t ~> <t t*2> <t*2 t t*2 t*2>]" $ struct "t(3,8) [<t!3 [~ t]> <t ~> <t t*2> <t*2 t t*2 t*2>]"
$ novaOn "^59" (# speed (range 0.25 2 ("^55" + perlin))) $ novaOn "^59" (# speed (range 0.25 2 ("^55" + perlin)))
$ novaOff "^59" (# speed $ novaOff "^59" (# speed
......
...@@ -12,7 +12,7 @@ let modIndex = pF "modIndex" -- 0.2 ...@@ -12,7 +12,7 @@ let modIndex = pF "modIndex" -- 0.2
let gG a = (gain (1.2 * "^77" * a)) -- gain Global let gG a = (gain (1.2 * "^77" * a)) -- gain Global
let gM' l h a = (gG (range l h a)) -- gain Modéré 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 gM a = (gM' 0.2 0.8 a) -- gain Modéré doux
let gDJF = midiDJF "^49" 200 10000 0 7500 let gDJF = midiDJF "^49" 0 10000 0 7500
let g = (gDJF) let g = (gDJF)
setcps 0.5 setcps 0.5
d1 $ g d1 $ g
...@@ -31,6 +31,7 @@ d3 ...@@ -31,6 +31,7 @@ d3
$ g $ g
$ whenmod 16 8 (often $ fast 2) $ whenmod 16 8 (often $ fast 2)
$ someCyclesBy "<1!16 0!16>" (often $ slow "2!3 1") $ someCyclesBy "<1!16 0!16>" (often $ slow "2!3 1")
$ fix ((|* gain 0.9) . (# release 0.8)) (n 9)
$ "hh27*8" $ "hh27*8"
# n "2 <2 <[2|9] [9 <9 ~> <~ 9> 2]>>" # n "2 <2 <[2|9] [9 <9 ~> <~ 9> 2]>>"
# gM' 0.5 1.75 "^80" # gM' 0.5 1.75 "^80"
...@@ -42,7 +43,7 @@ d4 ...@@ -42,7 +43,7 @@ d4
. fast "1 2" . fast "1 2"
. arp "pinkyup" . arp "pinkyup"
. (|+ pan 0.1) . (|+ pan 0.1)
. (|* gain 1.25) . (|* gain 1.2)
)) ))
$ note (( $ note ((
"<0 ~> 0" "<0 ~> 0"
...@@ -54,7 +55,7 @@ d4 ...@@ -54,7 +55,7 @@ d4
# modIndex "[0,5,10]" # modIndex "[0,5,10]"
# pan 0.6 # pan 0.6
# crush (range 10 4 "^54") # crush (range 10 4 "^54")
# gM' 0.3 1.5 "^82" # gM' 0.3 1.6 "^82"
d5 $ g -- Choirs + arps d5 $ g -- Choirs + arps
$ juxBy "-0.7" ( $ juxBy "-0.7" (
arp "<up <up down>>" arp "<up <up down>>"
...@@ -65,7 +66,7 @@ d5 $ g -- Choirs + arps ...@@ -65,7 +66,7 @@ d5 $ g -- Choirs + arps
$ "moogBass" $ "moogBass"
# note prog # note prog
# octave 3 # octave 3
# gain 0.75 # gM' 0.3 1.5 "^56"
# pan 0.2 # pan 0.2
# chorus 0.6 # chorus 0.6
d6 $ g -- Guitar riffs d6 $ g -- Guitar riffs
...@@ -74,7 +75,7 @@ d6 $ g -- Guitar riffs ...@@ -74,7 +75,7 @@ d6 $ g -- Guitar riffs
. (# cut 61) . (# cut 61)
)) ))
$ slice 4 ( $ slice 4 (
whenmod 16 8 (+| "0 0") whenmod 16 8 (+| "0 <0!6 ~ ~>")
"<0!4 1 1 2 3>" "<0!4 1 1 2 3>"
) )
$ note 2 -- correction $ note 2 -- correction
...@@ -100,26 +101,9 @@ d8 $ g ...@@ -100,26 +101,9 @@ d8 $ g
# cut 8 # cut 8
# gM' 0 1.5 "^83" # gM' 0 1.5 "^83"
# release 100 # release 100
d9 $ g $ "~ clap" # note (-8) # gM' 0 1.5 "^84" d9 $ g
$ midiOn "^60" (fast 2 . ply "1 <1 <2!3 1>>")
$ midiOn "^92" (fast 4)
once $ "hh27:0" -- Drum metal echo $ "~ clap"
# gain 1.5 # note (-8)
# gM' 0 1.5 "^84"
once $ "hh27:1" -- Ho lo
once $ "hh27:7" -- Ho hi
once $ "hh27:10" -- Ho hi soft
once $ "hh27:2" -- Maracas fermées
once $ "hh27:9" -- Maracas fermées lo
once $ "hh27:3" -- Maracas ouvertes / balai
once $ "hh27:8" -- Same plus aigu
once $ "hh27:4" -- Clochettes
once $ "hh27:5" -- Kick neige
once $ "hh27:6" -- Kick sec
once $ "hh27:12" -- Snare lo
once $ "hh27:11" -- Snare hi
resetCycles
setcps (60/60/4)
-- DIGITAL DREAMS OF MINITEL REVIVAL -- DIGITAL DREAMS OF MINITEL REVIVAL
-- Techno numérico-mélancolique résolvable -- Techno numérico-mélancolique résolvable
do do
resetCycles
setcps (60/60/4)
let mel = "c <f d'min'2> <d <c'min d'maj>> <af <e'maj'2 e'min'2 af'maj'2>> <g!12 c5!4>@4" let mel = "c <f d'min'2> <d <c'min d'maj>> <af <e'maj'2 e'min'2 af'maj'2>> <g!12 c5!4>@4"
d1 -- BEAT d1 -- BEAT
-- $ slow 2-- TODO Resolve :) -- $ slow 2-- TODO Resolve :)
......
do
resetCycles resetCycles
do
setcps (60/60/4) setcps (60/60/4)
let mel = "<e3 [g3 <a3 f3>] e3 b3>" let mel = "<e3 [g3 <a3 f3>] e3 b3>"
let prog = "<e3 [g3'maj7'2 f3'min'2] e3 <b3'min7'2 b3'maj7'2>>" let prog = "<e3 [g3'maj7'2 f3'min'2] e3 <b3'min7'2 b3'maj7'2>>"
...@@ -8,9 +9,10 @@ d1 -- BEAT + Snares ...@@ -8,9 +9,10 @@ d1 -- BEAT + Snares
whenmod 4 3 (ply "2 4") whenmod 4 3 (ply "2 4")
. fast "<1!4 2!10 4 [4 8]>" . fast "<1!4 2!10 4 [4 8]>"
. (# n "[3,11]") . (# n "[3,11]")
. (# gain 0.75) . (# gain 0.6)
) ("snare") ) ("snare")
$ "jazz(<1!3 <3 5>>,8) snare" # gain 0.7 $ "[jazz,bd](<1!3 <3 5>>,8) snare" # gain 0.8
# room 0.2 # sz 0.6
d2 -- BREAK d2 -- BREAK
$ whenmod 32 16 (# djf (slow 32 (cosine + 0.5))) $ whenmod 32 16 (# djf (slow 32 (cosine + 0.5)))
$ slice 8 ( $ slice 8 (
...@@ -23,10 +25,13 @@ d2 -- BREAK ...@@ -23,10 +25,13 @@ d2 -- BREAK
# gain 0.65 # gain 0.65
# cut 2 # cut 2
d6 -- Nappes Rhodes d6 -- Nappes Rhodes
$ note prog $ note (
prog
+ "0 12"
)
# "FMRhodes1" # "FMRhodes1"
# pan 0.2 # pan 0.2
# gain 0.9 # gain 1.1
d7 -- Hello PWM d7 -- Hello PWM
$ note (mel - 12) $ note (mel - 12)
# "superpwm" # "superpwm"
...@@ -34,4 +39,4 @@ d7 -- Hello PWM ...@@ -34,4 +39,4 @@ d7 -- Hello PWM
# accelerate "<0!7 <6 12>>" # accelerate "<0!7 <6 12>>"
# rate "<1!5 2 4 <1 4>>" # rate "<1!5 2 4 <1 4>>"
# resonance (slow 32 $ range 0.2 0.6 sine) # resonance (slow 32 $ range 0.2 0.6 sine)
# gain (slow 128 $ range 0.5 0.65 saw) # gain (slow 32 $ range 0.65 0.85 saw)
resetCycles resetCycles
-- ElectricFunk: TODO less electric feel bass -- ElectricFunk: TODO less electric feel bass
do do
setcps (110/60/4) setcps (110/60/4)
let gDjfLeg = (whenmod 64 32 (# djf (slow 32 $ range 0.2 0.8 sine))) let gDjfLeg = (whenmod 64 32 (# djf (slow 32 $ range 0.2 0.8 sine)))
......
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