Strudelify

Larghetto

Chopin Frederic

KeyG majorTempo84 bpm
0:00/0:00
// Larghetto — Chopin Frederic
// 84 bpm, 12/8, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 26 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(84/6)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · piano · "A.PIANO 2"
const piano = note("<A B C D E F A B C D E F G H I J K L M G H I J K L M>".pickRestart({
  A: "[g3,b3,d4]@3 ~ [g3,b3,d4]@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@2", // G
  B: "[f#3,a3,d4]@3 ~ [f#3,a3,d4]@2 [f#3,a3,d4]@3 ~ [f#3,a3,d4]@2 [g3,b3,e4]@3 ~ [g3,b3,e4]@2 [g3,c4,e4]@3 ~ [g3,c4,e4]@2", // D Em C
  C: "[f#3,c4,d4]@3 ~ [f#3,c4,d4]@2 [f#3,c4,d4]@3 ~ [f#3,c4,d4]@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@2", // D7 G
  D: "[a3,c4,e4]@3 ~ [a3,c4,e4]@2 [a3,c4,e4]@3 ~ [a3,c4,e4]@2 [a3,c4,e4]@3 ~ [a3,c4,e4]@2 [a3,c4,e4]@3 ~ [a3,c4,e4]@2", // Am
  E: "[f#3,a3,d4]@3 ~ [f#3,a3,d4]@2 [f#3,a3,d4]@3 ~ [f#3,a3,d4]@2 [g3,b3,e4]@3 ~ [g3,b3,e4]@2 [g3,a3,c#4]@3 ~ [g3,a3,c#4]@2", // D Em A7
  F: "[f#3,a3,d4]@3 ~ [f#3,a3,d4]@2 [f#3,a3,d4]@3 ~ [g3,a3,c#4]@2 [f#3,a3,d4]@9 ~@3", // D A7 D
  G: "[f#3,b3,d4]@3 ~ [f#3,b3,d4]@2 [f#3,b3,d4]@3 ~ [f#3,b3,d4]@2 [f3,g#3,b3,d4]@3 ~ [f3,g#3,b3,d4]@2 [f3,g#3,b3,d4]@3 ~ [f3,g#3,b3,d4]@2", // Bm Fdim
  H: "[a3,c4,e4]@3 ~ [a3,c4,e4]@2 [a3,d4,f4]@3 ~ [g#3,d4,e4]@2 [a3,c4,e4]@3 ~ [a3,c4,e4]@2 [a3,c4,e4]@3 ~ [a3,c4,e4]@2", // Am Dm E7 Am
  I: "[a3,c4,e4]@3 ~ [a3,c4,e4]@2 [a3,c4,e4]@3 ~ [a3,c4,e4]@2 [f#3,a3,c4,d#4]@3 ~ [f#3,a3,c4,d#4]@2 [f#3,a3,c4,d#4]@3 ~ [f#3,a3,c4,d#4]@2", // Am F#dim
  J: "[g3,b3,d4]@3 ~ [g3,b3,d4]@2 [g3,c4,e4]@3 ~ [f#3,c4,d4]@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@2", // G C D7 G
  K: "[g3,b3,d4]@3 ~ [g3,b3,d4]@2 [f#3,a3,d4]@3 ~ [f#3,a3,d4]@2 [g3,b3,e4]@3 ~ [g3,b3,e4]@2 [g3,b3,e4]@3 ~ [g3,b3,e4]@2", // G D Em
  L: "[g3,c4,e4]@3 ~ [g3,c4,e4]@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@2 [g3,c4,e4]@3 ~ [g3,c4,e4]@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@2", // C G C G
  M: "[g3,b3,d4]@3 ~ [g3,b3,d4]@2 [g3,b3,d4]@3 ~ [f#3,c4,d4]@2 [g3,b3,d4]@9 ~@3", // G D7 G
})).s("gm_piano").gain(0.11)

// other · epiano2 · "E.PIANO 2"
const epiano2 = note("<A B C D E F A B C D E F G H I J K L M G H I J K L M>".pickRestart({
  A: "g2@3 ~ g2@2 g2@3 ~ g2@2 g2@3 ~ g2@2 g2@3 ~ g2@2", B: "f#2@3 ~ f#2@2 f#2@3 ~ f#2@2 e2@3 ~ e2@2 e2@3 ~ e2@2",
  C: "d2@3 ~ d2@2 d2@3 ~ d2@2 g2@3 ~ g2@2 g2@3 ~ g2@2", D: "c3@3 ~ c3@2 c3@3 ~ c3@2 c2@3 ~ c2@2 c2@3 ~ c2@2",
  E: "d2@3 ~ d2@2 f#2@3 ~ f#2@2 g2@3 ~ g2@2 a2@3 ~ a2@2", F: "d2@3 ~ d2@2 a2@3 ~ a2@2 d2@9 ~@3",
  G: "b2@3 ~ b2@2 a2@3 ~ a2@2 g#2@3 ~ g#2@2 g#2@3 ~ g#2@2", H: "a2@3 ~ a2@2 d2@3 ~ e2@2 a2@3 ~ a2@2 a2@3 ~ a2@2",
  I: "a2@3 ~ a2@2 g2@3 ~ g2@2 f#2@3 ~ f#2@2 f#2@3 ~ f#2@2", J: "g2@3 ~ g2@2 c2@3 ~ d2@2 g2@3 ~ g2@2 g2@3 ~ g2@2",
  K: "g2@3 ~ g2@2 f#2@3 ~ f#2@2 e2@3 ~ e2@2 d2@3 ~ d2@2", L: "c2@3 ~ c2@2 b2@3 ~ b2@2 a2@3 ~ a2@2 g2@3 ~ g2@2",
  M: "d2@3 ~ d2@2 d2@3 ~ d2@2 g2@9 ~@3",
})).s("gm_epiano2").gain(0.11)

stack(piano, epiano2)

More by Chopin Frederic