Unverified Commit 84968806 by PLN

live: trapped, break90s, lib0.3.1

parent 2a46a236
name: lib-parvagues
version: 0.2.1
version: 0.3.1
-- synopsis:
-- description:
homepage: https://git.plnech.fr/Tidal
......
......@@ -4,7 +4,8 @@ module Sound.Tidal.ParVagues.Control (
midiNo,
midiDJF,
midiG,
midiG'
midiG',
midiGGlobal
) where
import Sound.Tidal.Context
......@@ -12,6 +13,7 @@ module Sound.Tidal.ParVagues.Control (
import Sound.Tidal.Chords
-- Midi boolean buttons
-- midiOn
midiOn ch pat = someCyclesBy ch pat
midiOff ch pat = someCyclesBy (1 - ch) pat
midiNo c1 c2 pat = someCyclesBy (1 - c1 - c2) pat
......@@ -20,12 +22,10 @@ module Sound.Tidal.ParVagues.Control (
_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))))
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)
_gainG ch gFactor = (gain (gf * "^77" * ch)) -- gain Global
midiG' ch l h
midiG
-- TODO Finir gain control
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
midiGGlobal = "^77"
_gainG ch = (gain (midiGGlobal * ch)) -- gain Global
midiG' ch l h = _gainG (range l h ch) -- midiGain control
midiG ch = midiG' ch 0 1 -- midiGain default
-- 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)
d1 $ g
$ novaOn "^41" (<| "k k k <k!3 k*2>")
$ novaOff "^41" (<| "k*2")
$ "[jazz,808bd:1]"
$ "[reverbkick,jazz,808bd:1]"
# gM' 0 1.2 "^78"
d2
d2 $ g
$ novaOn "^75" (fast 2)
$ (|* gain
"0.75 1 1 1 0.75 1 1 1" )
$ (|* gain "0.75 1 1 1 0.75 1 1 1")
$ "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")
d4 $ g
$ novaOn "^44" (slow 2)
$ novaOn "^76" (slice 8 ("0 1 2 3 <4 0> <5 1> 6 7") . (loopAt 2) . (>| "fbreak80:2") .
(# gM' 0 1.5 "^80")
)
$ (|* gain (slow 2 $ range 1 1.1 perlin))
$ novaOff "^76" (<| "s*[8 . 16 8 8]" )
$ "snare:26"
# speed (range 0.5 1.5 "^52")
# gM' 0 1 "^80"
$ midiOn "^44" (slice 8 "0 <1 ~> 7 3*<1 2 4 4>")
$ sometimesBy "0 ^32!7" (shuffle 8)
$ 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>"
$ chop 8
$ loopAt 2 $ "breaks125:3"
# gM' 0 1.5 "^80"
# cut 4
d5 $ g
$ loopAt 2
$ slice 8 (run "<4!4 8 8 [4 8 4] 8>")
$ "fbass:13"
# pan 0.2
# gM' 0.4 1.1 "^81"
# room 0.2
# crush (range 10 4.5 "^53")
# gM' 0.3 1.1 "^81"
# cut 4
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 8 4 (chop 4)
$ loopAt 4
......@@ -84,7 +88,7 @@ d8 $ g
# gM' 0 1 "^84"
# pan (segment 16 $ "^36")
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>]"
$ novaOn "^59" (# speed (range 0.25 2 ("^55" + perlin)))
$ novaOff "^59" (# speed
......
......@@ -12,7 +12,7 @@ let modIndex = pF "modIndex" -- 0.2
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 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)
setcps 0.5
d1 $ g
......@@ -31,6 +31,7 @@ d3
$ g
$ whenmod 16 8 (often $ fast 2)
$ someCyclesBy "<1!16 0!16>" (often $ slow "2!3 1")
$ fix ((|* gain 0.9) . (# release 0.8)) (n 9)
$ "hh27*8"
# n "2 <2 <[2|9] [9 <9 ~> <~ 9> 2]>>"
# gM' 0.5 1.75 "^80"
......@@ -42,7 +43,7 @@ d4
. fast "1 2"
. arp "pinkyup"
. (|+ pan 0.1)
. (|* gain 1.25)
. (|* gain 1.2)
))
$ note ((
"<0 ~> 0"
......@@ -54,7 +55,7 @@ d4
# modIndex "[0,5,10]"
# pan 0.6
# crush (range 10 4 "^54")
# gM' 0.3 1.5 "^82"
# gM' 0.3 1.6 "^82"
d5 $ g -- Choirs + arps
$ juxBy "-0.7" (
arp "<up <up down>>"
......@@ -65,7 +66,7 @@ d5 $ g -- Choirs + arps
$ "moogBass"
# note prog
# octave 3
# gain 0.75
# gM' 0.3 1.5 "^56"
# pan 0.2
# chorus 0.6
d6 $ g -- Guitar riffs
......@@ -74,7 +75,7 @@ d6 $ g -- Guitar riffs
. (# cut 61)
))
$ slice 4 (
whenmod 16 8 (+| "0 0")
whenmod 16 8 (+| "0 <0!6 ~ ~>")
"<0!4 1 1 2 3>"
)
$ note 2 -- correction
......@@ -100,26 +101,9 @@ d8 $ g
# cut 8
# gM' 0 1.5 "^83"
# release 100
d9 $ g $ "~ clap" # note (-8) # gM' 0 1.5 "^84"
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
d9 $ g
$ midiOn "^60" (fast 2 . ply "1 <1 <2!3 1>>")
$ midiOn "^92" (fast 4)
$ "~ clap"
# note (-8)
# gM' 0 1.5 "^84"
resetCycles
setcps (60/60/4)
-- DIGITAL DREAMS OF MINITEL REVIVAL
-- Techno numérico-mélancolique résolvable
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"
d1 -- BEAT
-- $ slow 2-- TODO Resolve :)
......
do
resetCycles
do
setcps (60/60/4)
let mel = "<e3 [g3 <a3 f3>] e3 b3>"
let prog = "<e3 [g3'maj7'2 f3'min'2] e3 <b3'min7'2 b3'maj7'2>>"
......@@ -8,9 +9,10 @@ d1 -- BEAT + Snares
whenmod 4 3 (ply "2 4")
. fast "<1!4 2!10 4 [4 8]>"
. (# n "[3,11]")
. (# gain 0.75)
. (# gain 0.6)
) ("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
$ whenmod 32 16 (# djf (slow 32 (cosine + 0.5)))
$ slice 8 (
......@@ -23,10 +25,13 @@ d2 -- BREAK
# gain 0.65
# cut 2
d6 -- Nappes Rhodes
$ note prog
$ note (
prog
+ "0 12"
)
# "FMRhodes1"
# pan 0.2
# gain 0.9
# gain 1.1
d7 -- Hello PWM
$ note (mel - 12)
# "superpwm"
......@@ -34,4 +39,4 @@ d7 -- Hello PWM
# accelerate "<0!7 <6 12>>"
# rate "<1!5 2 4 <1 4>>"
# 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
-- ElectricFunk: TODO less electric feel bass
do
setcps (110/60/4)
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