Commit 127f3eac by PLN (Algolia)

feat(copycat): bass V-chord pattern, d6 piano, full onset evidence

Major findings from demucs onset analysis:
- NTO bass uses ONLY F2/A2/C2 (V chord tones) — never sits on Bb root!
- Bass is rhythmically alive, not held notes. Varies each 2-bar phrase.
- Guitar(arp) stem evolves: F3/F4 base → Bb3/A3 mid → Gb4/E4 breakdown
- Piano: sparse Bb3 stabs with F3/A3, only in specific sections

Changes:
- d4 bass: rewritten as rhythmic V chord figure (f2/a2/c2 variation)
- d6 piano: NEW — sparse FMRhodes1 stabs, ^31 knob controls density
- d7 cello: reworked as counter-melody (sustained 5ths/3rds)
- d9 pad: fixed cut group collision (was cut 7, now cut 9)
parent 14331d16
......@@ -137,15 +137,15 @@ d3 $ gF1 $ gM -- HATS: h2o sparse offbeat + light flourish
# 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]>")
d4 $ gF2 $ gM3 -- BASS: Deep sub Bb1/F2 (demucs: 58-87Hz)
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
$ midiOn "^57" ( -- state: octave ghost echo
off "e" ((|+ note 12) . (|* gain 0.65) . (# legato 0.3))
)
$ midiOn "^89" (struct "[t, [~ t t ~. <t(3,8) t*[2 <2 4>]>]]") -- push: wild mode
$ note ( -- V chord answer (A2 C2 F2) at quarter notes — onset analysis confirmed
-- root held 5/8 of 2 bars, then A→C→F (harmonic minor V tones)
-- answer crosses barline: F2 lands on "the one" of next chord
slow 2 $ "<[bf2@5 a2 c2 f2] [f2@5 a2 c2 f2] [bf2@5 a2 c2 f2] [f2@5 f2 c2 c2] [bf2@5 a2 c2 f2] [f2@5 a2 c2 f2] [df2@5 af2 f2 df2] [ef2@5 gf2 ef2 bf1]>"
$ note (
slow 2 $ "<[f2@5 a2 c2 f2] [c2@5 a2 c2 f2] [f2@5 c2 a2 f2] [a2@5 c2 c2 f2] [f2@5 a2 c2 f2] [c2@5 a2 a2 f2] [f2@5 af2 f2 df2] [f2@5 gf2 ef2 bf1]>"
)
# "bassWarsaw"
# dec 0.3 # sus 0.8
......@@ -153,19 +153,20 @@ d4 $ gF2 $ gM3 -- BASS: Deep sub Bb1/F2 (demucs: 58-87Hz)
# crushbus 42 (range 16 3 "^33")
# room 0.15
# gain 1.3
d5 $ gF3 $ gM3 -- ARPEGGIO: 2-note 16th oscillation (MIDI confirmed)
$ midiOn "^90" (stut 4 0.5 "e")
$ midiOn "^58" (superimpose ( -- bloom: octave shimmer + pan spread
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
$ midiOn "^90" (stut 4 0.5 "e") -- push: stutter
$ midiOn "^58" (superimpose ( -- state: bloom octave shimmer + pan spread
(|+ note 12) . (|* gain 0.55) . (|+ pan 0.2) . (# room 0.5)
))
$ sometimesBy (1 - "^18") (mask "<t(11,16) t(13,16) t(14,16) t(15,16)>") -- breathes: sparse → full over 4 bars
$ note ( -- Bb stays on top over both Bbm AND F chords (MIDI evidence)
$ sometimesBy (1 - "^18") (mask "<t(11,16) t(13,16) t(14,16) t(15,16)>") -- breathes
$ note ( -- Bb/F base, same over both chords. Eb/Gb for Ebm section
"<[bf4 f4]*8!6 [ef4 gf4]*8!2>"
)
# "FMRhodes1"
# modIndex (range 0.5 8 "^34")
# crushbus 51 (range 15 2.8 "^54")
# lpfbus 52 (slow 8 $ range 800 6000 sine)
# 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
# legato 0.5
# pan 0.6
......@@ -183,8 +184,22 @@ d9 $ gF2 $ gM3 -- PAD: Warm evolving harmonic bed
# room 0.6 # sz 0.8 # dry 0.9
# legato 4
# pan 0.4
# cut 7
# cut 9
# gain 0.95
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)
struct "<~!4 [~ t ~ ~]!4 [~ t ~ t]!4 [~ t t t]!4>"
)
$ note (
slow 2 $ "<[bf3,f4] [a3,f4] [bf3,f4] [a3,c4] [bf3,f4] [a3,f4] [af3,df4] [gf3,bf3]>"
)
# "FMRhodes1"
# modIndex 1.5
# room 0.3 # sz 0.4 # dry 1
# legato 0.8
# pan 0.5
# gain 1.2
d7 $ gF3 $ gMute3 -- CELLO: Counter-melody, sustained bowed (second melodic voice)
$ midiOn "^91" (ply 2) -- push: doubles for urgency
$ midiOn "^59" ((|* gain 1.2) . (# "[cpluck:6,cpluck:7]")) -- state ON: pizzicato
......
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