Commit 20ddb929 by PLN (Algolia)

feat(copycat): 32-bar automations on all voices (NTO evolution style)

Every voice now has subtle 32-bar sweeps matching NTO's arrangement evolution:
- d1 kick: lpf 700→250 (darker), room 0→0.15 (opening)
- d2 clap: gain 0.5→0.8 (grows into mix)
- d3 OH: n 5→9 (brightening), hpf 2k→5k, gain 1.2→1.5
- d4 bass: room 0.05→0.2 (space opens)
- d5 arp: room 0.2→0.5, sz 0.3→0.7 (tail grows)
- d6 piano: modIndex 1→3.5 (richer harmonics)
- d7 cello: room 0.3→0.6, gain 0.8→1.1 (presence grows)
- d9 pad: lpf 1.2k→6k (warm→bright), gain 0.7→1.0 (swells)
All manual controls preserved — automations are background evolution.
parent af0637a7
......@@ -124,49 +124,46 @@ let gM3 = gMask . gMute3
-- Demucs evidence: bass at Bb1(58Hz)/F2(87Hz), C2(65Hz) passing tone at breakdown
let rt = slow 2 "<bf2 f2 bf2 f2 bf2 f2 df2 ef2>" -- root sequence (for d6 piano, pad, etc)
d1 $ gF1 $ gMute2 -- KICK: Round sub thud, 8th pulse (att 50ms, no click)
-- NTO: kick on every downbeat 8th, gets DEEPER over time
-- Ghost doubles before drop. Centroid 1100→200Hz = more sub as track progresses.
-- NTO: gets DEEPER over time (centroid 1100→200Hz). Ghost doubles pre-drop.
$ midiOn "^42" (<| "k*8") -- ON: full 8th pulse (NTO groove)
$ midiOff "^42" (<| "k ~ ~ <~!3 k>") -- OFF: sparse intro
$ sometimesBy "^29" ( -- ^29: ghost doubles (pre-drop energy)
superimpose (("0.07" <~) . (|* gain 0.7))
)
$ "[techno:0,808bd:2]"
# att 0.05 -- 50ms attack = round thud, no click
# att 0.05 -- 50ms = round thud, no click
# rel 0.2
# lpf (slow 64 $ range 800 300 saw) -- gets darker/deeper over time
# lpf (slow 32 $ range 700 250 saw) -- 32-bar: darkens, more sub over time
# room (slow 32 $ range 0 0.15 saw) -- 32-bar: tiny room growth
# gain 1.3
d2 $ gF1 $ gM -- CLAP: Dry quiet snap, contretemps (enters late, ~200s)
-- NTO clap: peak=0.13 (QUIET!), att=10ms, dec=12ms, dom=1292Hz
-- On beats 1&3 (contretemps), dry mid-snap, not a fat backbeat
d2 $ gF1 $ gM -- CLAP: Dry quiet snap, contretemps (enters late)
-- NTO: peak=0.13 (QUIET!), att=10ms, dom=1292Hz, 0% sub, beats 1&3
$ midiOn "^43" (<| "cp ~ cp ~") -- ON: contretemps (NTO climax)
$ midiOff "^43" (<| "~ cp ~ <~ cp*<1 2>>") -- OFF: backbeat (our touch)
$ sometimesBy "^30" ( -- ^30: flam probability
superimpose (("e" <~) . (|* gain 0.6))
)
$ "h2ogmcp"
# hpf 800 -- cut the low end: NTO clap is 0% sub, pure mid
# lpf 4000
# hpf 800 # lpf 4000 -- pure mid-snap, no sub
# room 0.1 # dry 1.5 -- very dry
# gain 0.7 -- QUIET accent, not a slam (NTO peak=0.13)
# gain (slow 32 $ range 0.5 0.8 saw) -- 32-bar: clap grows into the mix
# pan 0.55
d3 $ gF1 $ gM -- OH/CY: One evolving voice — warm OH → bright shimmer
-- NTO: upbeat 8ths that BRIGHTEN over time (centroid 4000→8400Hz)
-- Groove: peak=0.55, att=40ms (soft). Breakdown: peak=0.05 (whisper!), att=7ms
-- ^44 ON: cymbal shimmer (breakdown mode, quiet). OFF: warm open hat (groove)
-- ^76 push: rolls. ^52: legato/tightness. ^32: roll probability
-- NTO: centroid 4000→8400Hz over arrangement. Breakdown = whisper shimmer.
-- ^44 ON: cymbal shimmer (breakdown). OFF: warm open hat (groove).
$ midiOn "^76" (stut 3 0.6 "s") -- push: rolls
$ midiOn "^44" ( -- ON: cymbal shimmer breakdown (quiet, bright, short)
(|* gain 0.3) . (# legato 0.15) . (# "h2ogmcy:1") . (# hpf 6000)
)
$ sometimesBy "^32" (ply "<2!3 [2 4]>") -- ^32: roll probability
$ "[~ h]*4" -- upbeat 8ths (every upbeat, alternating with kick)
$ "[~ h]*4" -- upbeat 8ths (alternating with kick)
# "h2ogmhh"
# n "<6!6 [6 8] 8>" -- OH brightening: n6=open → n8=more open over bars
# n (slow 32 $ range 5 9 saw) -- 32-bar: OH brightens (n5 warm → n9 open/bright)
# hpf (slow 32 $ range 2000 5000 saw) -- 32-bar: progressively brighter
# legato (range 0.2 0.9 "^52") -- ^52: tightness
# att 0.04 -- 40ms soft onset (NTO OH is not a tick)
# att 0.04 -- 40ms soft onset
# pan 0.42
# gain 1.4
# gain (slow 32 $ range 1.2 1.5 saw) -- 32-bar: slightly louder as brighter
d4 $ gF2 $ gM3 -- BASS: V chord tones (F2/A2/C2), rhythmically alive
-- onset analysis: NTO bass = ALWAYS F2/A2/C2 (V chord), never sits on Bb!
-- hits every ~2 beats with variation, answer at beat 2.7→3.7→next bar 0.2
......@@ -181,7 +178,7 @@ d4 $ gF2 $ gM3 -- BASS: V chord tones (F2/A2/C2), rhythmically alive
# dec 0.3 # sus 0.8
# lpfbus 41 (range 300 900 "^53")
# crushbus 42 (range 16 3 "^33")
# room 0.15
# room (slow 32 $ range 0.05 0.2 saw) -- 32-bar: bass space opens up
# gain 1.3
d5 $ gF3 $ gM3 -- ARPEGGIO: 2-note 16th, evolves over sections (demucs guitar stem)
-- demucs: F3/F4 base, Bb3/A3 mid-sections, Gb4 in Ebm, E4 at breakdown
......@@ -196,8 +193,10 @@ d5 $ gF3 $ gM3 -- ARPEGGIO: 2-note 16th, evolves over sections (demucs guitar st
# "FMRhodes1"
# modIndex (range 0.5 8 "^34") -- ^34: FM depth (timbre IS the magic)
# crushbus 51 (range 15 2.8 "^54") -- ^54: bitcrush
# lpfbus 52 (slow 8 $ range 800 6000 sine) -- auto-filter sweep
# room 0.35 # sz 0.5 # dry 1.2
# lpfbus 52 (slow 8 $ range 800 6000 sine) -- 4-bar: filter breath
# room (slow 32 $ range 0.2 0.5 saw) -- 32-bar: arp opens into space
# sz (slow 32 $ range 0.3 0.7 saw) -- 32-bar: reverb tail grows
# dry 1.2
# legato 0.5
# pan 0.6
# gain 1.9
......@@ -210,12 +209,12 @@ d9 $ gF2 $ gM3 -- PAD: Warm evolving harmonic bed
"[df4,f4,af4]", "[ef4,gf4,bf4]"
])
# "90s_synatm:0"
# lpfbus 71 (slow 16 $ range 1500 5000 sine)
# lpf (slow 32 $ range 1200 6000 saw) -- 32-bar: pad opens from warm to bright
# room 0.6 # sz 0.8 # dry 0.9
# legato 4
# pan 0.4
# cut 9
# gain 0.95
# gain (slow 32 $ range 0.7 1.0 saw) -- 32-bar: pad swells gently
d6 $ gF2 $ gM3 -- PIANO: Sparse Rhodes stabs (demucs: Bb3 dominant, enters ~40s)
-- demucs piano: almost all Bb3 with F3/A3, very sparse, in specific sections
$ someCyclesBy "^31" ( -- ^31 mid knob: piano density (0=silent, up=more stabs)
......@@ -225,7 +224,7 @@ d6 $ gF2 $ gM3 -- PIANO: Sparse Rhodes stabs (demucs: Bb3 dominant, enters ~40s)
slow 2 $ "<[bf3,f4] [a3,f4] [bf3,f4] [a3,c4] [bf3,f4] [a3,f4] [af3,df4] [gf3,bf3]>"
)
# "FMRhodes1"
# modIndex 1.5
# modIndex (slow 32 $ range 1 3.5 saw) -- 32-bar: piano gets richer harmonics
# room 0.3 # sz 0.4 # dry 1
# legato 0.8
# pan 0.5
......@@ -239,10 +238,11 @@ d7 $ gF3 $ gMute3 -- CELLO: Counter-melody, sustained bowed (second melodic voic
)
# "cbow:2" -- C4 bowed long vibrato
# crushbus 71 (range 16 2.5 "^55") -- ^55 bot knob: grit
# room 0.4 # sz 0.6
# room (slow 32 $ range 0.3 0.6 saw) -- 32-bar: cello space opens
# sz 0.6
# legato 2
# pan 0.8
# gain 1.0
# gain (slow 32 $ range 0.8 1.1 saw) -- 32-bar: cello grows presence
d8 $ gF1 $ gM1 -- BREAKS: Full jungle break treatment
$ midiOn "^92" (ply "1 <2!3 4>") -- push: fill/ply
$ midiOff "^60" (mask "t(4,8,1)") -- state OFF: sparse techno mask
......
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