Commit 43e0a477 by PLN (Algolia)

feat(copycat): drum rework from detailed onset analysis

Deep demucs drum study findings:
- Kick: 8th note pulse (NOT 4otf), ghost doubles before drop
- Cymbal: THE defining texture, upbeat 8ths throughout most of track
- Clap: appears late (~200s) on contretemps (beats 1&3), ~1200Hz dry snap
- Drop at 2:20: kick disappears, pure cymbal upbeat 8ths
- Arrangement: kick 8ths → cymbal break → kick+cymbal+clap climax

Changes:
- d1 kick: rewritten as 8th note pulse, ^29 ghost double control
- d2 clap: ^43 ON = contretemps (beats 1&3), OFF = backbeat
- d3 hats: OH on every upbeat 8th, ^44 toggles cymbal breakdown mode
parent 127f3eac
......@@ -105,15 +105,23 @@ let gM3 = gMask . gMute3
-- Main Bbm/F vamp with Db/Ebm variation
-- 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: Deep 4otf house kick
$ midiOn "^42" (<| "k k k <k k*2 k [~ k]>")
$ midiOff "^42" (<| "k")
d1 $ gF1 $ gMute2 -- KICK: 8th note pulse (demucs: kick on EVERY downbeat 8th)
-- NTO pattern: kick+OH alternating 8ths, NOT 4otf!
-- ^42 ON: full 8th kicks (groove). OFF: sparse intro kick
-- Before drop: ghost doubles appear (flam at +0.15 beat)
$ midiOn "^42" (<| "k*8") -- the real NTO groove: 8th kicks
$ midiOff "^42" (<| "k ~ ~ <~!3 k>") -- intro: sparse
$ sometimesBy "^29" ( -- ^29 mid knob: kick ghost doubles (pre-drop energy)
superimpose (("0.07" <~) . (|* gain 0.7))
)
$ fix ((# att 0.01) . (# rel 0.5) . (# lpf 2000)) "kick:4"
$ "[techno:0,808bd:2,kick:4]"
# gain 1.3
d2 $ gF1 $ gM -- CLAP: h2o natural handclap, reverbed
$ midiOn "^43" (<| "~ cp ~ [cp <~ cp>]") -- busy: ghost claps
$ midiOff "^43" (<| "~ cp ~ <~ cp*<1 2>>") -- sparse: classic backbeat
d2 $ gF1 $ gM -- CLAP: Dry snap, contretemps (demucs: enters at climax ~200s)
-- NTO clap: beats 1&3 (contretemps), ~1200Hz, dry mid+hi_mid snap
-- Appears late in arrangement for climax energy
$ midiOn "^43" (<| "cp ~ cp ~") -- ON: contretemps (beats 1&3, NTO climax pattern)
$ midiOff "^43" (<| "~ cp ~ <~ cp*<1 2>>") -- OFF: classic backbeat (our interpretation)
$ sometimesBy "^30" ( -- ^30 mid knob: flam probability
superimpose (("e" <~) . (|* gain 0.7))
)
......@@ -123,20 +131,24 @@ d2 $ gF1 $ gM -- CLAP: h2o natural handclap, reverbed
# dry 1
# gain 1.1
# pan 0.55
d3 $ gF1 $ gM -- HATS: h2o sparse offbeat + light flourish
$ midiOn "^76" (stut 3 0.6 "s") -- double time on push button
$ midiOn "^44" (<| "h(4,8,1)") -- state ON: four-on-floor hats
$ midiOff "^44" (mask "t(3,8)") -- state OFF: sparse euclidean
d3 $ gF1 $ gM -- HATS/CY: Open hat 8ths → cymbal morph at drop (demucs confirmed)
-- NTO: OH on every upbeat 8th (alternating with kick)
-- At drop (~2:20): hats morph to high cymbals, kick drops out
-- ^44 ON: cymbal mode (breakdown). OFF: open hat groove
-- ^76 push: rolls
$ midiOn "^76" (stut 3 0.6 "s") -- push: hat rolls
$ midiOn "^44" ( -- state ON: cymbal breakdown (no kick, shimmering)
(<| "[~ cy]*4") . (# "h2ogmcy:1") . (# legato 0.6)
)
$ sometimesBy "^32" ( -- ^32 mid knob: roll probability
ply "<2!3 [2 4]>"
)
-- n: 0-4 closed Hard→Soft, 5-9 open, 15-19 semi-open
$ "~ h ~ h ~ h ~ <h!3 h*2>"
$ "[~ h]*4" -- base: open hat on every upbeat 8th
# "h2ogmhh"
# legato (range 0.1 0.8 "^52") -- ^52 bot knob: hat tightness
# pan 0.42
# n "~ 3 ~ 2 ~ 4 ~ <3!3 [3 6]>" -- occasional open hat flourish
# gain (1.9 * "~ 0.8 ~ [0.75|0.85] ~ 0.8 ~ <0.9!3 [0.9 0.5]>")
# n "<6!3 [6 8]>" -- 6=open hat, 8=more open. vary per bar
# gain 1.5
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
......
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