Strudelify

Working Class Hero

John Lennon

KeyA minorTempo78 bpm
0:00/0:00
// Working Class Hero — Lennon John
// 78 bpm, 6/8, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (2/8 at bar 1, 6/8 at bar 2, 9/8 at bar 4, 6/8 at bar 5, ...) are rendered on a constant 6/8 grid of one bar per cycle
// note: Full arrangement: all 100 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Guitar.
setcpm(78/3)

// 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.

// other · acoustic guitar steel · "Guitar"
const acoustic_guitar_steel = note("<~@17 A ~@16 B C ~@16 A ~@17 D ~@16 E ~@6 F@6>".pickRestart({
  A: "~@2 [c4,e4] ~", B: "~@4 b3 ~@7", C: "[c4,e4] ~@3", D: "[c4,e4] ~@5", E: "~@3 [c4,e4] ~@2",
  F: "[~@13 [d4,f#4]@37 ~@43 e4@50 ~, ~@12 a3@38 a2@37 ~@57, ~@26 a3@19 a3@25 ~@2, ~@53 c4@38 c4@50 ~@3, ~@55 e4@38 ~@51]/6", // D
})).s("gm_acoustic_guitar_steel").gain(0.35)

// other · acoustic guitar steel · "Guitar2"
const acoustic_guitar_steel_2 = note(`<
  A@3 B C D E A C@2 F G@2 E A@2 H I G@2 J K@2 C F G K E A@2 C F G@2 L A@3 B C D E A C@2 F G@2 E A@2 H I G@2 J K@2 C F G
  K E A@2 C F G@2 E C@2 A B C D E A C@2 F G@2 E A@2 C F K@2 E C@3 M@3 N@3
>`.pickRestart({
  A: "~@4 a3@8 d#3 ~@3 a3@8, a2 ~", B: "~ g3@2 ~ a3@2, g2 e3", C: "~ a3@2 ~ a3@2, a2 e3", D: "~ a3@2 ~ a3@2, a2!2",
  E: "~ a3@2 ~ g3@2, e3 g2", F: "~ g3@2 ~ a3@2, g2 a2", G: "d#3 ~@3 a3@8 ~@4 a3@8, ~ a2", H: "~ a3@2 ~ g3@2, a2 d3",
  I: "~ f#3@2 ~ a3@2, a2!2", J: "d#3 ~@3 a3@8 ~@4 g3@8, ~ g2", K: "~ a3@2 ~ a3@2, e3 a2", L: "~ g3@2 ~ f#3@2, d3 a2",
  M: "[g2@6 a2@19 ~@11]/3", N: "[~@3 e2@13 ~@2 e3@38 ~@16, ~@8 a2@19 ~@9]/3",
})).s("gm_acoustic_guitar_steel").gain(0.35)

// other · acoustic guitar steel · "Guitar2" · soft notes
const acoustic_guitar_steel_3 = note(`<
  A@3 ~@4 A ~@3 B@2 ~ A@2 ~@2 B@3 ~@4 B ~@2 A@2 ~@2 B@2 ~ A@3 ~@4 A ~@3 B@2 ~ A@2 ~@2 B@3 ~@4 B ~@2 A@2 ~@2 B@2 ~@3 A
  ~@4 A ~@3 B@2 ~ A@2 ~@14
>`.pickRestart({
  A: "~@13 e3@11", B: "~ e3@13 ~@10",
})).s("gm_acoustic_guitar_steel").gain(0.2)

// chords · acoustic guitar steel · "Guitar3"
const acoustic_guitar_steel_4 = note("<A@8 B@8 C D@8 E@8 F G A@8 B@8 C D@8 E@8 H@8 I@8 A@8 J@2 K ~@5>".pickRestart({
  A: "[~@2 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [d3,g3,b3,d4]!3 [d3,g3,b3,d4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [d3,g3,b3,d4]!3 [d3,g3,b3,d4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!4]/8", // Am G Am G Am
  B: "[~@2 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [d3,g3,b3,d4]!3 [d3,g3,b3,d4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [d3,g3,b3,d4]!3 [d3,g3,b3,d4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!4]/8", // Am G Am G Am
  C: "~@4 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4] ~ [d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2", // Am G
  D: "[[d3,f#3,a3,d4]!6 ~@2 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [d3,g3,b3,d4]!3 [d3,g3,b3,d4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [d3,g3,b3,d4]!3 [d3,g3,b3,d4]@3 [e3,a3,c4,e4]!4]/8", // D Am G Am G Am
  E: "[~@2 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [d3,g3,b3,d4]!3 [d3,g3,b3,d4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [d3,g3,b3,d4]!3 [d3,g3,b3,d4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!4]/8", // Am G Am G Am
  F: "~@2 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!4", // Am
  G: "[d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4] ~@2 b3 [d3,g3,b3,d4]@2 [d3,f#3,a3,d4]@2 [d3,f#3,a3,d4]@2 [d3,f#3,a3,d4]@2 [d3,f#3,a3,d4]@2 [d3,f#3,a3,d4]@2 [d3,f#3,a3,d4]@2, ~@4 [d3,g3,d4] ~@7", // G D G5
  H: "[~@2 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [d3,g3,b3,d4]!3 [d3,g3,b3,d4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [d3,g3,b3,d4]!3 [d3,g3,b3,d4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!4]/8", // Am G Am G Am
  I: "[~@2 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [d3,g3,b3,d4]!3 [d3,g3,b3,d4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [d3,g3,b3,d4]!3 [d3,g3,b3,d4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [d3,g3,b3,d4]!4]/8", // Am G Am G Am G
  J: "[~@2 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!3 [e3,a3,c4,e4]@3 [e3,a3,c4,e4]!4]/2", // Am
  K: "[d3,g3,b3,d4] ~@2", // G
})).s("gm_acoustic_guitar_steel").gain(0.2)

stack(acoustic_guitar_steel, acoustic_guitar_steel_2, acoustic_guitar_steel_3, acoustic_guitar_steel_4)

More by John Lennon