Commit af0637a7 by PLN (Algolia)

feat(copycat): deep drum rework from onset+envelope analysis

Full NTO drum character applied:
- d1 kick: att 0.05 (round thud), lpf darkening over time (saw 800→300)
- d2 clap: quiet (gain 0.7), dry (room 0.1), hpf 800 — mid-snap only
- d3 OH: evolving brightness (n6→n8), att 0.04 (soft onset),
  ^44 toggles whisper-shimmer mode (gain 0.3, hpf 6000, legato 0.15)
- Header: full drum voice analysis with centroid evolution,
  attack/decay times, peak levels per section
parent 43e0a477
......@@ -60,22 +60,40 @@
-- 0-10s: Pad only (other stem: Bb3, rms=0.07)
-- 10-30s: Bass enters (86Hz/F2, rms=0.19-0.26), pad continues
-- 30-50s: Arp synth fades in (guitar stem: 172-183Hz), piano first stabs
-- 50-60s: Build (all melodic voices growing)
-- 60-90s: Drums enter big (kick 54Hz/93% sub at 65Hz), full groove
-- 90-120s: Piano peaks (237Hz, rms=0.05), all voices at full
-- 120s: Breakdown — bass drops to C2 (65Hz), arp peaks, drums thin
-- 150s: Piano reprise, mid-frequency evolution
-- 200s+: Climax sections, pad shifts bright (560Hz), full energy
-- 40-50s: KICK enters — 8th note pulse, kick only, no hats yet
-- 60s: OH enters on upbeat 8ths (warm, centroid 4000Hz)
-- 70-80s: Full groove: K↑OH alternating 8ths, OH brightening (→4900Hz)
-- 90s: Pre-drop: kick gets ghost DOUBLES, OH→ride brightness (→7700Hz)
-- 90s bar4: KICK DROPS OUT — pure cymbal shimmer (centroid 8200Hz, QUIET)
-- 100-120s: Cymbal break — whisper-quiet shimmer on upbeat 8ths only
-- 150s: Kick returns + OH-mid (centroid 6000Hz), groove restored
-- 200s+: Full: kick + bright OH/ride + CLAP on beats 1&3 (contretemps)
--
-- DRUM VOICES (demucs onset + envelope analysis)
-- ================================================
-- KICK: dom=86Hz, sub=58-70%, att=48-56ms (SLOW round thud), dec=3ms
-- No click, no snap. Gets DEEPER over time (centroid 1100→200Hz).
-- Pattern: 8th notes on every downbeat eighth. Ghost doubles pre-drop.
--
-- OPEN HAT → CYMBAL (one evolving voice, not separate samples):
-- centroid evolves: 4000Hz(warm) → 4900(bright) → 8400Hz(shimmer)
-- Groove: peak=0.55-0.61, att=38-42ms, on every upbeat 8th
-- Breakdown: peak=0.05-0.07 (QUIET whisper!), att=7-10ms (tick)
-- Post-drop: peak=0.62, centroid 6000-7200Hz (bright ride character)
--
-- CLAP: enters at climax (~200s), contretemps (beats 1&3)
-- peak=0.13 (quiet accent!), att=10ms, dec=12ms, dom=1292Hz
-- Dry thin mid-snap. Not a fat backbeat — more rimshot/finger snap.
--
-- SOUND DESIGN
-- ============
-- KICK: 54Hz/93% sub (demucs). Deep techno sub-kick, NOT a bright 808
-- BASS: Bb1-F2 sub (58-87Hz). Moog-like, melodic root movement + answer
-- ARPEGGIO: 2-note 16th Bb4↔F4, FM synth. Magic = timbre not notes
-- PIANO: Rhodes stabs, Bb3/F4 area, enters ~40s, peaks at 90s
-- PAD: ~Bb3 warm bed, evolves brighter. Generous reverb, slow filter
-- HATS: h2o velocity-layered, sparse offbeat + flourish
-- CLAP: h2o natural handclap, reverbed
-- KICK: Round sub thud (att 50ms!), 8th pulse. Gets deeper over time.
-- BASS: F2/A2/C2 (V chord tones only!). Rhythmic, not held notes.
-- ARPEGGIO: 2-note 16th Bb4↔F4, FM synth. Magic = timbre not notes.
-- PIANO: Rapid A3/F3 repeated stabs (16th-ish), sparse, enters ~40s.
-- PAD: ~Bb3 warm bed, evolves brighter. Generous reverb, slow filter.
-- OH/CY: One voice that brightens: warm OH → bright ride → shimmer.
-- CLAP: Late entry (~200s), contretemps, dry quiet mid-snap.
--
-- NTO'S KNOWN GEAR:
-- Moog Subsequent 37, Arturia MicroFreak, Akai APC40 MKII,
......@@ -105,50 +123,50 @@ 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: 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)
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.
$ 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))
)
$ fix ((# att 0.01) . (# rel 0.5) . (# lpf 2000)) "kick:4"
$ "[techno:0,808bd:2,kick:4]"
$ "[techno:0,808bd:2]"
# att 0.05 -- 50ms attack = round thud, no click
# rel 0.2
# lpf (slow 64 $ range 800 300 saw) -- gets darker/deeper over time
# gain 1.3
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))
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
$ 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"
# room (slow 32 $ range 0.3 0.6 saw)
# sz (slow 32 $ range 0.1 0.45 cosine)
# dry 1
# gain 1.1
# hpf 800 -- cut the low end: NTO clap is 0% sub, pure mid
# lpf 4000
# room 0.1 # dry 1.5 -- very dry
# gain 0.7 -- QUIET accent, not a slam (NTO peak=0.13)
# pan 0.55
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)
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
$ 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" ( -- ^32 mid knob: roll probability
ply "<2!3 [2 4]>"
)
$ "[~ h]*4" -- base: open hat on every upbeat 8th
$ sometimesBy "^32" (ply "<2!3 [2 4]>") -- ^32: roll probability
$ "[~ h]*4" -- upbeat 8ths (every upbeat, alternating with kick)
# "h2ogmhh"
# legato (range 0.1 0.8 "^52") -- ^52 bot knob: hat tightness
# n "<6!6 [6 8] 8>" -- OH brightening: n6=open → n8=more open over bars
# legato (range 0.2 0.9 "^52") -- ^52: tightness
# att 0.04 -- 40ms soft onset (NTO OH is not a tick)
# pan 0.42
# n "<6!3 [6 8]>" -- 6=open hat, 8=more open. vary per bar
# gain 1.5
# gain 1.4
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