Strudelify

Six epigraphes antiques: I. Pour invoquer Pan, dieu du vent d'ete

Claude Debussy

KeyC majorTempo120 bpm
0:00/0:00
// Six epigraphes antiques: I. Pour invoquer Pan, dieu du vent d'ete — 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 77 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@8 B@4 C@4 D@5 E@6 F@2 G@5 H@7 I@4 J@8 K@8 L@3 M@7 N@5 ~>".pickRestart({
  A: "[~@22 a4@5 ~@15 f5@4 ~@34 d5@7 ~@24 a4@5 ~@6 a4@28 ~@51 [a3,c4]@14 ~@13 d5@7 ~@7 d5@14, g4@25 ~@2 c5@9 ~@36 f5@11 ~@4 f5@10 ~@9 c5@9 ~ c5@13 ~@21 f4@11 ~@10 e4@11 c5@10 ~@5 f5@7 ~@17 f5@12 ~@2 f5@10 ~@11, ~@33 d5@13 g5@30 ~@18 d5@22 ~@40 g4@31 [a#3,d4,d5]@17 ~@11 [g3,a#3]@18 ~@23, ~@43 c4@5 ~@16, ~@177 a4@15 ~@9 g5@22 ~@33]/8", // Am A# Gm
  B: "[c5@5 ~@4 c5@7 ~@82 a5@4 ~@14 f3@12, ~@5 a4@11 a4@26 a4@3 g3@4 g4@3 c5@17 c2@7 d5@18 ~@8 c6@26, ~@30 [f3,a3,f4]@16 c4@36 f5@6 g5@17 ~@23, ~@31 d4@17 e4@45 ~@35, ~@36 g4@8 c3@49 ~@35]/4", // F
  C: "[~@15 e4@7 ~@19 e4@7 ~@76 d5@3 f5, ~ d4@17 ~@22 c6@22 c6@11 g2@13 e4@3 d4@2 a#4@3 d5@3 [d3,a#3]@12 d5@2 a#4@3 [f4,g4]@2 e4@3 d4@2 a#4@7, ~@2 [g3,a#3,c5]@17 ~@9 [a#3,d4,f4,a4]@12 g4@14 ~@4 a5@8 ~@2 a5@28 f5@10 f5@2 g1@20, ~@6 a5@9 a5@17 f5@9 c4@14 ~@10 a#3@10 f5@3 g1@20 ~@5 g2@25, ~@11 c6@8 ~@17 a5@9 ~@7 [d4,f4,a4,c5]@13 ~ d3@12 d5@3 a#4@2 f4 g4@14 ~ a5@29]/4", // Gm Fsus2 C7 A#maj7 Dm7
  D: "[~@87 f6@5 ~@28 d6@7 f6@8 [a#3,d6]@16 ~@5 a4@4, ~ a#3@3 ~@4 g2@22 ~@16 e4@26 c6@5 [a#3,d4,d6]@17 ~@13 [g3,a#3]@22 ~@31, ~@2 a5@12 d5@3 a#4@4 g4@25 g4@60 g4@32 ~@13 c5@9, ~@11 f5@19 ~@9 f4@11 ~@11 g5@20 ~@11 c4@21 f6@14 ~@33, ~@13 g1@8 f4@3 e4@3 d4@23 ~@17 a5@14 ~@11 g6@36 ~@32]/5", // A# Gm
  E: "[~ c5@5 ~ e3@6 ~@22 f4@7 ~@34 f5@5 ~@58 [d4,g4]@5 [f4,a#4]@8 ~@10 a#4@13 ~@17, ~@6 a4@36 ~@10 a5@18 a#4@3 [d4,d5]@8 d3@19 f4@6 e4@3 a#4@3 d5@9 a#4 d3@4 [e4,g4]@4 [d4,a#4]@3 f4@4 a#4@7 ~@8 [e4,g4]@23 ~@17, ~@6 e4@18 a3@18 ~ a#3@39 ~ a#3@63 ~@46, ~@30 g4@12 ~ g4@15 d5@2 a#4@3 [f4,g4]@19 ~ g4@7 a5@56 ~@46, ~@55 f5@14 e4@13 ~ d4@10 f5@2 d5@2 a#4@3 g4@12 d4@4 f5@30 ~@46]/6", // G5 A#5 D Em Gm Em Fsus2
  F: "[~ a#4@54 ~@9]/2",
  G: "[~@36 [a4,c5]@8 [f4,a#4]@4 [e4,g4]@4 ~@8 a3@3 g3@7 ~@12 [e4,a4]@4 [d4,f4]@5 ~@6 a3@8 ~@17 [f4,a#4]@4 [e4,g4]@3 ~@9 a3@3 [e4,a4]@3 [d4,f4]@3 c4@3 ~@5 g3@3 [a3,d4,g4]@2, ~@11 a#5@7 d5@13 [a#4,d5]@14 ~@7 [d4,f4]@30 ~@9 e4@35 ~@3 f4@13 ~@5 e4@13, ~@12 f5@6 f5@27 ~@71 a#3@12 ~@2 d4@12 ~@18, ~@15 [e5,g5]@5 ~@4 c5@12 ~@8 c4@21 ~@11 a#3@23 ~@11 a3@18 ~@7 a#3@6 a#3@18 ~, ~@25 e5@21 ~@11 a#3@7 ~@6 a3@12 ~@9 c4@31 c4@20 ~@10 a3@6 ~@2]/5", // Am A#5 Em A5 Dm A#5 Em A5 …
  H: "[~ [c4,e4]@3 ~@8 f3@3 ~@4 [a#3,d4]@4 ~@49 g3@12 ~ [g3,e4]@15 ~@14 c2@14 [c2,c3]@16 ~@16 [a#5,d6]@3 ~@30 [e4,g4]@3 ~@17 g3@11, ~@4 [a#3,d4]@11 [c4,f4]@4 ~@4 [a3,c4]@34 [c2,c3]@43 [g3,e4,g4]@29 ~@42 [a#3,a#5]@10 [c5,e5]@2 [a#4,d5] [a1,a2]@2 [a4,c5]@4 [g1,g2]@14 c2@20, ~@10 g3@6 g3@17 ~@3 e3@21 [e3,c4]@56 c3@15 ~@43 f4@3 [e5,g5]@3 [a#2,d5] [a#1,f5]@12 [f4,a#4]@5 ~@2 f4@10 [a#3,d4]@5 c4@12, ~@30 f3@9 ~@3 f3@15 g3@14 [e4,g4,c5,e5,g5,c6]@13 [g4,c5,e5,g5,c6]@15 ~ [c5,e5,g5,c6]@47 ~@9 [c6,f6]@7 ~@8 f5 f3@23 ~@2 d4@6 e4@10 e3@6 ~@5, ~@49 d3@9 g2@64 ~@22 [g1,g2]@19 [c2,c3,a5,c6]@32 ~@8 c3@15 ~@6]/7", // C A# C A# Em A# F5 Am …
  I: "[~@12 g1@10 ~@29 [a4,c5]@4 [f4,a#4]@3 [e4,g4]@3 ~ [d4,f4]@6 ~ c2@3 [a#3,d4]@4 [e3,g3]@6 ~ a2@2 ~ e4@3 ~ a3@2 ~@5 c3@2 ~@5 [a2,e3] ~@2 e4@4 ~ f3@7 ~ [c3,e3,g3]@8, [e3,c4]@21 ~ f6@17 [e5,g5]@3 [a#1,a#2] [d5,f5]@2 [c5,e5]@3 [a2,a#4,d5] a1@6 g2@13 c4@3 ~@5 c4@3 ~@3 c4@7 ~ c4@12 ~ c4@7 ~ c4@16 ~, ~ [a1,a2]@21 c6@4 a#5@3 [c2,c3,a5,c6]@7 [f4,f5] f3@18 g1@6 ~@8 c3@14 ~@6 [f2,f3]@2 ~@5 [c2,e3,g3]@6 ~@2 a1@6 ~@2 f1@2 ~@14, ~@12 g2@24 [a#3,d4,a#5]@22 ~@10 e4@7 ~@8 a3 ~@44, ~@13 d6@16 ~@35]/4", // Am A#5 Em Dm A# Em A5 C …
  J: "[~ a2@3 ~@3 e4@6 f3@29 ~@20 [e3,e4]@6 ~ [g2,d3] ~@19 a4@4 ~@15 e3@6 ~ d3 ~@2 a4@4 ~@11 c5@4 d2@2 ~@13 [e3,e4,c5]@6 ~ d3 ~@16 a4@4 ~@15 e3@6 ~ d3@2 ~@9 e4@5 ~@4 c5@4 c4@8 ~@3 e4@4 [f1,f3,a3]@3 ~@5 [c3,e3]@7, ~ c4@11 ~@41 f3@15 ~@9 [a#3,g4]@18 ~@5 [c4,f4]@14 [d4,c5]@10 ~@5 [d4,a4]@6 ~@10 c5@7 ~@10 c5@11 [f3,f4,c5]@8 ~@6 a4@7 [e4,a4]@7 d4@8 [a#3,d4]@10 ~@7 g3@2 ~@13 c4@15, ~@53 c5@8 c5@7 ~@4 c5@12 c5@8 ~@8 a4@7 [e4,a4]@7 ~@8 a#3@14 ~@22 [d4,a4]@7 [d4,g4]@15 [d3,a3]@22 g2@18 ~@6 e3 ~@22 g3@3 ~@4, ~@57 a4@11 d4@8 a4@12 ~@5 [a3,c5]@10 c5@10 ~@24 a4@11 a4@10 g2@2 ~@6 [g3,a#3]@15 ~@6 [c4,f4]@15 ~@3 a4@12 ~ [d3,d4,a4]@9 ~@7 [a1,a2,e3,a3,c4]@7 f2@7 ~@8, ~@85 [f3,f4]@10 ~@6 f3@13 g2@2 ~@14 d3@6 ~@9 [f3,d4,f4]@14 ~@6 a4@11 ~@4 c5@10 c5@11 ~ c5@8 ~@46]/8", // E G5 C F C D# F5 D7 …
  K: "[~ e3@2 ~@11 f3@18 ~@50 [e4,g4]@5 ~@10 a3@4 ~@7 a3@10 ~@12 [d4,f4]@5 ~@84 f4@7 ~@22 a4@8, ~ [a2,c4]@12 c4@81 a#3@9 ~@15 a#3@29 ~@17 a#3@18 f4@26 ~@4 e4@10 ~@4 g4@10 ~@5 g4@11 ~@4, ~@6 e4@10 ~@25 f5@8 f5@8 c5@6 a#4 d5@6 [a4,c5]@8 [f4,a#4]@9 f4@34 ~@5 [e4,a4]@10 ~@36 c4@27 c4@9 ~@48, ~@46 g5@43 ~@83 a#4@10 d4@22 d4@11 ~@18 f4@11 ~@12, ~@57 e5@32 ~@12 g3@10 ~@24 e4@37 f4@4 [e4,g4]@9 ~@10 a#3@14 ~@47]/8", // Em Dm Am A#5 A5 Em
  L: "[a#4@9 c5@13 [a#3,d4,g4,d5]@15 ~ c4@14 [a#3,a#4]@14 [c4,e4,e5]@14 ~ a#3@15, ~@37 [e4,g4,e5,g5]@15 ~@44, ~@37 c5@4 ~@39 [a#4,d5]@15 ~]/3", // Gm A# C Em A#
  M: "[~@31 e4@17 ~@14 c6@6 [c5,e5,g5,d6]@15 ~@10 d5@27 ~@49 a4@5 c5@16 ~@23 f4@11, ~@14 [a#3,f4]@21 ~@13 [a#3,a#4,d5]@22 ~@15 [a#3,d4,f4]@35 ~@104, ~@31 g5@37 ~@24 g5@38 ~@2 d5@10 ~@7 d5@64 ~@11, ~@56 a5@13 ~@14 f6@37 ~@104, ~@92 [a#4,f5,g6]@27 ~@6 f5@11 ~@3 f5@13 ~@72]/7", // C A#5 A# Gm7
  N: "[~@69 a#4@64 ~@27, ~ [e4,c5]@32 ~@47, ~@45 a#4@24 ~@91, ~@54 a4@21 ~@85]/5", // C
})).s("gm_piano").gain(0.2)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@4 A ~@2 B@3 ~ C@2 ~@3 D E@3 F@6 G@3 ~@3 H ~@7 I J ~ K L M@5 N@2 O P Q@3 R@2 ~@2 S@6 ~@2 T@8
>`.pickRestart({
  A: "~@17 g4@7 ~@8", B: "[~@5 [a3,c4]@13 ~@14 [c4,e4]@16 [d4,f4]@14 d3@23 ~@11, ~@18 a#3@17 ~@61, ~@19 d4@17 ~@60]/3",
  C: "[~@20 [a3,c4]@15 ~@12 [a3,c4]@16 ~]/2", D: "~ d3@29 ~@2", E: "[~@3 e4@11 c4@35 ~@11 a3@28 ~ a3@7, ~@11 c4]/3",
  F: "[~@7 d4@4 ~@13 [c3,a3]@14 [a2,a3,c4]@18 [d3,f3,d4]@18 ~ d4@30 ~@8 g2@40 f4@12 g4@4 e4@8 g1@15, ~@23 [f2,c4,f4]@16 ~@35 [g2,d3,g3]@39 g3@64 ~@15, ~@51 g2@8 ~@5]/6", // F Am Dm F5 G5
  G: "[~@2 d4@12 ~@34 [d4,f4]@47 ~, ~@7 [a#1,f2]@39 ~@2, ~@7 [d3,a#3]@32 ~@9, ~@7 d4@12 [e4,g4]@24 ~@5, ~@11 f4@5 ~@16]/3", // Dm A#5 Gm Em
  H: "~@8 g3@7 ~@17", I: "~@11 c4@9 ~@12", J: "a3@21 ~@11", K: "~@19 e3 ~@12",
  L: "~@8 a3@6 ~@2 a3@7 ~@9, ~@15 f2@7 ~@10",
  M: "[~@2 e3@11 ~ a3@29 [d2,f4]@3 ~@8 [a3,f4]@14 ~ a4@7 ~ [g3,d4]@16 ~@8 a3@13 ~@9 e3@13 ~@9 a3@13 ~@2, ~ a3@11 ~ c4@29 ~ a4@14 ~@65 e4@14 ~@24, ~@14 f2@2 ~@37 d4@15 ~@25 d3@21 ~@8 c5@11 ~@27]/5", // Dm G5
  N: "[~@27 f3@14 ~@13 e3@4 a3@6, ~@25 [d3,c5]@5 ~@2]/2", O: "~ c3 ~@14", P: "~ a3@2 ~@12 f2@4 ~@13, ~@7 a3@9",
  Q: "[~@18 d5@14 ~@23 d4@34 ~@7, ~@3 a#5@16 ~@13, ~@14 e5@11 ~@71]/3",
  R: "[~@15 a3@7 ~@7 a3@28 ~@7, ~@7 c4@37 ~@20, ~@11 g3@5 ~@16]/2",
  S: "[~@22 [g3,a#4]@17 ~@13 [d4,f4,d5,f5]@14 [a3,a4,c5]@14 [g3,d4,g4]@15 ~ [c4,e4,c5,e5,g5]@14 ~@17 [a3,c4,a4,c5,e5]@17 [g3,d4,g4]@20 ~ g4@15 ~@12, ~@95 g4@15 [d4,a#4,d5,f5]@21 ~@33 [c4,e4]@16 ~@12]/6", // Gm Dm Am G5 C Am G5 A# …
  T: "[~@3 c5@11 ~@32 g4@20 [c2,g2,e3,c4,g4]@64 ~@4 g2@30 [g1,g5,g6]@87 ~@5, ~@22 a4@50 ~@61 [a#3,g4]@64 ~@59, ~@67 [d3,d4]@32 ~@29, ~@41 g2@16 ~@7]/8", // C G D# D
})).s("gm_piano").gain(0.1)

stack(piano, piano_soft)

More by Claude Debussy