Strudelify

Lyrische Stucke III, Op. 43 Nr. 1: Schmetterling

Edvard Grieg

KeyF♯ minorTempo120 bpm
0:00/0:00
// Lyrische Stucke III, Op. 43 Nr. 1: Schmetterling — Edvard Grieg
// 120 bpm, 4/4, key F# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 45 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@5 B@6 C@4 D@5 E@8 F@6 G H I@3 ~ J@4 ~>".pickRestart({
  A: "[~@18 c#5@2 d5 d#5@2 ~@2 c#3 ~@11 [c#4,e5]@2 ~ b2@2 ~@2 [d4,e5]@2 ~ a#2@3 ~ [c#4,e5]@2 ~ b2@2 e3 ~@2 [d4,f5]@2 ~@10 b4@2 ~ c#5 ~ d5 d#5@2 e5@2 e5@2 ~@2 [e4,a4]@2 ~ a3 ~ d#4 ~@8 g#5 ~@2 a#5@2 ~ e6@2 ~@3 e5@3 ~@2 b2 ~@5 g#4@6 ~ e4@4 ~@9 a#4@2 ~@2 b2@2 ~@5 a3@8, f#5@17 c5@3 ~@3 e5@2 ~ e5@7 ~@28 f#5@13 ~@7 a5 ~@5 c#6@4 ~@3 e5@4 g5@2 ~ a5@2 ~ b5@2 ~ b5@8 ~@35 d#4@10, ~@3 d3@18 ~@10 g4@8 g#4@8 ~@6 g#4@8 ~@6 [b3,g#4]@7 ~@21 f5@4 ~@14 b4@11 ~@10 [e4,c#5]@4 ~@5 c4@17, ~@14 a#4@7 ~@6 c#5@5 ~@14 g4@8 ~@10 g#3@6 a#4@4 ~@18 [f#4,d#5]@8 ~@9 [b4,g#5]@6 ~@4 [e4,g#5]@5 ~@8 g3@6 ~@9 f#3@13, ~@15 b4@5 ~@4 a5@2 ~@3 a4@4 ~@2 e3@4 ~@11 e3@4 ~@9 d3@2 ~@3 [f#4,a4]@5 c5@2 ~@8 c#5@4 ~@6 c#5@4 f#5@3 ~@27 e5@3 ~@6 c#4@8 ~@5 a4@11]/5", // C#m Dsus2 C#m Dm A5 E C#m D#m …
  B: "[~@3 e2@3 ~@4 e4@21 ~@15 g5@2 ~@8 [b4,d5]@2 ~ [b4,d5]@2 ~@2 c#3@2 ~ [g#4,c#5]@2 ~@5 [a4,c#5]@2 ~@2 c#3@2 ~ [f#4,c#5]@2 ~ c#3@2 ~@2 [g#4,c#5]@3 ~@7 c#5@2 ~@8 f#2 c#3 ~@5 f#2 ~@3 [f4,a4,c#5]@2 ~@2 f#2@2 c#3 ~@22 c#6@5 ~@15 [g5,c6]@2 ~ g5@2 ~@11 f#3@2 ~@5 f#3 ~, g#3@31 g4@19 d5@2 a4@9 f4@8 ~@2 c#4@4 d#4@8 ~@7 c#4@13 [a4,c#5]@2 c#4@7 c#4@8 c#4@13 c#5@19 c5@7 e5@2 g5@2 c6@2 f#5@4 e5 c6@2 d5@2 [e5,g5] c5@2 [e5,g5] b4@2 [e5,g5]@4 ~@3 [c#5,f#5]@3 ~@2, ~@6 b2@25 ~@5 g3@26 ~@3 b3@4 ~ c#3@2 ~@7 a3@4 ~@18 f#4@3 f#4@3 ~@4 [f4,a4,c#5]@2 ~@14 f#4@9 f#3@2 c#4@2 a4@2 f#5@2 g#5@2 a5@7 ~@6 g4@23 a#4@8 ~@2, ~@38 b4@10 b4 g5@4 b4 d5 g4@7 ~@38 c#5@2 e4@4 ~@11 b3@4 ~@4 a3@28 ~ e3@29 ~@5 b4@4, ~@41 d5@2 g5 c#5@14 f#4@4 ~@6 f#4@8 ~@6 f4@10 ~@7 d4@7 ~@4 b3@3 ~@3 c#3@5 ~@8 g#4@24 ~@3 c4@27 ~@2 e4@5 ~@2]/6", // Bm C#5 A F#5 C#5 Faug C5 A …
  C: "[~ [d5,f#5]@2 ~@2 f#3 ~@2 [b4,f#5]@2 ~@2 f#3 ~@3 [c#5,f#5]@2 ~@2 b2@2 ~@9 [b4,d5,f#5]@2 ~ b2 f#3 ~@6 b2 ~@2 [e4,a#4,d5,f#5]@3 ~@2 b2@2 ~@12 b4@2 ~@17 b2@2 ~@13 b2@2 ~@9 f#5@2 ~@14 b4@3, f#4@5 ~@2 d4@3 a#4@8 f#4@15 f#4@7 f#4@8 f#4@12 b4@2 a#4@4 ~@9 b2@7 ~@8 b4@6 f#4@9 c#5@2 d#5@4 f#5@17, ~@3 g#4@8 ~@3 e4@5 ~@3 f#3@11 ~@10 f#3@6 ~@3 f#3@14 ~@2 f#3@9 ~@8 f#3@8 d#5@4 ~@5 d#4@10 ~@16, ~@24 [b4,f#5]@2 g4@7 ~@4 e4@4 ~@14 d#4@11 ~@5 [e4,a#4]@8 [e4,a#4,d#5,f#5]@4 ~@5 d#4@7 f#5@2 ~@6 b4@8 ~@9 d5@8, ~@25 d5@3 [b4,f#5] a4@4 ~@5 [a#4,d5,f#5]@4 ~@13 b4@2 g#4@9 f#4@7 f#4@8 f#4@10 c#5@6 ~@3 f#3@12 ~@3 f#3@13]/4", // D B5 F#5 Bm Daug B5 Edim D#m …
  D: "[~ f#5@27 ~@22 c#5 ~ d5 d#5@2 e5 a5@2 ~@6 a#2@2 e3 ~@4 b2@2 ~@3 e5 ~@2 a#2@2 ~ [c#4,e5]@2 ~@2 b2@2 e3 ~ [d4,f5]@2 ~@2 d3 ~@5 a#4@2 b4 ~@2 c#5 d5 ~@2 e5@2 c#3 ~@3 [e4,a4]@3 ~ a3 ~@10 g#5 a5 ~@2 b5@2 ~ g#3 e4 ~ [b4,e5]@2 ~@12 c#6@2 ~ d#6@2 e6, ~@28 f#5@21 c5@2 ~@7 e5@5 g4@7 g#4@7 g4@4 ~@3 g#4@8 ~@5 g#4@2 [f#4,a4]@3 ~@2 c5@2 ~@2 d#5@2 ~@2 e5@6 c#6@7 c#5@7 ~@6 g#5@4 ~@3 g#4@4 a5 a#5@2 b5 c6@3 d6@2 ~@2, ~@40 g#4@10 ~@10 e4@4 ~@4 c#4@2 ~@3 e3@4 ~@4 e3@4 ~@11 g#3@7 ~@21 e5@2 f5 f#5@4 ~@6 b5@2 ~@8 [b4,g#5]@9 ~@4, ~@46 a#4@5 ~@10 a4@4 ~@10 d4@2 ~@21 b3@5 ~@18 d#4@8 g5@3 ~ a#5@2 ~ e6@2 ~@4 f#6@3 ~@3 f#5@8 ~@4, ~@47 b4@4 ~@8 c#5@5 ~@5 e5@2 ~@21 f#5@11 ~@8 a5@2 ~ c#5@4 ~@5 [f#4,d#5]@9 ~@11 d4@13 ~@4]/5", // C#m Dm A5 E5 F#m E D#m
  E: "[~@17 c#5@6 ~@3 e3 ~@9 d#5@3 ~@2 e3 ~@11 b4@3 c#4@27 ~@19 [d5,g5]@2 ~@3 a4@2 [b4,d5] g4 ~ b4 f#4 ~ [b4,d5] ~@6 [g#4,c#5]@2 ~ c#3 ~@9 c#5@2 ~@23 f#4@2 ~@2 c#3 ~@2 [f4,c#5]@2 ~ f#2@2 ~@2 [f4,c#5]@2 ~@27 c#6@5 ~@3 e3@2 ~@14 g5@2 ~ [e5,g5]@2 ~ [e5,g5]@2 ~@2 g5@2 ~@2 f#3@2 ~ [c#5,f#5]@2 ~@2 f#3 ~@4 g#4@2 f#3, a6@9 e5@16 ~@6 f#4@9 ~@46 g4@24 ~@7 f4@8 ~@4 a4@2 ~@12 c#5@5 ~@5 c#5@4 c#5@2 c#5@3 ~@21 f#4@4 a4@2 c#5@3 f#3@2 c#4@2 a4@2 f#5@2 g#5@2 a5@6 c5@21 d5@3 c5@3 b4 e5@3 a#4@9 ~@4 [d5,f#5]@3 ~, ~@2 [c#4,e6]@10 ~ c#4@12 ~@2 c4@13 ~@7 d4@11 ~@40 g5@4 ~@3 g5@5 ~@18 c#5@2 d#4@7 ~@9 c#4@16 c#4@7 c#4@7 c#4@9 g#4@26 ~@4 g4@25 ~@3 e4@5 ~@2 f#4@5 ~, ~@4 c#6@8 ~@11 a5@2 ~@14 f4@19 ~@38 d5@4 c#5@10 ~@10 b3@5 ~@2 c#4@4 ~@3 a3@4 ~@20 e4@4 ~@11 b3@4 ~@4 a3@30 ~@4 e5@9 [g5,c6] e5@2 c6@13 ~@16, ~@6 a5@6 ~@3 [a4,c#6]@9 a4@5 [a4,f#5]@11 ~@4 d5@13 ~@36 b4@11 b4@2 d5@3 ~@15 f#4@7 ~@6 f4@11 ~@7 d4@8 ~@3 b3@3 ~@3 c#3@6 ~@2 c#3@31 ~@7 g5@2 c6@2 f#5@18 ~@6 b4@8 ~@2]/8", // G5 Bm C#5 C# Em F#5 D C#m …
  F: "[~@3 b4@2 ~@22 [d5,f#5]@2 ~ b2 ~@4 [a#4,d5,f#5]@2 ~ b2 ~@3 [e4,a#4,d5,f#5]@2 ~@2 b2 ~@13 b4@2 ~@6 e4@3 ~@3 f#3@7 ~@19 b2@2 ~@11 f#5@3 ~@2 b2@2 ~@11 f#4@4 f#5@28 ~@26 c#5@2 d5, ~ d4@5 f#3@7 f#4@17 f#4@7 f#4@7 f#4@11 [b4,f#5]@3 a#4@4 f#4@9 f#4@10 f#4@12 c#5@5 f#4@11 c#5@2 d#5@5 f#5@11 c#5@2 b4@8 ~@42 g#4@12 ~, ~@2 f#5@3 a#4@10 ~@3 f#3@12 ~@2 f#3@6 ~@2 f#3@5 ~@3 f#3@15 ~@2 f#3@7 ~@14 f#3@15 ~ f#3@14 ~@4 f#3@17 ~@51 c5@3 ~, ~@11 f#5@4 ~@5 [b4,f#5]@4 f#5 b4 a4@4 ~@4 e4@4 ~@13 d#4@12 ~@25 d#4@6 d#5@2 f#5@5 ~@6 b4@9 ~@9 d5@12 ~@47 a#4@7 ~, ~@22 g4@5 b4@3 ~@20 [b4,f#5]@3 g#4@11 ~@27 b4@10 ~@4 d#4@11 ~@7 d4@14 ~@49 b4@5 ~]/6", // D A#aug Daug B5
  G: "d#5@2 e5 ~@17 b2@2 e3 ~@7 [c#4,e5]@2, ~@3 a5@2 e5@8 ~@4 e5@3 ~@4 e5@2 ~@6, ~@4 c#3@6 g4@8 g#4@8 ~@3 e3@3, ~@6 c#5@7 ~@3 c#4@3 ~@4 d4@3 ~ a#2@5, ~@8 [e4,a4]@5 ~@2 e3@4 ~@6 g4@7", // C#m A5
  H: "~ b2@2 e3@2 [d4,f5]@2 ~@12 c#5 d5 d#5@2 e5 a5@2 ~@3 a4@3, g#4@7 f#5@2 ~ g#3@5 a#4 b4@4 ~@8 c#5@4, ~@4 d3@5 c5 ~@3 e5@3, ~@3 [b3,g#4]@2 ~@3, ~@13 f#4 a4@6 ~@12", // Dm E
  I: "[~ a3@2 ~@7 g5 ~ g#5@2 ~@2 b5@2 ~@2 e4 ~ [b4,e5]@2 ~@2 d4 ~@12 d6@2 ~ e6@2 ~@13 e3@3 ~@10 a5@2 ~@2 e3 ~@5 f#4@11 ~@5, c#6@8 f5@3 ~@4 a#5@3 e6@2 ~@5 f#6@6 [f#5,a5]@2 a#5 b5@2 c6@2 c#6@5 ~@4 e6@8 e5@17 a4@6 ~@18, ~@3 d#4@6 f#5@2 ~@3 a5@5 b5@5 ~@6 g#5@11 d#6@2 ~ a6@14 ~@6 a4 c#5@8 ~@4 f#5@13 ~@6, ~@4 f#4@2 [c#5,e5]@5 ~@16 g#4@15 ~@9 a5@8 ~ c#4@13 ~@23, ~@5 d#5@6 ~@10 g#5@4 ~@4 b4@13 ~@7 c#6@10 ~@3 c#6@11 ~@23]/3", // E5 F#m C#m
  J: "[~@20 a4@3 ~@2 e2@2 ~@10 d#4@4 ~@2 e2@2 ~@31 e2@24 ~@28, ~@2 e4@12 c#4@9 a3@7 ~ f#3@11 ~@8 g#3@11 b3@10 ~@57, ~@5 e2@19 ~@17 f3@21 ~@4 c#3@34 ~@28, ~@8 c#3@16 ~@3 c3@15 ~@10 d3@18 ~@58, ~@11 c#5@13 ~@5 f#4@14 ~@5 d4@14 ~@66]/4",
})).s("gm_piano").gain(0.32)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  A B C D E@2 F G@2 H ~ I J@2 K L M ~ N ~ O P@3 Q@2 R@2 S T U ~ V@2 W X Y Z AA@2 AB@2 AC@2 ~
>`.pickRestart({
  A: "~@13 f#4@8 ~@8 e4@3, ~@6 g#3@14 ~@7 a3@5, ~@9 g#4@11 ~@12, ~@5 b3@5 ~@6, ~@3 a4@2 ~@3", B: "~ a#2@6 ~@25",
  C: "~@17 c#3 ~@14", D: "~@10 g#3 ~ e4@7 ~@2 g#3@7 ~@4", E: "[~@2 b2 ~@27 f#4@5 ~@12 e1@16 ~]/2",
  F: "~ b2@2 ~@12 d5@3 ~@14, ~@6 d4@23 ~@3",
  G: "[~@22 b3@6 ~@5 [f#4,a4]@3 a4@3 ~@25, ~@29 f#2@14 ~@21, ~@15 c#3@6 ~@11, ~@33 a3@9 ~@22]/2", H: "~@3 a4@9 ~@20",
  I: "~@28 d5@3 ~, ~@3 d4",
  J: "[~@23 f#5@5 [d#5,f#5]@3 [d#5,f#5]@2 ~@2 b2 ~@4 [d#5,f#5]@5 f#3@5 ~@14, ~@11 d#5@3 ~@18]/2", // D#m
  K: "~@8 b2 ~@4 c#5@2 f#4, ~@11 d4@5",
  L: "~@2 b2@3 ~@18 g4@5 [d2,d3]@2 ~@2, ~@5 g3@23 ~@4, ~@8 d4@11 b4@9 ~@4, ~@12 d5@15 ~@5, ~@4 c#5@3 ~", // D
  M: "~@11 a4@8 ~@6 c#3 a3@6, ~@3 g#3@16 ~@13, ~@7 b3@12 ~@13, ~@10 f#4@9 ~@13", N: "~@17 a3@5 ~@10",
  O: "~@5 e5@4 ~@2 e3@2 ~@19, ~@3 a4@9 ~@20",
  P: "[~@13 g#4@12 ~@13 a1@13 ~@10 d4@16 ~@3 d5 ~@5 c#3 ~@9, ~@11 b3@15 a2@25 ~@5 b2@22 ~@18, ~@29 e3@21 ~@9 g3@19 ~@18, ~@11 a4@6 ~@15]/3",
  Q: "[~@4 c#3@2 ~@2 f#4@2 ~ c#3@2 ~@3 g#4@4 ~ f#2@2 ~@3 a4@2 ~ f#4@3 a4@3 f#2@2 ~@2 a4@2 ~@5 a4@3 ~ f#2@2 ~@12, ~@13 b3@7 ~@3 c#3@12 ~@29, ~@25 a3@9 ~@30, ~@25 f#4@3 a4@3 ~@33]/2",
  R: "[~@21 c4@27 ~@16]/2", S: "~@11 c#5@4 ~ b2@2 ~@3 d5@4 d5@2 ~@5, ~@8 e4@7 ~@6 d4@9 ~@2",
  T: "~@9 d#5@3 d#5@2 [d#5,f#5]@2", U: "b2@2 ~@3 [a#4,d#5,f#5]@3 ~ b2 ~@4 [a#4,d#5,f#5]@6 b2@2 ~@10, ~@13 e4@6 ~@13",
  V: "[~@9 b2@3 ~@17 g4@6 ~@19 a4@9 ~, ~@12 g3@23 [d2,d3]@5 ~@11 f#4@12 ~, ~@15 d4@21 ~@8 g#3@19 ~, ~@18 d5@7 b4@11 ~@12 b3@15 ~, ~@21 c#5@15 ~ f#5@26 ~]/2", // D
  W: "~@6 a3@7 a#2@2 ~@17", X: "~@26 c#3 ~@3 e4@2, ~@27 a3@5", Y: "~@19 g#3 ~@12",
  Z: "~@13 c#4 ~@4 e5@5 ~@9, ~@15 a4@11 ~@6",
  AA: "[~@27 e3@3 ~@16 b4@12 ~@6, ~@12 c4@12 f4@13 d4@20 ~@7, ~@14 a4@13 ~@3 b3@28 ~@6, ~@21 d#5@5 ~@6 d5@25 ~@7, ~@35 g#4@22 ~@7]/2",
  AB: "[~@12 a3@11 ~@7 a3@12 ~@4 b2@16 ~@2]/2", AC: "[~@6 a1@6 ~@23 a0@29, ~@21 a3@18 ~@25]/2",
})).s("gm_piano").gain(0.16)

stack(piano, piano_soft)

More by Edvard Grieg