Strudelify

La fille aux cheveux de lin

Claude Debussy

KeyF♯ majorTempo120 bpm
0:00/0:00
// La fille aux cheveux de lin — Claude Debussy
// 120 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 69 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@6 B C D@3 E@3 F@6 G@8 H@4 I@8 J@4 K@4 L@3 M@8 N@8 ~@2>".pickRestart({
  A: "[~@44 f#4@4 a#4@4 ~@11 f#4@4 d#4@6 f#4@4 a#4@6 f#4@9 ~@5 d#4@6 ~@15 f4@4 d#4@6 ~@60 d#4@4, c#5@19 d#4@5 ~@22 [b2,d#3,f#3,b3,f#4]@6 c#3@32 ~@12, ~@31 a#4@9 ~@12 c#5@15 ~@36 f#4@19 ~@6 c#4@63 ~, ~@35 f#4@5 ~@19 a#4@9 ~@35 [f#3,a#3]@64 ~@25]/6", // B F#
  B: "~@15 g#4@17, ~@2 f#4@7 ~@7", C: "~@21 d#4@5 ~@3 [f#3,d#4,f#4]@3, ~@11 [f3,c#5]@13 ~@8, ~@21 [d#3,a#4]@11",
  D: "[a#4@4 ~@7 c#5@7 ~ [a#2,d4,f4]@12 ~@59 a#4@6, ~@2 [c#3,g#3,c#4,f4,g#4]@7 a#4@32 ~@7, ~@19 f3@7 ~@5 [d#2,a#2]@63 ~@2, ~@41 d#5@53 ~@2, ~@21 [g3,a#3,d#4]@26 ~]/3", // A# C# D#5 D#
  E: "[~@22 b4@9 ~@26 f#4@4 ~@10 a#4@4 ~@10 f#4@3 ~ [f#3,c4]@5 f#4@2, ~@31 [e3,f#3,c#4,c#5]@31 [f#3,c4]@14 ~@20, ~@53 a#4@8 d#4@14 [e3,f#3,c#4,c#5]@15 ~@6, ~@68 f#4@8 ~@5 a#4@7 d#4@8]/3", // F#dim F#7 F#dim F#7
  F: "[~@3 a#4@4 [c#4,f#4]@9 ~@5 d#4@6 ~@16 d#4@5 ~@29 g#3@4 ~@12 d#3@6 ~@80 d#5@10 [f#1,f#5]@3, ~@7 d#3@20 f#3@54 f#3@53 c#3@3 ~@3 c#4@17 g#4@5 b4@9 c#5@18 ~@3, ~@16 [c#2,g#3,b3]@11 f#4@21 c#4@77 [a#2,a#3]@10 g#3@55 ~@2, ~@16 f#4@10 ~ a#3@46 a#3@46 b2@18 [f#1,c#2,f#2,b3]@53 ~@2, ~@39 f4@11 ~@18 b3@14 ~@7 f3@7 ~@3 c#3@31 [g#2,c#4]@8 ~@6 d#4@9 f#4@37 ~@2]/6", // F#5 F# C#7 A# F#sus4 C#5
  G: "[~@122 [c#3,f#3,a#3]@4 ~@4 c#4@6 ~@38 e5@5 ~ b1@2 ~@28 f#5@31 ~@12 f#5@3, ~@9 c#4@62 g#4@4 f#4@6 ~@10 [c#4,f4]@5 b3@11 [a#3,c#4] f3@3 [d#3,g#3,b3]@16 b2@30 e4@5 g#4@4 b4@4 c#5@9 g#5@22 a#5@5 g#5@7 ~@28 [g#3,b4,a#5]@15, ~@9 a#4@57 a#4@10 d#4@20 [f#3,d#4]@19 ~@11 g#3@53 ~@9 [f#3,f#4]@55 ~@13, ~@23 f5@11 c#5@44 ~@7 a#4@16 ~@2 f#4@12 f4@12 e3@11 ~@7 f#1@7 c#4@27 ~@8 b5@26 ~@29 d#4@14, ~@28 d#5@10 ~@23 b4@18 ~ g#4@19 ~ g#4@15 ~@4 d#4@15 ~@2 b3@43 ~@8 [b3,d#4,b4,d#5]@56 ~@6 g#5@7]/8", // F# C# A#m G#m D#m F# B
  H: "[~@23 b4@4 ~@17 d#4@27 ~@6 c4@7 ~@28 a#3@4 ~@8 d#4@3 c4, ~ d#5@26 [g#2,d#3,f#3,a#4]@17 [f3,g#3]@40 ~@14 c3@11 g3@7 ~@12, ~@2 f4@27 ~@5 g#4@12 ~@56 d#3@14 ~@12, ~@19 c#5@9 ~@11 f#4@8 ~@24 d#4@13 d#4@32 ~@12, ~@53 f3@5 [f3,g#3,c4]@6]/4", // D#m Fm
  I: "[~@3 d#3@4 ~@21 c4@4 ~@6 [c4,c5]@3 ~ [a#3,d#4,a#4]@5 ~@17 [a#4,a#5]@6 ~@22 [f5,g#5,c#6]@5 ~@2 c#6@2 [d#4,d#5]@10 ~ d#4@8 ~@28 d#5@6 [f#3,b3,d#4,f#4,d#5]@10 c#4@4 ~@3 c#5@5 d#4@14 [c4,d#4,g#4]@41 g#4@21 ~@4, ~@3 d#2@16 [f3,f4]@2 [g3,g4]@3 a#3@18 ~@5 a#4@7 [d#4,d#5]@6 [g4,g5]@10 [b3,f#4,b4,d#5,f#5,b5,d#6]@25 ~@32 g#2@27 ~@102, ~@3 g3@10 [c3,c4]@11 a#4@8 ~@3 [d#4,d#5]@7 g4@9 [c4,c5]@21 ~@20 [c#4,g#4,c#5]@9 a#4@3 ~@7 d#5@32 f5@11 b4@5 ~@5 c#5@7 ~@5 [f#4,a#4]@17 ~@63, ~@3 d#4@7 a#3@6 [d#3,d#4]@12 [d#3,f4,g#4]@14 d#3@15 [f4,f5]@15 ~@25 d#6@4 [f#5,a#5]@13 ~@23 f#5@17 ~@14 d#5@7 ~@81, ~@10 a#2@18 c5@10 ~@3 d#5@7 a#3@24 ~@40 [d#3,g#3,g#4,c5,g#5]@42 ~@10 [c#3,g#3,f4,g#4]@12 d#3@4 ~@76]/8", // C D#5 A# C# D# B G# F …
  J: "[~@37 [f#2,c#3,a#3,d#4,a#4]@8 ~@9 [c#3,d#4]@4 ~@5 [f#3,f#4]@10 ~@21 [f#3,f#4]@28 ~@6, ~@20 d#4@17 ~@8 [f#4,c#5]@8 a#3@20 ~ d#3@24 ~@30, ~@30 [f#3,f#4]@16 [a#2,d#3,c#4]@10 ~@17 [b1,d#4]@25 ~@30, ~@53 a#4@5 ~@70]/4", // D#m7 C#sus2 F# F#5 F# D#7 B
  K: "[~@7 f#3@5 a#3@8 ~ c#4@7 [f#3,c#4,d#4,a#4,d#5]@8 f#4@8 [a#4,d#5,a#5]@12 ~@14 d#3@41 ~@17, ~@7 f#4@13 c#5@15 ~@21 f#5@24 ~@48, ~@12 [f#3,d#4,a#4]@16 ~@8 [d#4,c#5,f#5]@12 ~@21 a#4@42 ~@17, ~@21 [d#3,a#3,f#4]@16 ~@91]/4", // D#m7 D#5 D#m D#m7 D#m
  L: "[~@30 c#6@17 a#5, ~ f#3@4 ~]/3",
  M: "[~@53 a#5@7 f#5@10 ~@124 f#4@6 ~@43 f#3@3 ~@4 c#4@4 d#4@2, ~@3 f#5@12 f#5@17 a#5@16 f#5@11 ~ g#4@37 ~@23 d#5@27 ~@21 b4@30 ~@12 [g#3,c#4,f4]@6 f#3@15 [g#3,b3]@12 [c#3,a#3]@5 ~@8, ~@8 d#5@28 f#5@5 d#5@20 ~@9 f#5@8 ~@8 f#4@55 [c#4,c#5]@53 [f#3,d#4]@21 d#4@12 [a#3,c#4] f3@4 d#3@14 g#3@10, ~@19 a#5@4 [f#4,c#6]@38 ~@14 d#2@11 [f#3,d#4,a#4,f#5]@46 c#3@54 g#4@11 ~@3 g#4@16 b3@8 f#4@12 ~@3 d#4@12 ~@5, ~@23 [f#3,d#4]@53 d#5@20 ~@8 f5@27 ~ f#2@15 ~@31 a#4@19 ~@9 a#4@14 g#4@14 ~ f4@11 ~ [b2,f3]@9]/8", // C# G#m F# C# D#m A#m F#5 D#m …
  N: "[~@2 [c#3,f#3,a#3]@4 ~@4 c#4@5 ~@4 [c#3,a#3]@5 ~@5 c#4@6 ~@101 b5@20 ~@14 f#6@64 ~@22, ~@6 b3@18 ~ f3@16 ~@10 d#3@48 f#5@5 g#5 d#5@52 ~ c#4@54 ~@44, ~@7 g#3@17 g#3@19 ~@23 c#4@17 b4@6 c#5@5 b4@17 b5@10 [g#5,c#6]@36 ~@99, ~@15 d#4@15 ~@5 d#4@40 d#4@19 d#5@5 c#5@57 f#3@64 ~@36, ~@75 g#4@8 f#4@28 f#5@46 ~@7 a#4@64 ~@28]/8", // F# C#5
})).s("gm_piano").gain(0.24)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note("<~@3 A@3 B@3 ~@2 C@7 D ~ E@4 ~@3 F G@5 ~@3 H I@8 J@8 K@5 ~ L@5 M@5>".pickRestart({
  A: "[~@4 f#2@33 ~@11]/3",
  B: "[~@16 [c#3,g#3,c#4,f4]@27 a#3@10 [a#3,f#4]@5 ~@3 a#3@8 ~@14 a#3@6 ~@7, ~@43 [a#2,c#4,f4]@13 ~@40]/3", // C# D#m A#m
  C: "[~@31 a#3@30 g#3@14 a#3@14 g#3@14 a#3@10 ~@10 f#2@98 ~@3, ~@123 c#3@64 ~@37]/7", D: "~@3 d#3@2 ~@11",
  E: "[~@52 f#1@24 ~@15 g#3@8 ~@29, ~@9 f#4@64 ~@55, ~@5 [c#3,f#3,a#3]@32 ~ [f#3,b3]@10 ~@16]/4", F: "~@17 f#4@15",
  G: "[~@2 [c#3,g#3,b3]@25 b3@17 ~@51 a#2@21 ~@15 [a#2,a#3]@4 ~@25, ~@44 [a#1,a#3]@40 d#2@47 ~@29, ~@61 a#2@26 ~@73, ~@84 a#3@27 ~@49, ~@21 g3@6 ~@13]/5", // C#7 A#
  H: "~@13 b2@2 ~",
  I: "[~@16 a#3@4 ~@10 g#3@32 ~@64 [d#2,a#2,c#4]@16 ~@17 [d#2,a#2,c#4]@10 ~@67 c#3@20, ~@62 b3@30 ~@18 [d#2,a#2,f#3,c#4,f#4]@7 a#3@16 ~@82 a#4@16 [d#3,c#4]@14 ~@11, ~@62 [c#3,g#3,f#4]@13 ~@13 [c#3,a#4]@45 ~@83 [c#3,a#3,d#4]@20 ~@20, ~@72 f4@21 ~@23 f#2@17 ~@17 f#2@19 [f#2,a#3]@25 ~@22 f#2@40, ~@88 [f#2,a#3,d#4]@28 [c#2,d#3]@26 ~@48 [c#2,g#2,b3]@28 ~@13 a#2@25]/8", // D#7 D#m7 D#7 C#sus4 F# D#7 F# D#m …
  J: "[~@13 c#4@5 ~@6 d#4@5 ~@83 [b3,d#4,f#4]@64 ~@39 b3@41, ~@4 a#3@12 ~@8 [a#3,f#4,c#5]@24 ~@20 c#4@51 ~@137, ~@12 f#4@5 ~@20 b3@41 ~@34 [b1,b2]@85 ~@59, ~@38 [g#2,f#3]@41 ~@33 f#2@88 ~@56, ~@69 [c#3,f3,g#3]@50 ~@137]/8", // B F# B G#7 C#
  K: "[~@22 a#3@45 ~@10 f#4@52 ~ b3@22 ~@8, ~@12 a#2@21 ~@44 a#3@56 ~@27]/5",
  L: "[~@20 f#3@4 ~ b2@16 ~@25 f#4@17 ~@52 d#6@21 ~@4, ~@8 d#3@16 ~@17 [c#3,f#3,a#3]@12 ~@36 g#4@64 ~@7, ~@25 [g#3,b3]@44 ~@11]/5", // F# G#m
  M: "[~@11 a#5@6 ~@70 f#6@64 ~@9, ~ f#4@54 c#5@64 ~@41, ~@10 c#6@6 ~ [a#5,c#6]@64 ~@79, ~@11 f#5@64 ~@8 f#5@64 ~@13, ~@11 c#5@41 c#4@64 ~@44]/5", // A#m
})).s("gm_piano").gain(0.08)

stack(piano, piano_soft)

More by Claude Debussy