Strudelify

Children's Corner - I. Doctor Gradus ad Parnassum

Claude Debussy

KeyC majorTempo120 bpm
0:00/0:00
// Children's Corner - I. Doctor Gradus ad Parnassum — Claude Debussy
// 120 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 62 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 · "A.PIANO 1"
const piano = note("<A@2 B@6 C D E F G H I J@8 K@2 L@8 M@8 N@4 O@3 P@3 Q@6 R S@4>".pickRestart({
  A: "[~@9 c4@2 ~ e4 ~ g3 c4 ~ e4 d4 ~ f3 c4@2 ~ f4 ~@2 b3 f4 ~ e4 ~ g3 c4 e4 ~ g4 b3 c4 ~ g4 f4@2 a3 c4 ~ f4 ~ b3 ~ f4 a4 ~ g4 c4 e4 ~ g4 c5@2 e4 ~ g4 c5, ~@2 c3@55 ~@7, ~@23 d4@2 ~@22 a4@2 ~@15]/2",
  B: "[~ d5 ~ e4 g4 d5 ~ c5 ~ e4 g4 c5 ~ b4 e4 ~ g4 ~ a4 ~ e4 g4 ~ a4 g4 ~ c4 e4 g4 ~ f4 c4@2 ~ f4@2 ~ b3 ~@2 e4@2 d4 a3 ~@2 d4 ~ g4 b3 ~ e4 g4 a4 ~ c4 e4@2 a4 ~ e4@3 ~@2 d4@2 a3@3 ~ c4@2 g3 a3 ~@2 b3@2 ~@2 b3 ~@2 c3 ~@8 d4@2 ~@7 e3@2 d3 c3 ~@2 c3 ~@10 e4@10 ~ c3@2 f2@2 ~@8 d4@2 ~@9 c3@2 f2@3 ~@7 d4@2 ~@9 c3@2 e2@2 b2 ~ g#3 ~@2 e3 ~ b3 ~@2 g#3 ~, ~ b3@6 a3@5 ~ b3@4 b4@2 c4@5 b3@6 a3@6 g3@6 f3@6 e3@6 ~@9 c4@2 f3@5 ~ e3@4 ~@4 f3@4 f2@22 ~@2 f2@4 ~@4 a3 c4@2 d4@3 ~@18 g#3@2 c4@3 e4@11 ~@7 g#3@2 c4@3 e4@7 e3 d3@3 ~@6 b2@2 ~@6, ~@36 e4@2 ~ c4@2 ~@4 c4@2 ~@7 a3@5 g3@5 e4@2 ~@4 d4@2 ~@4 c4@2 ~@2 g3@2 ~@4 d3@12 c4@7 ~@6 e3@17 ~@8 e3@11 c4@8 ~@6 f3@17 ~@3 e3@2 ~@6 e3@2 ~, ~@87 e3@9 d4@3 a3@2 f3@4 ~@5 d3@19 d3@3 ~@2 d3@14 g#3 f3@2 e3@4 ~@4 e3@11 c4@9 ~@13, ~@89 f3 a3@2 c4@3 e4@10 ~@8 f3@19 ~@6 f3@7 d4@7 d3@2 ~@4 d3@13 a#3@7 ~@8 g#3@2 ~@4]/6",
  C: "~ e4 g#3@2 b3 e4 ~ g#4 e4@24, b3 ~@15",
  D: "~@8 f4 d4 ~ e4 f4 d4 b3 ~ e4 a4@2 f4 d4 e4 ~ f4 d4 b3 ~ g4 c5@2 a4 f4",
  E: "e4 ~ a4 f4 d4 ~ c4 f4 ~ d4 b3 ~ a3 ~ b3 ~ g3 ~ e4 a4@2 f4 d4 e4 ~ f4 d4 b3 ~ e4 a4 ~",
  F: "f4 d4 e4 ~ f4 d4 b3 ~ g4 c5@2 a4 f4 e4 ~ a4 f4 d4 ~ c4 f4 ~ d4 b3 ~ a3 ~ b3 ~ g3 f3 ~, ~@13 d4 ~@2",
  G: "b3 g#3 e3 ~ g3 ~@2 a#3 f#3 ~ f3 ~ b3 g#3 e3 ~ g3 c#4@2 a#3 f#3 ~ f3 b3 g#3 ~ e3 f3 ~ b3 g#3 ~, ~@3 c#4 ~@12",
  H: "e3 f3 ~ b3 g#3 e3 ~ f3 b3 ~ g#3 e3 ~ e3 ~ a3 ~ f3 d3 g3 ~@2 g#3 ~ f3 e3 ~ a3 f3 d3 ~ g3, ~@21 c4@2 ~@9",
  I: "~@2 g#3 f3 ~ e3 a3 ~ f3 d3 ~ e3 ~@2 f3 d3 ~ e3 a3@2 ~ f3 d3 e3 ~ a3@2 ~ d3 e3 ~@2, ~ c4@2 ~@10 a3@2 ~@17",
  J: "[g#3 ~ d3 ~ e3 ~ g#3@2 d3 ~ e3 ~@6 e3@3 ~@33 b3@2 f4@2 ~ g3 ~@3 g4@2 ~ e4 ~ g4@2 ~ a3@2 ~ f#4@2 a4 ~@4 a4@2 g4@2 d4@2 ~@10 d4@2 ~@5 a4@3 ~@5 e4@2 ~@27 e4 ~@12 e4@2 a#3@2 ~@2 c#5@2 ~@5 e4@2 ~@30 a#3@3 ~@24 e4@2 ~@19 g4@5 b4@5, ~@29 c3@37 ~@3 d3@8 ~@5 e3@18 ~@6 f#5@8 ~@4 b4@2 e5@5 d4@4 e4@11 ~@2 b3@13 ~@8 c#5@6 ~@3 g4@9 g4@6 c5@3 e4@2 e5@4 g4@3 ~@3 g4@7 e5@18 ~@3 g4@6 b4@2 g4 e4@2 f#5@3 b4@7 ~@5, ~@38 e4@3 c4@3 d4@4 d4@8 ~ e4@2 ~@2 e4@2 ~@6 f#4@2 ~@7 f#4@4 ~@4 g4@9 g4@3 c#4@16 ~ d4@9 g4@5 ~@2 g4@7 ~ g4@3 ~@2 e4@8 g4@3 ~@2 e4@9 ~@2 a3@4 ~@5 g5@20 e4@2 ~@2 e4@9 g4@4 f#5@14 ~@4 b4@2 d5@21 ~, ~@40 g3@6 f3@2 ~@2 f4@2 a3@5 ~@5 a2@8 ~@5 b2@7 ~@8 e5@8 ~@3 g4@6 a4@6 ~@3 g4@6 b4@5 c#4@4 ~@2 a#4@4 a#4@5 ~@3 g4@5 d5@5 ~@3 g4@6 g4@4 ~@2 e4@13 e4@6 g4@5 c5@5 ~@5 c5@4 c5@3 e4@5 c5 g4@2 e4@3 c5@5 b3@29, ~@42 e4@5 c4@9 ~@4 c4@3 ~ b3@2 ~@6 d4@4 c4@6 ~@6 b4@5 b4@5 ~@2 e4@9 g4@4 e3@16 ~@6 f#5@6 ~@6 d5 f#5@7 ~@6 f#5@8 ~@5 c5@6 c5@6 f#5@13 ~@7 d5@21 ~@2 e4@8 e5@18 ~]/8",
  K: "[~@27 e4@3 d5@2 ~@21 c3@2 a#2@2 a2@2 g2@2 f2@3, c4@25 g4@5 g3@7 f4@9 a3 g3@2 f3 e3@2 d3@4 ~@8, ~@2 e4@11 g4@3 e5@14 ~@5 g4@3 e4@2 d4 c4@2 d4@14 ~@7, ~@4 g4@7 a#4@3 e4@3 a#4@2 g4@3 c5@8 ~@3 a4@12 a#3@12 ~@7, ~@5 a#4@3 d5@16 a#4@6 ~@2 a#4@25 ~@7]/2",
  L: "[~@4 g3@2 ~@8 a#3@2 ~@3 a#3@2 ~ g3@2 ~@133 d#2@20 a#1@10 ~@59 f#3@9 g#1, [e2,d4]@8 [d2,e4]@8 c2@14 a#1@49 f3@14 c4@4 f#3@88 ~@28 g#3@42 ~, ~@17 c4@15 ~@8 f3@15 d4@13 c5@34 a#3@83 ~@32 c4@38 ~, ~@45 a#3@18 a#4@21 a#3@5 d4@18 c4@7 a#1@17 d#2@9 a#1@20 ~@27 g#1@40 f#3@9 c#4@15 ~@5, ~@50 c4@23 d5@41 d#4@73 ~@40 a#4@28 ~]/8", // E7 Dsus2
  M: "[~@34 f#3@4 ~@37 c#4@4 ~@63 f#3@11 ~@12 c#4@6 ~@5 f#3@26 ~@8 c4@2 d4@2 e4 ~ g3 c4@2 e4 d4 ~ f3@2 ~@2 f4 ~ a3 b3 ~@2 e4 ~ g3 c4 e4@2 g4 ~ b3 c4 g4@2 f4 a3 ~ c4 f4 ~ a4 b3 f4 ~@2 c2, ~@2 d#3@11 f#4@15 a#3@3 d#3@17 ~@4 f#3@6 c#4@7 ~@2 f#3@12 ~@3 f#3@10 c#4@3 f#3@4 a#3@3 c#4@24 f#3@12 d#4@11 ~@76 d4@2 ~@4 f4@2 ~@23, ~@6 g#3@8 c4@3 d#3@7 c4@15 ~@4 c#4@10 [f4,g#4]@12 ~@6 c4@7 ~ d#4@10 d#4@42 c4@15 ~@7 d#3@21 ~@28 g2@54, ~@10 a#3@10 g#3@14 [f#4,a#4]@31 ~@21 c4@30 f4@6 g#4@33 ~@101, ~@13 d#4@25 a#3@24 g#1@43 f4@3 f#3@4 a#3@20 ~@3 c#4@18 ~@4 f#3@14 ~ g#2@31 ~@53]/8", // Fm F#
  N: "[g4 ~@2 e4@3 ~@3 g4 ~ c5 ~ d5 e4 ~ g4 d5 ~ c5 ~@2 g4 ~@2 b4 ~ g4 ~ b4 ~ c4@4 ~ g4@2 ~ e4 ~ g4 f4 ~@4 f4 e4@2 ~@8 d4@2 ~@4 g4@2 ~@4 a4@2 ~@9 c4@2 d4@2 ~@3 a3@3 b3@2 f3 ~@3 b3@2 ~ c3 ~ d3 ~@18 c3@2 f2@3 d3 ~, ~@6 c5@2 ~@10 a3@6 b3@6 ~@21 c4@3 d4@2 a3@2 ~@4 b3@4 a3@6 [g3,e4]@5 e4@2 ~@7 g3@5 ~@4 g3@4 ~@4 e3@11 c4 a3@2 f3@2 e3 d3@3 ~@5, ~@7 c4@21 ~@2 a4@2 ~@3 a4@2 ~@16 e4@2 f3@6 e3@5 ~ c4@5 ~@2 a3@4 ~ f3@5 ~ e3@6 d3@8 f2@24 ~@5, ~@57 c4@2 ~ g4@3 e4@2 ~ a4@2 ~ e4@3 ~@4 c4@2 d4@2 a3@4 ~ c4@3 ~@17 f3@7 d4@11 ~@5, ~@106 a3@2 c4 d4 e4@13 ~@5]/4", // C
  O: "[~@11 b3@5 ~ c3 ~ f2@2 ~@20 c3@2 f2@2 c3 ~@12 c4@7 c3@2 e2@2 ~ c3 ~ g#3 c3 ~@2 g#3@2 ~@2 g#3@2 c4 e4 ~@2 c4@2 e4 g#4 g#3@2 ~@2 g#4 ~, e3@15 ~ d3@2 ~@3 c3@2 ~ e3@10 c4@3 f3@2 e3 d3@3 ~@3 d3@18 ~@32, ~ f3@17 ~@4 d3@14 g#3@7 ~@4 e3@15 ~@9 e3@2 ~@2 e3@2 ~@2 e3@2 ~@15, ~@4 c4@6 ~@15 f3@8 d4@10 ~@6 f3@18 ~@18 g#3@2 ~@5 c4@2 ~@2, ~@6 d4 e4@11 ~@8 g#3@2 c4 d4@2 e4@12 ~@7 g#3@2 c4@3 e4@12 ~@26 e4@2 ~]/3",
  P: "[~ e4 ~@7 e5 ~@2 c5 ~@2 g#5 ~@15 d6@2 ~@9 c6@2 ~@9 g#5@2 ~@5 c6@2 ~@26 g5@2 ~@4 f5@2, c4@2 g#4@3 e4@5 ~@9 g5@4 e5@4 d5@4 ~@6 c6@3 g#5@4 f6@2 ~@2 c6@7 d6@3 ~ g#5@3 ~@3 g5@3 ~@2 g5@5 e5@3 a4@7 a4@6 ~@5, ~@4 c5@3 g#4@4 g#4@3 ~@2 c5@5 c6@4 g5@4 e5@2 ~@3 e5@11 d#5@7 d#5@5 ~ d#5@4 ~@2 e5@2 d6@2 ~@3 c6@6 b5@2 ~@4 a5@3 ~@4 f4@6, ~@8 c5@3 ~@3 e5@2 ~@2 e5@4 c5@7 ~@4 c5@3 ~@3 f5@6 ~@6 d5@6 ~@5 d5@6 ~ e5@4 b4@6 ~@2 e5@4 ~@2 c5@4 ~@2 c5@3, ~@26 c6@3 ~ g5@4 ~ g5@10 ~@2 g#5@2 d#6@7 c5@6 ~@5 c5@7 c5@5 ~ c5@2 ~@2 g4@7 ~ g4@2 ~@2]/3",
  Q: "[~@2 g#4@2 ~@2 e4@2 ~ d5@2 ~ e4@2 ~@6 c5@2 ~@4 d5@2 ~@3 c5@2 ~@2 c5@2 ~@16 c5@2 ~@14 b4@2 ~@9 g4@2 ~@4 f4@2 ~@3 e4@2 d3@2 e3 ~@5 g3@2 d4 ~@9 d4 ~ c3 ~@8 d5 ~@9 a4@2 ~@27 e4@2 ~@3 e4 ~ [d#4,a#4] ~ d#5@2 g4 f#4 a#5@2 ~ a#4 d5 ~@3 b4@2 ~@2 c5@2 e4 ~, e4@5 d4@3 g#4@3 d4@4 d5@2 ~@2 g4@4 ~ e4@4 ~ e4@4 f4@6 ~ g#4@4 d4@6 d#4@2 g#4@4 e4@2 ~@4 e4@2 ~@3 c4@2 ~@3 c4@2 ~@4 a3@2 ~@3 g3@2 ~@4 f3@2 ~@9 e3@4 ~ e3@5 f3@4 ~ f3@7 e4@3 ~@2 e4@4 [f3,d4]@7 ~@3 c5@3 e5@2 ~@3 e5@4 g4@4 e4@5 b4@3 ~@15 g4@2 ~@10, ~ f4@2 ~ e5@2 ~@8 g4@4 e4@2 ~@2 d4@6 c4@3 ~@7 d#4@7 d#4 g#4 d5@8 ~@2 g4@4 ~@2 g4@4 ~ e4@4 ~ e4@4 ~@2 c4@4 ~ c4@5 ~ g#3@4 ~ g#3@9 ~@2 g3@6 a3@2 ~@3 a3@6 g4@2 ~@3 g4@4 f4@4 d5@6 [c4,g4]@9 b4@3 ~ e5@3 ~ a4@4 ~@2 [c4,g4]@2 ~@19 [c4,g4]@6, ~@16 c4@6 ~@3 g4@3 ~@2 g4@3 ~ g#4@2 ~ f5@2 ~@2 c5@8 c4@6 d4@4 ~ c4@4 ~ b3@4 ~@2 a3@4 ~ g3@4 ~@2 f3@3 ~@3 e3@4 ~@6 d3@5 ~ c3@2 ~@3 [f2,d3]@7 ~@4 d4@6 ~@4 c5@7 ~ f4@6 ~@2 e4@6 e4@2 c4@4 ~@2 e5@4 ~@2 e5@3 ~@2 g5@3 ~@4 f#5@2 ~ b5@6 e5@2 ~@3, ~@42 d#5@13 ~@4 d5@2 ~@3 c5@3 ~@8 a4@3 ~@19 d4@6 ~@4 c4@7 ~@4 c4@7 ~ c4@10 ~ c4@2 a4@4 ~@2 c5@2 ~ a4@6 ~@2 c5@8 ~@3 c5@2 ~@6 c#5@3 ~@5 g5@5 ~@4]/6", // D#5 Dm C5 Dm
  R: "~@2 b4@2 e4 ~ e5@2 ~ e4 ~@4 e4@2 [c4,g4] ~ c5@2 e4 [d#4,a#4] ~ d#5@2 g4 ~ a#5@2 ~ a#4 [g4,d5], a4@4 ~ [c4,g4]@5 ~@2 e5@2 ~@3 e5@3 ~@2 g5@2 ~@5 f#5@2 ~, ~ e5@3 ~@4 c5@2 ~ a4@4 ~@11 f#4@4 ~@2, ~@13 b4@2 ~@11 c#5@2 ~@4", // C5 D#5 G5 C5
  S: "[~@7 c6@2 e5 c5 ~@13 e4@2 ~@2 c4@2 ~@2 e4@2 ~@2 g2@2 ~@2 e3@2 ~@3 e3@2 ~ [c3,e3]@34 ~@14 [c2,g2,c3,e3]@3 ~@24 [c1,c2]@2 ~@3, b5@6 e6@3 ~@2 e6@7 c5@3 ~ c5@5 ~@17 c4@3 ~@35 [b2,d3]@17 ~@29, ~ g5@3 ~ g5@5 ~@2 c6@7 e4@2 ~@6 e4@3 ~ c3@2 ~@2 e3@2 ~@2 c4@3 c2@2 ~@4 [f2,a2]@51 ~@29, ~@2 b4@6 ~@6 e5@2 e5@4 ~ e5@6 ~@101, ~@15 g4@5 c4@2 ~@4 g3@2 ~@2 e3@2 ~@2 c4@2 ~@2 e4@3 ~@2 e4@5 ~@80]/4", // C Bm F
})).s("gm_piano").gain(0.32)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  A B@2 C D E@2 F ~ G H ~@3 I J@3 ~@4 K L ~ M N@3 ~@2 O@2 ~ P ~@2 Q R@3 S T U V W X@2 ~@14
>`.pickRestart({
  A: "c2@4 ~@3 g3@2 ~@2 d4 ~@14 a3 ~@5", B: "[~@26 c4@21 ~@17]/2", C: "~ e4 ~@27 b3@3", D: "~@4 c4@2 ~@7 d3@5 ~@14",
  E: "[~@32 e3@4 ~ c3@20 ~@4 c3 ~@2, ~@25 d4@11 ~@28, ~@26 c4@9 ~@29, ~@28 b3@7 ~@29, ~@15 a3@3 ~@14]/2",
  F: "~@13 g#3@5 ~@14, ~@9 d4@10 ~@13", G: "~@7 a4 ~@24", H: "~@13 d4 ~@18", I: "~@27 f3 ~@3 b3",
  J: "[~@5 b3 ~@7 g#3@2 d3 ~@8 d3@2 ~@7 g3@2 c4@2 d4@7 ~@52, ~@12 b3@2 ~@5 b3@7 ~@70, ~@21 g#3@5 c2@40 ~@30]/3",
  K: "g4@3 ~@20 e4@6 ~ e4@2, ~@29 g4@3", L: "~@21 e4@6 ~@5", M: "~@2 a#3@2 ~ a#3@3 ~@2 a#3@2 g3@4 ~@10 a#3@6",
  N: "[~@34 a#1@7 ~@7, ~@9 f4@20 ~@3]/3",
  O: "[~@59 c#4@4 ~, ~ d#3@16 ~ d#3@14 d#3@17 d#3@6 f4@8 ~, ~@6 g#3@15 ~@33 g#4@9 ~, ~@10 a#3@19 a#3@10 a#3@24 ~, ~@14 c4@11 ~@10 f#4@28 ~]/2",
  P: "~ d#3", Q: "~@21 d#4@4 c#4@7, ~@18 c4@9 ~@5",
  R: "[~ a#3@10 f4@4 ~@15 f4@12 ~@5 g3@4 ~@13 c4@2 ~@28 a4@2, ~@22 a#3@20 g1@53 ~]/3",
  S: "~ c4 ~@3 g4@2 ~ e4 ~@4 b3@5 ~@2 e4 ~@2 c5 ~@2 e4 ~@5",
  T: "e4 g4 ~@4 c4 ~@5 c4 ~@5 a3 ~@13, ~@4 b3@6 ~ a3@5 ~ g3@7 ~@8", U: "~@25 c4@2 ~@5", V: "~@29 c3 ~@2",
  W: "~@15 e3@4 ~@13, ~@3 a3@10 a3@5 ~@14, ~@4 d4@5 ~@7, ~@5 c4@4 ~@7",
  X: "[~@21 d4@3 ~@8 d3@3 ~@11 c4 ~@17, ~@25 d4@10 ~@29, ~@28 a#3@7 ~@29, ~@30 g#3@5 ~@29, ~@31 e3@4 ~@29]/2",
})).s("gm_piano").gain(0.24)

stack(piano, piano_soft)

More by Claude Debussy