Strudelify

II. Pour un tombeau sans nom

Claude Debussy

KeyD majorTempo120 bpm
0:00/0:00
// II. Pour un tombeau sans nom — Claude Debussy
// 120 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 91 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · piano
const piano = note("<A@6 ~ B@4 C@6 D E F@5 G@4 H@8 I@5 J@4 K@8 L@4 M@8 N@7 O@2 P@6 Q@8 ~@3>".pickRestart({
  A: "[~@14 a#4@5 ~@110 a#4@21 ~@12 d5@26 ~@4, ~ d5@18 g#4@13 ~@17 c5@13 ~@11 f#5@8 ~@28 c5@15 ~@26 c5@15 ~@27, ~@9 c5@11 ~@8 a#4@25 ~@5 d5@20 d5@45 ~@69, ~@113 a#4@10 ~@69, ~@119 g#4@13 ~@60]/6",
  B: "[~@10 d2@15 a#1@14 ~@63 a#1@17 ~@9, ~@54 g#2@23 ~@11 d2@30 ~@10, ~@55 d1@23 ~@50, ~@74 d3@45 ~@9]/4",
  C: "[~@4 d1@19 ~@15 f#5@4 ~@11 e5@3 ~@11 d5@5 ~@79 a#4@37 ~@4, ~@23 g#5@22 ~@11 e5@19 ~@10 a#4@10 ~@23 e4@20 ~@54, ~@34 e5@12 ~@3 d5@11 ~@3 c5@12 ~@5 c5@14 ~@98, ~@21 f#5@9 ~@6 d5@11 ~@49, ~@91 g#4@32 ~@10 f#4@22 ~@37]/6",
  D: "~@23 f#3@9, ~@11 d4@5", E: "~@5 [a#2,f#3,g#3,d4]@3, ~ c4@4 [d3,g#3]@17 ~@10, ~ [f#3,d4]@4 ~@3, ~@17 c4@5 ~@10",
  F: "[~@68 c4@5 ~@49 c4@5 ~@28 c4@5, c4@4 [g#3,d4]@15 d3@2 g#3@20 d4@11 a#4@5 [d3,g#3,d4]@17 ~@11 c4@7 ~@8 c4@5 [a#2,d4] d3@3 d5@34 g#4@17, ~@3 [g#2,f#3]@15 a#2@24 g#3@14 g#4@17 [a#2,d4]@16 g#2@20 g#3@18 [g#3,d4]@12 c4@5 [d3,g#3,d4]@16, ~@15 c4@5 f#3@16 c4@8 ~@4 c5@11 ~@5 a#4@25 d5@15 d2@24 ~@10 a#4@8 ~@5 a#4@9, ~@17 d2@6 d4@18 d5@19 ~@21 c5@8 d4@13 f#5@26 ~@7 c5@11 ~@14]/5", // G#dim Ddim A# G#7 A# G#dim Ddim
  G: "[~@11 c4@5 ~@71 e5@5 ~@12 d5@4 ~ g#2@2 ~@14 d2 a#2 d3, [a#2,f#3,g#3,d4]@16 [g#2,d5]@21 d4@14 c4@6 [g#3,d4] f#3@9 e5@4 f#5 c4@4 f#5@33 ~@12 a#4@6 ~, ~@7 c5@9 d4@14 d2@53 d5@9 [a#2,g#3,e5]@17 [g#3,d4]@18 ~, ~@25 c4@6 a#2@45 [g#3,d4] d3@22 c5@9 ~@9 c5@10 ~, ~@28 f#5@4 d3@2 f#3@3 g#5@50 c4@21 [f#3,d5]@14 c4@5 ~]/4", // A#aug G#dim A#m7b5 G#dim D
  H: "[~@14 c4@4 ~@65 c4@3 ~@3 g#2@4 ~@28 e2@3 ~@12 d2@2 ~@13 e1@3 ~@61 [f5,f6]@41, ~ g#4@43 f#4@23 a#1@22 ~@14 f#1@18 ~@135, ~ [f#3,d4]@17 ~ [f#3,g#3,d4]@17 [g#3,d4]@12 c4@4 g#3@10 g#4@28 ~@10 c4@6 ~@14 [f#3,g#3]@64 ~@6 [c4,d#4,f#4,g#4]@64 ~@2, ~@2 g#3@16 ~@10 e4@25 [c3,f#3,d4]@17 [f#3,d4]@18 [f#3,d4,e4]@19 ~@12 e1@16 d1@17 ~@104, ~@31 c4@6 [d2,d3,f#3]@13 c2@16 c4@5 a#2@19 ~@15 f#2@17 ~@82 d2@48 ~@4]/8", // F D G#m7b5 G#dim F#sus2 G#7 D7 D
  I: "[~@37 [f5,f6]@53 ~@61 d5@9, ~@13 [c4,f#4,g#4]@64 ~@13 [c4,f#4,g#4]@64 ~@6, ~@7 [g3,d#4]@32 ~@18 f5@23, ~@26 d2@46 ~@33 d2@47 ~@8, ~@31 g1@9]/5", // F G#7 Cm
  J: "[~@54 [e4,g4]@6 f#4@3 ~@4 [b3,d4,f4,g#4,a#4]@6 ~ a4@3 ~@4 [b3,d4,f4,g#4,a#4]@7 [c4,d#4,a4,b4]@4 ~@4 g4@7 ~ [d4,f4]@7 ~ g4@2 ~@6 d#4@8, ~@11 [a#3,f#5]@52 ~@11 [a#3,c#4,g4]@17 ~@4 [c#4,e4,a#4,c5]@8 [g#4,b4,c#5]@9 e4@7 a4@9, ~@11 a4@12 [f4,g#4]@8 [d#4,f#4,a4]@22 [c#4,a#4,c5]@7 [c4,d#4,a4,b4,d5]@14 ~@14 [f#4,d#5]@16 ~@7 [a#4,c5]@17, ~@6 g3@31 g3@27, ~@12 [e4,g4]@11 a#4 d4@14 a#4 [c#4,e4,g4,c5]@7 [d4,f4,g#4,b4,c#5]@16 ~@11 [e4,f#5]@17 ~@13 f#5@25]/4", // Em A#7 Adim Dm D#m Gdim A#dim C#7 …
  K: "[~ g#4@13 ~@48 c6@20 ~@16 c6@52 ~@59 a2@3 ~@2 d2@2 ~@4 a2@2 ~@2 d2@2 a2@2 a2@3 ~@2 c#2@3 ~ c#2@2 g#2 ~ g#2@2 ~@2 c#2@3 c#2@3 c#2@3 ~@2, ~ [d4,f4,d#5]@14 [d#4,f#4]@64 ~@3 [a#3,c#4,d#4]@64 ~@16 g5@36 g5@25 a2@3 ~@5 a2@9 ~@4 g#2@3 ~@9, ~@14 g#4@64 ~@5 a2@114 ~@16 a2@3 a2 d2 a2 d2@3 d2 c5@17 ~@3 c4@13, ~@31 [f5,f6]@53 ~@66 c6@35 ~ [c5,c6]@36 c6@14 g#2@3 ~ c#2@3 c#2@2 ~@11, ~@175 [f5,f6]@34 [f5,f6]@30 ~@17]/8", // Dm D#m D#7 F C F
  L: "[~ c#2@2 g#2@2 ~@4 c#2@2 ~ c#2@2 ~ c#2@2 ~@5 c2@2 g2 c2 ~@3 g2@2 ~@2 c2@2 ~ c2@4 ~@3 c2@2 ~@2 f2 a#1@2 ~ a#1@2 ~ a#1@2 ~ a#1@2 ~ a#1@3 ~@6 a1@2 e2 a1 ~@3 e2@2 ~ e2@2 a1@2 a1@2 ~@2 e2@2 ~@2 a1@2 e2@2 ~@3 a1@2 ~ a1@3 ~ e2@2 a1@2 e2@3 ~@5 f1@3 ~@2 c2@3 c2@3, g3@22 c4@24 f4@25 ~@50 f1@3 ~@4, g#2@3 ~@4 c#2@2 ~@2 g#2@3 g#2@3 g#2@3 g#2@4 ~@3 g2@2 ~@3 g2@2 ~ g2@3 ~@3 g2@6 ~@3 f2@3 f2@3 f2@3 f2@3 ~@2 f2@7 ~@3 e2@2 ~@9 e2@2 ~@3 e2@3 ~@3 e2@4 e2@2 ~@18 c2@2 ~@6, ~@8 g#2@3 f4@14 ~@10 g3@12 ~@21 c4@60, ~@18 c#2@6 ~@4 c2@2 ~ c2@2 ~@7 c2@3 ~@2 a#1@2 ~@16 a#1@2 a#1@6 ~@4 a1@3 a1@3 ~@5 a1@3 a1@2 ~@4 a1@3 ~@6 a1@3 ~@6 a1@15]/4",
  M: "[c2@3 c2 ~@2 c2@3 ~@3 c2@3 c2@4 ~@129 f#2@11 ~@21 a#2@12 d#1@2 f#1@2 ~@47 f#3@13, ~@21 f1@8 d#2@38 a#3@5 g#3@18 f#2@55 d#2@14 g1@16 f#1 a#1@2 f#2@16 ~@2 d#2@53 ~@7, ~@23 c2@9 f#2@50 d#1@20 a#3@18 c4@8 d4@20 d4@64 a#3@36 ~@8, ~@26 d#1@23 d4@35 f#1@57 [d#1,f#4]@19 ~@4 b2@30 ~@13 c4@41 ~@8, ~@28 f#1@34 c4@24 d#2@58 f#1@16 ~@2 g2@32 ~@4 f#2@21 g#3@29 ~@8]/8", // D#m
  N: "[~@10 e3@16 ~@38 b5@3 b5@3 ~@6 a#5@7 ~@123 a#4@16 a4@2, ~@26 [a#3,c#4,d#4]@33 c6@11 c6@14 a#5@15 a5@9 g#5@29 [g#5,a#5]@17 f5@27 d5@5 c#5@4 c5@3 c#5@4 c5@4 b4@13 ~@10, ~@27 [d2,a2,d3,e3]@88 ~@7 [a#3,c#4,d#4]@23 g5@14 e5@55 ~@10, ~@27 g3@44 b5@40 ~@12 [a2,d3]@51 d#5@40 ~@10, ~@58 d6@53 ~@12 g3@28 f#5@63 ~@10]/7", // D#7 G#sus2 Dsus2 D#7 D5
  O: "[~@11 g#4@6 ~@22 g4@5 g#4@4 ~@2 f#4@7 a#4@5 a4@2, ~@3 a#4@3 ~@11 g#4@27 g4@15 ~@5, ~@4 a4@15 ~@10 [a2,e3]@30 ~@5, ~@29 [g3,a#3,c#4,d#4]@19 ~@16]/2", // A5 D#7
  P: "[~@2 g#4@3 ~@25 g4@6 ~@58 g#3@10 ~@65 f4@4 ~@11 g#3@8, ~@6 g#4@30 g#4@10 f#4@28 f#4@13 ~@18 d4@32 g#4@2 g#3@8 f4 d2@4 ~@10 g4 c4@3 f#4@7 [a#3,e4]@19, ~@19 [a#3,d#4]@32 d2@9 ~@10 [c4,g4]@8 f4@9 ~@17 d3@36 g4@10 d3@42, ~@20 g3@37 [d3,d4]@24 a#3@25 ~@11 c4@27 f#4@6 d4@25 ~@17, ~@37 g4@19 ~@12 g#4@14 e4@27 ~@19 a#3@23 ~@10 g#4@14 ~@17]/6", // A#dim D#5 C5 D
  Q: "[~@21 f4@5 ~@12 g#3@15 ~@92 g6@12 ~@52 a2@47, ~ d3@52 [e3,g3,a#3,c#4,d#4]@57 [c#5,g5,a5]@47 [d3,e3]@64 ~@35, ~@2 d4@15 f#4@9 a#3@27 ~ d3@64 ~@4 d#6@35 a6@33 a6@64 ~@2, ~@13 g#4@15 ~@53 a4@54 a4@23 ~@16 g3@64 ~@18, ~@14 [c4,g4]@14 ~@41 a2@64 ~ f6@24 ~@15 c#7@64 ~@19]/8", // D#7 A7 Dsus2 C5
})).s("gm_piano").gain(0.15)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@5 A@5 B@2 ~@4 C@3 ~ D@4 E@2 F@2 ~@2 G@2 H I@8 J@2 ~ K L@8 M N O P@2 ~@4 Q ~ R@2 ~@2 S@4 T@2 U@2 ~@4 V@2 W@3 X@6
>`.pickRestart({
  A: "[~@59 d3@44 ~@14 f#2@24 ~@19, ~@25 f#5@9 ~@69 g#1@17 ~@40, ~@31 g#5@44 ~@85]/5",
  B: "[~@36 g#2@21 ~@7, ~@20 g#1@17 ~@27, ~@17 f#2@12 ~@3]/2", C: "[~@12 f#4@15 g#3@7 ~@14]/3",
  D: "[~@9 f#3@16 f#3@16 [f#3,g#3]@16 ~ f#3@19 f#3@17 ~ f#3@17 f#3@16, ~@57 g#3@20 ~@51]/4", // F#sus2
  E: "[~@16 g#3@22 g#3@19 ~@7, ~@8 f#3@9 ~@15]/2", F: "[~@12 f#3@16 ~ d4@15 ~@20, ~@7 f#3@4 ~@5]/2",
  G: "[~@24 g#3@17 ~@23, ~@3 g#3@8 c4@2 ~@19, ~@21 g#1@19 ~@24]/2", H: "~@3 e2",
  I: "[~@5 d2@10 ~@31 d2@9 ~@29 d2@9 ~@31 d2@4, ~@8 d1@4 ~@19 [g3,a3]@64 ~@15 a3@64 ~@12 [a3,d#4]@64 ~@6, ~@65 g1@45 ~@31 g1@45 ~ g3@64 ~@5]/8", // Gsus2 Adim
  J: "[~@8 c4@7 ~, ~@12 c#4@27 ~@25, ~@12 b3@19 ~, ~@31 b4@15 ~@18]/2", K: "~@3 [c4,f#4,b4], ~@15 c#4@17",
  L: "[~ b3@14 c4@6 ~@41 c5@20 ~@81 g4@35 ~@10 d2@3 d2@3 ~@13 d2@3 d2@10 ~@7 g#2@3 g#2@2 g#2@2 c#2@2, ~@15 [g3,a3]@64 ~@3 g3@44 [g4,g5]@36 ~@36 g4@41 ~@17, ~@47 [g2,d3]@36 [d2,d3]@114 ~@59, ~@83 e3@110 ~@63, ~@98 c5@52 ~ c5@35 ~@70]/8", // Gsus2 G G5 D
  M: "~@2 c#2 g#2 ~@12", N: "~@6 g2@3 ~@21 f2@2", O: "~@18 e2@3 ~@11",
  P: "[~@6 e2@3 ~@5 a1@2 ~@12 f1@2 ~ f1@3 f1 ~@2 f1@3 f1@2 ~ f1@3 f1@3 ~@2 c2@4 ~@9, ~@16 e2@19 ~@7 c2@2 ~@5 f1@4 ~@11]/2",
  Q: "~ b1@31", R: "[~@13 f#2@31 ~@20, ~@7 [d#1,f#1]@37 ~@20]/2", S: "[~@27 [d2,e3]@86 ~@15]/4",
  T: "[~@29 [d2,d3]@30 ~@5]/2", U: "[~@21 [d3,e3]@36 ~@7, ~@20 [a2,c#4]@37 ~@7, ~@20 d2@31 ~@13]/2",
  V: "[~@26 e4@29 ~@9]/2", W: "[~@71 g4@23 ~@2, ~@17 g4@54 ~@25, ~@15 [d1,d2]@32 ~, ~@23 d#5@24 ~]/3",
  X: "[~@90 [d3,e3]@83 ~@19, ~@13 [c#4,d#4]@64 ~@115, ~@7 a#3@32 ~@57, ~@71 [d1,d2]@64 ~@57]/6", // Dsus2 C#sus2 D
})).s("gm_piano").gain(0.05)

stack(piano, piano_soft)

More by Claude Debussy