Commit c5066aa1 by PLN (Algolia)

wip(copycat): pyin bass transcription — Bb1F2 vamp, not V chord arp

TODO verify together: bass rewritten from pyin analysis (librosa),
kick LPF raised for click, d3 cut groups for OH ring-over, cello updated.
Bass was wrong — NTO uses sustained Bb1/F2 alternation with chromatic
slides, NOT F/A/C arpeggio. A2 never appears in any segment.
parent b129304d
...@@ -83,6 +83,7 @@ Instructions ...@@ -83,6 +83,7 @@ Instructions
## 26 lettres de noblesses ## 26 lettres de noblesses
## Mars Eclosion ## Mars Eclosion
--La Cle des champs
Drums Architecte Drums Architecte
## Fevrier Vide ## Fevrier Vide
## Janvier A ## Janvier A
......
...@@ -30,11 +30,12 @@ ...@@ -30,11 +30,12 @@
-- ================================================================ -- ================================================================
-- Source: ~/Downloads/N'to - La Clé Des Champs [qd_8mm906GA].mp4 -- Source: ~/Downloads/N'to - La Clé Des Champs [qd_8mm906GA].mp4
-- --
-- BASS stem: 86Hz (F2) dominant across all segments -- BASS stem (pyin pitch tracking across all segments):
-- Bb1=58Hz (sub band), F2=87Hz (low band), C2=65Hz (passing tone at 120s) -- Bb1=58Hz (~45% of frames) + F2=88Hz (~30%) = sustained 2-bar alternation
-- Sub/low ratio shift reveals root movement: high sub% = Bb1, low sub% = F2 -- Chromatic slide transitions: Bb1→Ab1→F2 (descending), F2→C#2→Bb1 (ascending)
-- → Bass sits in Bb1-F2 range, NOT Bb2-F2 (deeper than initially coded) -- Eb2=78Hz for iv (Ebm) sections, F1=44Hz sub-octave in later segments
-- → C2 passing tone at breakdown (seg_0120) = scale degree 2 -- A2 NEVER appears — bass is Bb1↔F2 vamp, NOT V chord arpeggio
-- Bass deepens over time: F2 → F1 in segments 250s+
-- --
-- PIANO stem: enters ~40-50s, peaks ~90-100s -- PIANO stem: enters ~40-50s, peaks ~90-100s
-- 237Hz (Bb3) dominant, 53% low + 47% mid -- 237Hz (Bb3) dominant, 53% low + 47% mid
...@@ -121,7 +122,7 @@ let gM2 = gMask . gMute2 ...@@ -121,7 +122,7 @@ let gM2 = gMask . gMute2
let gM3 = gMask . gMute3 let gM3 = gMask . gMute3
-- Harmonic foundation: 16-bar cycle (each chord = 2 bars) -- Harmonic foundation: 16-bar cycle (each chord = 2 bars)
-- Main Bbm/F vamp with Db/Ebm variation -- Main Bbm/F vamp with Db/Ebm variation
-- Demucs evidence: bass at Bb1(58Hz)/F2(87Hz), C2(65Hz) passing tone at breakdown -- pyin evidence: bass = sustained Bb1(58Hz)↔F2(88Hz), Eb2 for iv, chromatic slides
let rt = slow 2 "<bf2 f2 bf2 f2 bf2 f2 df2 ef2>" -- root sequence (for d6 piano, pad, etc) let rt = slow 2 "<bf2 f2 bf2 f2 bf2 f2 df2 ef2>" -- root sequence (for d6 piano, pad, etc)
d1 $ gF1 $ gMute2 -- KICK: Sub thud, 4otf with flourish (NTO: deepens over time) d1 $ gF1 $ gMute2 -- KICK: Sub thud, 4otf with flourish (NTO: deepens over time)
$ midiOn "^42" (<| "k k k <k k*2 k [~ k]>") -- ON: 4otf + flourish variations $ midiOn "^42" (<| "k k k <k k*2 k [~ k]>") -- ON: 4otf + flourish variations
...@@ -130,7 +131,7 @@ d1 $ gF1 $ gMute2 -- KICK: Sub thud, 4otf with flourish (NTO: deepens over time) ...@@ -130,7 +131,7 @@ d1 $ gF1 $ gMute2 -- KICK: Sub thud, 4otf with flourish (NTO: deepens over time)
superimpose (("0.07" <~) . (|* gain 0.7)) superimpose (("0.07" <~) . (|* gain 0.7))
) )
$ "[techno:0,808bd:2]" $ "[techno:0,808bd:2]"
# lpf (slow 32 $ range 700 250 saw) -- 32-bar: darkens, more sub over time # lpf (slow 32 $ range 4000 1500 saw) -- 32-bar: kick click present, darkens over time
# room (slow 32 $ range 0 0.15 saw) -- 32-bar: tiny room growth # room (slow 32 $ range 0 0.15 saw) -- 32-bar: tiny room growth
# gain 1.8 # gain 1.8
d2 $ gF1 $ gM -- CLAP: Dry quiet snap, contretemps (enters late) d2 $ gF1 $ gM -- CLAP: Dry quiet snap, contretemps (enters late)
...@@ -157,24 +158,27 @@ d3 $ gF1 $ gM -- OH/CY: Subtle offbeat hats, ^44 morphs to cymbal shimmer ...@@ -157,24 +158,27 @@ d3 $ gF1 $ gM -- OH/CY: Subtle offbeat hats, ^44 morphs to cymbal shimmer
# "h2ogmhh" # "h2ogmhh"
# n "~ 3 ~ 2 ~ 4 ~ <3!3 [3 6]>" -- varying openness per hit # n "~ 3 ~ 2 ~ 4 ~ <3!3 [3 6]>" -- varying openness per hit
# legato (range 0.2 0.9 "^52") -- ^52: tightness # legato (range 0.2 0.9 "^52") -- ^52: tightness
# cut "~ 3 ~ 3 ~ 3 ~ <3!3 [3 0]>" -- last hit: cut 0 = rings over bar boundary
# room (slow 32 $ range 0.2 0.45 saw) -- 32-bar: space grows (NOT dry!) # room (slow 32 $ range 0.2 0.45 saw) -- 32-bar: space grows (NOT dry!)
# sz (slow 32 $ range 0.1 0.3 saw) -- 32-bar: tail lengthens # sz (slow 32 $ range 0.1 0.3 saw) -- 32-bar: tail lengthens
# dry 1 # dry 1
# pan 0.42 # pan 0.42
# gain (slow 32 $ range 1.3 1.6 saw * "0.7 0.8 0.65 [0.75|0.85] 0.69 0.8 ~ <0.9!3 [0.9 0.5]>") # gain (slow 32 $ range 1.3 1.6 saw * "0.7 0.8 0.65 [0.75|0.85] 0.69 0.8 ~ <0.9!3 [0.9 0.5]>")
-- 32-bar swell * per-hit velocity (the original subtle dynamics) -- 32-bar swell * per-hit velocity (the original subtle dynamics)
d4 $ gF2 $ gM3 -- BASS: V chord tones (F2/A2/C2), rhythmically alive d4 $ gF2 $ gM3 -- BASS: Sustained Bb1↔F2 alternation with chromatic slides
-- onset analysis: NTO bass = ALWAYS F2/A2/C2 (V chord), never sits on Bb! -- pyin analysis: Bb1 (58Hz, ~45%) + F2 (88Hz, ~30%) = 2 main notes
-- hits every ~2 beats with variation, answer at beat 2.7→3.7→next bar 0.2 -- 2-bar holds, chromatic slide transitions (Ab1→F2, C#2→Bb1)
$ midiOn "^57" ( -- state: octave ghost echo -- Eb2 for iv chord, F1 sub-octave in later segments (bass deepens)
off "e" ((|+ note 12) . (|* gain 0.65) . (# legato 0.3)) -- A2 NEVER appears — prior "V chord arp" was wrong
$ midiOn "^57" ( -- state: sub-octave layer (NTO later segments)
superimpose ((|+ note (-12)) . (|* gain 0.6) . (# legato 2))
) )
$ midiOn "^89" (struct "[t, [~ t t ~. <t(3,8) t*[2 <2 4>]>]]") -- push: wild mode $ midiOn "^89" (struct "[t, [~ t t ~. <t(3,8) t*[2 <2 4>]>]]") -- push: wild mode
$ note ( $ 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]>" slow 2 $ "<[bf1@7 af1] [f2@7 af1] [bf1@7 af1] [f2@7 af1] [bf1@7 af1] [f2@7 af1] [df2@7 c2] [ef2@7 df2]>"
) )
# "bassWarsaw" # "bassWarsaw"
# dec 0.3 # sus 0.8 # dec 0.3 # sus 0.8 # legato 2
# octersubbus 41 (range 0 2.5 "^53") -- ^53: sub-octave depth # octersubbus 41 (range 0 2.5 "^53") -- ^53: sub-octave depth
# crushbus 42 (range 16 3 "^33") -- ^33: grit # crushbus 42 (range 16 3 "^33") -- ^33: grit
# room (slow 32 $ range 0.05 0.2 saw) -- 32-bar: bass space opens up # room (slow 32 $ range 0.05 0.2 saw) -- 32-bar: bass space opens up
...@@ -212,7 +216,7 @@ d9 $ gF2 $ gM3 -- PAD: Warm evolving harmonic bed ...@@ -212,7 +216,7 @@ d9 $ gF2 $ gM3 -- PAD: Warm evolving harmonic bed
# room 0.6 # sz 0.8 # dry 0.9 # room 0.6 # sz 0.8 # dry 0.9
# legato 4 # legato 4
# pan 0.4 # pan 0.4
# cut 9 -- # cut 9
# gain (slow 32 $ range 0.7 1.4 saw) -- 32-bar: pad swells gently # gain (slow 32 $ range 0.7 1.4 saw) -- 32-bar: pad swells gently
d6 $ gF2 $ gM3 -- PIANO: Sustained Rhodes chords (demucs: Bb3/A3/F3, enters ~40s) d6 $ gF2 $ gM3 -- PIANO: Sustained Rhodes chords (demucs: Bb3/A3/F3, enters ~40s)
-- ^31: modIndex sweep (more harmonics = more presence) -- ^31: modIndex sweep (more harmonics = more presence)
...@@ -229,8 +233,8 @@ d7 $ gF3 $ gMute3 -- CELLO: Rhythmic bowed answer, tighter complement to bass ...@@ -229,8 +233,8 @@ d7 $ gF3 $ gMute3 -- CELLO: Rhythmic bowed answer, tighter complement to bass
$ midiOn "^91" (ply 2) -- push: doubles for urgency $ midiOn "^91" (ply 2) -- push: doubles for urgency
$ midiOn "^59" ((|* gain 1.2) . (# "[cpluck:6,cpluck:7]")) -- state ON: pizzicato $ midiOn "^59" ((|* gain 1.2) . (# "[cpluck:6,cpluck:7]")) -- state ON: pizzicato
$ midiOff "^59" (struct "t@3 [t t t] ~ ~") -- OFF: rhythmic bow, answer on beat 3 $ midiOff "^59" (struct "t@3 [t t t] ~ ~") -- OFF: rhythmic bow, answer on beat 3
$ note ( -- mirrors bass V chord (A/C/F) one octave up, tighter phrasing $ note ( -- mirrors bass Bb↔F vamp, one octave up, with answer phrase
slow 2 $ "<[f3@3 [a3 c4 f3] ~ ~] [a3@3 [c4 f3 a3] ~ ~] [f3@3 [a3 c4 f3] ~ ~] [c3@3 [a3 f3 c3] ~ ~] [f3@3 [a3 c4 f3] ~ ~] [a3@3 [c4 a3 f3] ~ ~] [af3@3 [f3 df3 af3] ~ ~] [gf3@3 [ef3 bf2 gf3] ~ ~]>" slow 2 $ "<[bf2@3 [af2 f2 bf2] ~ ~] [f3@3 [af2 bf2 f3] ~ ~] [bf2@3 [af2 f2 bf2] ~ ~] [f3@3 [af2 bf2 f3] ~ ~] [bf2@3 [af2 f2 bf2] ~ ~] [f3@3 [af2 bf2 f3] ~ ~] [df3@3 [c3 df3 ef3] ~ ~] [ef3@3 [df3 bf2 ef3] ~ ~]>"
) )
# "cbow:2" # "cbow:2"
# crushbus 71 (range 16 2.5 "^55") -- ^55: grit # crushbus 71 (range 16 2.5 "^55") -- ^55: grit
......
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