Strudelify

J'aime Paris au mois de mai (feat. Dianne Reeves)

Charles Aznavour

KeyD majorTempo168 bpm
0:00/0:00
// J'aime Paris au mois de mai (feat. Dianne Reeves) — Charles Aznavour
// 168 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 99 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(168/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/2 spreads a riff over 2 bars.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~ A@6 B@8 C@4 D@4 E F G H I J K@2 L M N@2 O P Q R S T U V W X Y Z AA AB AC AD AE AF S T U V W AG AH AI AJ AK AL AM
  AN@6 AO@6 AP AQ AR@2 AS AT AU AV AW@3 AX AY AZ BA BB BC BD BE@4
>`.pickRestart({
  A: "[~@4 [d4,d5]@5 ~ [c#4,c#5]@5 ~ [d4,d5]@5 ~ [e4,e5]@5 ~ [d4,d5]@5 ~ [c#4,c#5]@5 ~ [b3,b4]@5 ~@2 [d5,g5]@19 ~@5 [c#5,f#5,a5]@19 ~@4 f#3@19 ~@6 a3@9 ~@3 g#3@9 ~@4, ~@46 [g4,b4]@19 ~@5 [g4,a4]@19 ~@55]/6", // D C# D E D C# B G5 …
  B: "[~@5 g3@6 b3@6 d4@6 [g3,c#4]@6 b3@6 [g3,c#4]@6 a3@6 [d4,f#4]@19 ~@5 c4@19 ~@5 b3@19 ~@5 c#4@19 ~@5 [a3,d4]@19 ~@5 [a3,d4]@9 ~@3 a3@9 ~@3 b3]/8", // Gdim D D5
  C: "[~@5 b3@5 ~ c#4@5 ~ d4@5 ~ [g3,b3]@9 ~@3 [g3,a3]@9 ~@3 f#3@19 ~@5 a3@9 ~@3 g#3@9 ~@4]/4", // G Gsus2
  D: "[~@5 g3@6 b3@6 d4@6 [g3,c#4]@6 b3@6 [g3,c#4]@6 a3@6 [d4,f#4]@24 c4@24 ~]/4", E: "b3", F: "c#4", G: "[a3,d4]",
  H: "[b3,d4] [g3,c#4]", I: "~ f#3", J: "g3 a3", K: "[b3@4 [g4,b4]@7 ~ [d4,g4]@3 ~]/2", L: "[c#4,f#4]@19 ~@5",
  M: "f#4@3 ~ [c#4,f#4]@3 ~", N: "[b3@10 ~@2 [d4,g4]@22 ~@2 c#4@9 ~@3]/2", O: "~ d4@19 ~@4, a3@19 ~@5",
  P: "~ d4@9 ~@3 c#4@9 ~@2, b3@3 ~ g3@3 ~", Q: "f#3@19 ~@5", R: "~ a3@9 ~@3 g#3@9 ~@2", S: "~@7 g3@6 b3@6 d4@5",
  T: "~ [g3,c#4]@6 b3@6 [g3,c#4]@6 a3@5", U: "~ [d4,f#4]@19 ~@4", V: "~ c4@19 ~@4", W: "~ b3@19 ~@4", X: "~ c#4@19 ~@4",
  Y: "~ [d4,f#4,a4]@5 ~@7 [d4,f#4]@10 ~", Z: "~ [d4,g4]@10 ~@2 [d4,a4]@10 ~", AA: "~ [a3,d4]@10 ~@2 [a3,d#4]@9 ~@2",
  AB: "~ [g3,b3]@9 ~@3 [g3,a3]@9 ~@2", AC: "~@7 f#3@6 a3@6 c#4@5", AD: "~ b3@6 d4@6 c#4@6 e4@5", AE: "~ f#3@23",
  AF: "~ a3@12 g#3@11", AG: "~@2 c#4@19 ~@3", AH: "~@2 [a3,d4]@19 ~@3", AI: "~@2 [a3,d4]@9 ~@3 a3@9 ~",
  AJ: "~@2 b3@5 ~ b3@5 ~ c#4@5 ~ d4@4", AK: "~@2 [g3,b3]@9 ~@3 [g3,a3]@9 ~", AL: "~@2 f#3@19 ~@3",
  AM: "~@2 a3@9 ~@3 g#3@9 ~",
  AN: "[~@4 g3@3 b3@3 d4@3 [g3,c#4]@3 b3@3 [g3,c#4]@3 a3@3 [d4,f#4]@12 c4@12 b3@12 c#4@11]/6", // Gdim D
  AO: "[~@2 [a3,d4]@24 [b3,d4]@12 [g3,c#4]@12 ~@12 f#3@12 g3@12 a3@12 b3@12 ~ b4@21 ~@3 g4@9, ~@110 g4@21 ~@3 d4@9 ~]/6", // D5 Bm Gdim
  AP: "~@3 f#4@19 ~@2, ~@2 c#4@19 ~@3", AQ: "~ f#4@3 ~ [c#4,f#4]@3", AR: "[~@2 b3@10 ~@3 [d4,g4]@21 ~@3 c#4@9]/2",
  AS: "~@3 [a3,d4]@19 ~@2", AT: "~ [b3,d4]@3 ~ [g3,c#4]@3", AU: "~@3 f#3@19 ~@2", AV: "~ a3@3 ~ g#3@3",
  AW: "[~@9 g3@6 b3@6 d4@6 [g3,c#4]@6 b3@6 [g3,c#4]@6 a3@6 [d4,f#4]@19 ~@2]/3", AX: "~@3 c4@19 ~@2",
  AY: "~@3 b3@19 ~@2", AZ: "~@3 c#4@19 ~@2", BA: "~@3 [d4,f#4,a4]@5 ~@7 [d4,f#4]@9", BB: "~@3 [d4,g4]@10 ~@2 [d4,a4]@9",
  BC: "~@3 [d4,g4,b4]@19 ~@2", BD: "~ [e4,g4,b4]@3 ~ [e4,g4]@3",
  BE: "[~@9 d4@5 ~ e4@5 ~ f#4@5 ~ g4@5 ~ f#4@5 ~ g4@5 ~ g#4@5 ~ [f#4,a4]@5 ~ [f#4,a#4]@5 ~@2 b4@5 ~ [g4,a4,c#5]@5 ~ [a4,d5]@12 [d5,f#5,a5,d6]@3 ~@5, ~@63 [d4,g4]@5 ~ c#4@5 ~ [d4,f#4]@12 ~@9]/4", // F#m F# A7 D5 D G5 D
})).s("gm_string_ensemble_1").gain(0.4)

// bass · acoustic bass
const bass = note(`<
  A@4 B@4 C@8 D@7 E F G H I J K L M N K O P Q R S T U V W X Y Z AA AB AC AD AE V S T AF AG AH AI@8 AJ@8 AK@2 AL@8 AM@8
  AN@8
>`.pickRestart({
  A: "[~@22 [d2,a2,f#3]@24 [f#3,a3]@12 [f3,g#3]@12 ~ e3@5 g3@6 b3@6 d4@8]/4", // D F#m Fm
  B: "[~@4 a3@6 e3@6 a2@6 ~ d3@12 a2@12 f#2@12 f2@12 e2@12 e3@12 a2, ~@23 d2@5 ~@68]/4",
  C: "[~@11 e2@6 a2@6 [d2,d3]@12 a2@12 d#3@12 a2@12 e3@12 a2@12 [e2,e3]@12 a2@12 d3@12 a2@12 d2@12 f#2@12 g2@24 e2, ~@47 d#2@5 ~@19 e2@5 ~@43 d2@5 ~@68]/8", // D E
  D: "[~@11 a2@6 a1@6 d2@12 a2@12 f#2@12 f2@12 e2@12 e3@12 a2@12 e3@6 a2@6 [d2,d3]@12 a2@12 [d#2,d#3]@12 ~ a2@12]/7", // D D#
  E: "e3 a2, e2 ~@3", F: "[e2,e3] a2", G: "[d2,d3] a2", H: "e2 a2", I: "d3 d2", J: "e2 f#2", K: "g2 d3", L: "b3 d3",
  M: "a2 c#3", N: "a3 c#3", O: "b3@12 ~ e3@5 a2@6", P: "~ [d2,d3]@11 b2@12", Q: "~ [e2,e3]@12 a2@11",
  R: "~ d3@12 a2@11, ~ d2@5 ~@18", S: "~ f#2@12 f2@11", T: "~ e2@12 e3@11", U: "~ a2@12 e3@6 a2@5",
  V: "~ [d2,d3]@12 a2@11", W: "~ [d#2,d#3]@12 a2@11", X: "~ e3@12 e3@11, ~ e2@5 ~@7 e2@5 ~@6", Y: "~ a2@12 a2@11",
  Z: "~ d2@12 d3@11, ~@13 d2@9 ~@2", AA: "~ e3@12 f#3@11, ~ e2@9 ~@3 f#2@9 ~@2", AB: "~ d3@12 b2@11, ~ d2@5 ~@18",
  AC: "~ e2@12 a2@11", AD: "~ d2@12 f#2@11", AE: "~ g2@12 [a2,g3]@11", AF: "~ a2@12 e2@6 a2@5",
  AG: "~@2 [d2,d3]@11 a2@11", AH: "~@2 d#3@11 a2@11, ~@2 d#2@5 ~@17",
  AI: "[~ e3@6 a2@6 [e2,e3]@6 a2@6 d3@6 a2@6 d2@6 f#2@6 g2@12 e2@6 a2@3 a1@3 d2@6 a2@6 f#2@6 f2@5, ~@2 e2@5 ~@43 d2@5 ~@137]/8", // E
  AJ: "[~ e2@6 e3@6 a2@6 e3@3 a2@3 [d2,d3]@6 a2@6 [d#2,d#3]@6 a2@6 e3@6 a2@6 [e2,e3]@6 a2@6 [d2,d3]@6 a2@6 e2@6 a2@5, ~@49 e2@3 ~@44]/8", // D D# E D
  AK: "[~ d3@6 d2@6 e2@6 f#2@5]/2",
  AL: "[~@2 g2@12 ~ d3@12 b3@12 d3@12 a2@12 c#3@12 a3@12 c#3@12 g2@12 d3@12 b3@12 e3@6 a2@6 [d2,d3]@12 b2@12 [e2,e3]@12 a2@9]/8", // D E
  AM: "[~ d3@4 a2@4 f#2@4 f2@4 e2@4 e3@4 a2@4 e3@2 a2@2 [d2,d3]@4 a2@4 [d#2,d#3]@4 a2@4 e3@4 e3@4 a2@4 a2@3, ~@3 d2@5 ~@139 e2@5 ~@7 e2@5 ~@28]/8", // D D#
  AN: "[~@3 d2@12 d3@12 e3@12 f#3@12 [g2,d3,b3]@24 [a2,e3,c4]@12 [a2,g3]@12 d3@12 c3@12 ~ b2@11 ~ a#2@12 a2@12 [e2,e3]@6 a2@6 [d2,d3]@6 a2@6 [d2,d3]@2 ~@6, ~@15 d2@9 ~@3 e2@9 ~@3 f#2@9 ~@51 d2@9 ~@3 c2@9 ~@3 b1@9 ~@3 a#1@9 ~@4 a1@5 ~@39]/8", // G Am A7 E D
})).s("gm_acoustic_bass").gain(0.4)

stack(string_ensemble_1, bass)

More by Charles Aznavour