Strudelify
Kansas City (Lieber-Stoller) cover art

Tony Sheridan With The Beatles And The Beat Brothers 1960-1961

Kansas City (Lieber-Stoller)

The Beatles

KeyG minorTempo135 bpm
0:00/0:00
// Kansas City (Lieber-Stoller) — The Beatles
// 135 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 2 "Piano LH" named as a piano, played on piano (its electric guitar clean patch is not one)
// note: Full arrangement: all 87 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Piano RH, Piano RH.
setcpm(135/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 · "Piano RH"
const piano = note(`<
  ~@4 A@2 B C@3 B D@2 E F@2 G@2 B C@3 H@3 E I@2 J@8 ~@4 K L M@2 N@2 O P@8 Q@2 R S@8 T@2 U@2 V@8 W@8 X
>`.pickRestart({
  A: "[~@10 g4@8 g4@3 ~ e4@2 d4@2 e4@2 ~@4]/2", B: "~@2 d4!2 e4 g4@3 bb4!2 g4@3 ~ g4 e4",
  C: "[d4@3 ~@8 d4 g4@2 b3@4 ~@8 g4@3 ~ g4@4 e4@2 g4@2 e4@2 g4@2 e4@5 ~]/3",
  D: "[d4@3 ~@8 d4 g4@2 b3@5 ~@7 g4@2 g4@2 d4@2]/2", E: "f4@2 f4@3 ~ e4@3 ~ d4@5 ~",
  F: "[~@4 bb4@3 ~ a4@3 g4 g4@2 [b3,g4]@5 ~ c4@3 ~ d4@3 ~ c4@3 ~]/2", // Em
  G: "[b3@2 ~ [e3,c4] [f3,db4]@2 ~@4 g4@8 g4@3 ~ e4@2 g4@2 e4@2 ~@4, ~@6 [gb3,d4]@9 ~@17]/2", // C Db D
  H: "[~@2 bb4!2 bb4@2 bb4@2 bb4@2 bb4@2 g4@6 g4 e4 d4@3 ~@4 d4 g4@2 b3@5 ~@7 g4@2 g4@2 d4@2]/3",
  I: "[~@4 bb4@2 bb4@2 a4@3 g4 g4@2 [b3,g4]@5 ~ c4@3 ~ d4@3 ~ c4@3 ~]/2", J: "[b3@2 ~ [e3,c4] [f3,db4]@2 d4@122]/8",
  K: "~@4 a4 bb4@3 a4 bb4@3 a4 bb4@3", L: "g4@3 ~ a4 bb4@3 bb4@3 ~ bb4@3 ~",
  M: "[g4@3 ~@3 bb4@5 ~ e4@2 g4@4 bb4@4 bb4@5 ~ e4@2 g4@2]/2",
  N: "[~@2 g4@5 ~ g5@3 ~ bb4@2 g4@5 ~ bb4@2 ~@2 g4@5 ~ g4@2]/2", O: "~@3 e4@2 g4@3 bb4@2 bb4@6",
  P: "[~@2 g4 e4 ~@4 g4@5 ~ e4@5 bb4@2 bb4@3 bb4@3 bb4@2 ~@3 a4@2 g4@3 ~ g4@3 ~@10 g4@2 e4@3 g4@3 ~ e4@2 ~@3 g4 ~@18 a4 bb4@3 a4 bb4@3 a4 ~@3 g4@3 ~ a4 bb4@3 bb4@4 ~@4 g4@3 ~@9 e4@2 g4@2, ~ d4@31, ~@29 bb4@33 bb4@23 ~@8 bb4@8 ~@7 bb4@10 bb4@10]/8",
  Q: "[~@2 bb4@4 ~@6 e4@2 g4@4 g4@5 ~ g5@3 ~@3 g4@2, ~@3 bb4@11 bb4@2]/2", R: "~@8 g4@5 ~ g4@2, ~ bb4@3",
  S: "[~@3 e4@2 g4@3 bb4@2 ~@8 g4 e4 ~@4 g4@5 ~ e4@5 bb4@2 bb4@3 bb4@3 bb4@2 ~@3 a4@2 g4@3 ~ g4@3 ~@10 g4@2 e4@3 g4@3 ~ e4@2 ~@3 g4 ~@25 bb4 bb4@3 ~@5 [g3,b3,d4]@2 [g3,b3,d4]@6 [g3,b3,d4]@2 [g3,b3,d4]@2, ~@10 bb4@25 ~@10 bb4@33 bb4@29 ~@4 bb4@17, ~@5 d4@24 ~@3]/8", // G
  T: "[~@2 bb4@2 [g3,bb3,d4,bb4]@2 ~ bb4 bb4@3 g4 ~@2 g4@5 ~ [g3,b3,d4]@2 [g3,b3,d4]@6 [g3,b3,d4]@2 [g3,b3,d4]@2, ~@3 d4@7 ~@6, ~@6 [g3,bb3]@5 ~ bb4@20]/2", // Gm G Gm
  U: "[~@4 [g3,b3,d4]@2 [g3,b3]@4 bb4@2 ~@2 a4@2 g4@3 ~ [g3,c4,e4]@2 [f3,bb3]@5 ~ [g3,c4,e4]@2 [f3,bb3,d4]@2, ~ f5@2 d4@8 d4@4 ~, ~@3 bb4@5]/2", // G C Bb5 C Bb
  V: "[~@2 e4@2 [g3,c4,e4,g4]@2 [f3,bb3,d4]@2 [g4,a4]@2 g4@4 ~@4 g4 e4 [g3,c4,d4,e4]@2 [g3,b3]@5 ~ [g3,c4,e4]@2 [g3,b3]@6 ~@2 [g3,c4,e4]@2 ~@2 bb4@2 bb4@2 ~@2 a4@3 ~ a4@3 ~@3 a4 a4@3 ~@10 bb4@6 bb4@8 ~@10 [d3,b3]@3 ~@5 c5@2 b4@3 ~ g4@5 ~ [g3,b3,d4]@2 [g3,b3,d4]@6 [g3,b3,d4]@2 [g3,b3,d4]@2, ~@3 bb4@15 bb4@2 g3@2 ~ bb4@13 ~@7 bb4@21, ~@8 f3@86 c5@9 ~@25, ~ bb3@4 bb3@11, ~@4 d4@6 ~ d4@4 d4@5 d4@38 ~@6]/8", // C Bb Gsus2 C G C G C …
  W: "[~@2 bb4@2 [g3,bb3,d4,bb4]@2 ~ bb4 bb4@3 g4 ~@2 g4@5 ~ [g3,b3,d4]@2 [g3,b3,d4]@6 [g3,b3,d4]@2 ~@6 [g3,b3,d4]@2 [g3,b3]@4 bb4@2 ~@2 a4@2 g4@3 ~ [g3,c4,e4]@2 ~@6 [g3,c4,e4]@2 ~@4 e4@2 [g3,c4,e4,g4]@2 [f3,bb3,d4]@2 [f3,a4]@2 g4@2 g4@6 g4 e4 [g3,c4,d4,e4]@2 [g3,b3]@5 ~ [g3,c4,e4]@2 [g3,b3]@6 ~@2 [g3,c4,e4]@2 ~@2 bb4@2 ~@4 a4@3 ~ a4@2 a4 ab4 a4@2 a4@4 ~@2, ~@3 bb3@24 [f3,bb3,d4]@4 [f3,bb3,d4]@4 ~ d4@6 ~ d4@4 d4@7 ~@10, ~@3 d4@7 ~@5 [g3,b3,d4]@3 ~ d4@8 ~@9 bb3@16 [g3,bb3]@2 ~@10, ~@6 g3@5 ~ bb4@30 ~@2 bb4@26 bb4@30 bb4@6 ~@2 bb4@20, ~@17 f5@2 ~@45]/8", // Gm G C Bb F C G C …
  X: "~ bb4@2 ~@2 a4 f4 bb4, ~@3 bb4@4 ~",
})).s("gm_piano").gain(0.26)

// chords · piano · "Piano LH"
const piano_2 = note(`<
  ~ A B C D E@3 F G H E F I G J K E@3 F G H E F I G J K E@3 F G H E F I G L M E@3 F G H E F I G J N E@3 F G H E F I G J
  K E@3 F G H E F I G J O E@3 F G H E F I G
>`.pickRestart({
  A: "[g3,b3]!2 ~ [g3,b3]!3 ~ [g3,b3] [g3,b3]@2 ~@6", B: "[c3,bb3]!2 ~ [c3,bb3]!3 ~ [c3,bb3] [c3,bb3]@2 ~@6",
  C: "[g3,b3]!2 ~ [g3,b3]!3 ~ [g3,b3]!3 ~ [g3,b3]!3 ~ [g3,b3]", D: "[g3,b3]@2 ~ [c3,bb3] [db3,b3]@2 [d3,c4]@9 ~",
  E: "[g3,b3,d4]@3 ~ [g3,c4,e4]@3 ~ [g3,d4,f4]@3 ~ [g3,c4,e4]@3 ~", // G C G7 C
  F: "[g3,b3,d4]@3 ~ [g3,c4,e4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~", // G C G
  G: "[c3,e3,g3]@3 ~ [c3,f3,a3]@3 ~ [c3,g3,bb3]@3 ~ [c3,f3,a3]@3 ~", // C F C7 F
  H: "[c3,e3,g3]@3 ~ [c3,f3,a3]@3 ~ [c3,g3,bb3]@3 ~ [c3,g3,bb3]@3 ~", // C F C7
  I: "[d3,gb3,a3]@3 ~ [d3,g3,b3]@3 ~ [d3,a3,c4]@3 ~ [d3,gb3,a3]@3 ~", // D G D7 D
  J: "[g3,d4]@3 ~ [g3,e4]@3 ~ [g3,f4]@3 ~ [g3,e4]@3 ~", K: "[g3,b3,d4]@2 ~ [c3,bb3] [db3,b3]@2 [d3,c4]@9 ~",
  L: "[g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~", M: "[d3,a3,d4]@3 ~@13", N: "[gb3,a3,d4]@3 ~@13",
  O: "[g3,b3,d4]@3 [c3,bb3] [db3,b3]@2 [d3,c4]@9 ~", // G C7 Db7 D7
})).s("gm_piano").gain(0.24).pan(0.7)

// bass · fretless bass · "Bass"
const bass = note(`<
  ~ A B C D E F E F G H I F J K L M E F E F G H I F J N O P E F E F Q R E F J N S T E F E F G H I F J N S T E F E F G H
  I F J N U D E F E F G H I F J N U V E F E F G H I F J N
>`.pickRestart({
  A: "g2@3 ~ g2@3 ~ g2@2 ~@6", B: "c2@3 ~ c2@3 ~ c2@2 ~@6", C: "g2@3 ~ g2@3 ~ g2@3 ~ g2@3 ~",
  D: "g2@2 ~ c2 db2@2 d2@9 ~", E: "g1@3 ~ b1@3 ~ d2@3 ~ e2@3 ~", F: "g2@3 ~ e2@3 ~ d2@3 ~ b1@3 ~",
  G: "c2@3 ~ e2@3 ~ g2@3 ~ a2@3 g2", H: "c2@3 ~ a2@3 ~ g2@3 ~ e2@3 ~", I: "g2@3 ~ b1@3 ~ d2@3 ~ e2@3 ~",
  J: "d2@3 ~ gb2@3 ~ a2@3 ~ gb2@3 ~", K: "c2@3 ~ e2@3 ~ g2@3 ~ e2@3 ~", L: "g1@3 ~ b1@3 ~ c2@3 ~ db2@3 ~",
  M: "d2@3 ~ c2@3 ~ b1@3 ~ a1@3 ~", N: "c2@3 ~ e2@3 ~ f2@3 ~ gb2@3 ~", O: "g2@3 ~ f2@3 ~ e2@3 ~ eb2@3 ~",
  P: "d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~", Q: "c2@3 ~ e2@3 ~ g2@3 ~ a2@3 ~", R: "c3@3 ~ a2@3 ~ g2@3 ~ e2@3 ~",
  S: "g2@3 ~ b1@3 ~ c2@3 ~ db2@3 ~", T: "d2@3 ~@13", U: "g2@3 ~ e2@3 ~ f2@3 ~ gb2@3 ~", V: "g2@3 c2 db2@2 d2@9 ~",
})).s("gm_fretless_bass").gain(0.26)

// chords · acoustic guitar steel · "Piano RH"
const acoustic_guitar_steel = note(`<
  A B C D E@8 ~@17 F G H I J K L M N O P Q ~@23 R@2 S@2 T@2 U@8 V@7 W X
>`.pickRestart({
  A: "~@11 d4 e4@3 g4", B: "[d4,b4]!2 ~ [d4,b4]!3 ~ [d4,b4] [d4,b4]@3 d4 e4@3 g4",
  C: "[e4,bb4]!2 ~ [e4,bb4]!3 ~ [e4,bb4] [e4,bb4]@3 d4 e4@3 g4", // Edim
  D: "[d4,b4]!2 ~ [d4,b4]!3 ~ [d4,b4]!3 ~ [d4,b4]!3 ~ [d4,b4]", E: "[[d4,b4]@2 ~ [e4,c5] [f4,db5]@2 [gb4,d5]@122]/8",
  F: "d5@2 db5@5 ~ g5@2 db5@5 ~", G: "c5@3 ~ c5 bb4 ~ g4 bb4@2 g4@3 ~ e4@2", H: "g4@3 ~ d5@3 ~ c5@3 ~ bb4@3 ~",
  I: "db5 d5 ~ d5 db5 d5 ~ d5 c5@3 ~ bb4@3 g4", J: "g4@3 ~ a4@3 g4 bb4@2 g4@3 ~ g4@2",
  K: "d5@3 ~ d5@3 d5 c5@3 bb4 g4@3 ~", L: "g5@3 ~ g5@3 bb5 db6 d6@3 db6 d6@3", M: "db6 d6@3 db6 d6@3 ~@2 bb5@2 g5 ~@3",
  N: "g5@2 db5 d5@3 g5@2 c5@3 ~ bb4@2 ~@2", O: "g5@2 c5 db5@3 g5@2 db5@3 ~ c5@2 ~@2",
  P: "db5 [bb4,c5] ~ g4 f4@3 db4 f4@3 ~ g4@3 ~", Q: "g4@3 ~@13",
  R: "[~@3 [e4,c5] [f4,db5]@2 ~@5 bb5 bb5@3 ~@5 [g4,b4,d5]@2 [g4,b4,d5]@5 ~ [g4,b4,d5]@2 [g4,b4,d5]@2, ~@6 [gb4,d5]@9 bb5@17]/2", // C Db G D
  S: "[~@2 bb5@2 [g4,bb4,d5,bb5]@2 ~ bb5 bb5@3 g5 ~@2 g5@5 ~ [g4,b4,d5]@2 [g4,b4,d5]@5 ~ [g4,b4,d5]@2 [g4,b4,d5]@2, ~@6 [g4,bb4,d5]@5 ~ bb5@20]/2", // Gm G Gm
  T: "[~@4 [g4,b4,d5]@2 [g4,b4,d5]@4 bb5@2 ~@2 a5@2 g5@3 ~ [g4,c5,e5]@2 [f4,bb4,d5]@5 ~ [g4,c5,e5]@2 [f4,bb4,d5]@2, ~ f6@2 ~@3 bb5@10]/2", // G C Bb C Bb
  U: "[~@2 e5@2 [g4,c5,e5,g5]@2 [f4,bb4,d5]@2 [d5,a5]@2 g5@2 g5@6 g5 e5 [g4,c5,d5,e5]@2 [g4,b4,d5]@5 ~ [g4,c5,e5]@2 [g4,b4,d5]@6 ~@2 [g4,c5,e5]@2 ~@2 bb5@2 bb5@2 ~@2 a5@3 ~ a5@3 ~@3 a5 a5@3 ~@10 bb5@6 bb5@8 ~@10 [d4,b4]@3 [e4,c5] db5@2 ~@2 c6@2 b5@3 ~ g5@5 ~ [g4,b4,d5]@2 [g4,b4,d5]@5 ~ [g4,b4,d5]@2 [g4,b4,d5]@2, ~@3 bb5@15 bb5@3 ~@2 bb5@13 ~@7 bb5@21, ~@2 f4@23 f4@7, ~ bb4@4 bb4@11, ~@40 [g4,d5]@4 ~@50 c6@8 [gb4,d5]@9 ~@17]/8", // C Bb D5 C G C G C …
  V: "[~@2 bb5@2 [g4,bb4,d5,bb5]@2 ~ bb5 bb5@3 g5 ~@2 g5@5 ~ [g4,b4,d5]@2 [g4,b4,d5]@5 ~ [g4,b4,d5]@2 [g4,b4,d5]@4 ~@2 [g4,b4,d5]@2 [g4,b4,d5]@4 bb5@2 ~@2 a5@2 g5@3 ~ [g4,c5,e5]@2 d5@5 ~ [g4,c5,e5]@2 d5@4 e5@2 [g4,c5,e5,g5]@2 [f4,bb4,d5]@2 [f4,d5,a5]@2 g5@2 g5@6 g5 e5 [g4,c5,d5,e5]@2 [g4,b4,d5]@5 ~ [g4,c5,e5]@2 [g4,b4,d5]@6 ~@2 [g4,c5,e5]@2 ~@2 bb5@2 bb5@3 ~, ~@3 bb4@24 [f4,bb4]@4 [f4,bb4]@4 ~ bb4@16 [g4,bb4,d5]@2 ~@2, ~@6 [g4,d5]@5 ~ bb5@30 ~@2 bb5@26 bb5@30 bb5@6 ~@6, ~@17 f6@2 ~@37]/7", // Gm G C Bb Dm C G C …
  W: "a5@3 ~ a5@2 a5 ab5 a5@2 a5@4 ~@2", X: "~@2 bb5@3 ~ bb5@3 ~ a5@2 f5@2 bb5@2",
})).s("gm_acoustic_guitar_steel").gain(0.26).pan(0.7)

// chords · electric guitar muted · "Guitar"
const electric_guitar_muted = note(`<
  ~@5 A@4 B@2 A@2 C B A D A@4 B@2 A@2 C B A D A@4 B@2 A@2 C B A D A@4 B@2 A@2 C B A D A@4 B@2 A@2 C B A D A@4 B@2 A@2 C
  B A D A@4 B@2 A@2 C B
>`.pickRestart({
  A: "[g3,d4]@3 ~ [g3,e4]@3 ~ [g3,f4]@3 ~ [g3,e4]@3 ~", B: "[c4,g4]@3 ~ [c4,a4]@3 ~ [c4,bb4]@3 ~ [c4,a4]@3 ~",
  C: "[d4,a4]@3 ~ [d4,b4]@3 ~ [d4,c5]@3 ~ [d4,b4]@3 ~", D: "[g3,d4]@3 ~@13",
})).s("gm_electric_guitar_muted").gain(0.22)

// drums · mid tom
const mid_tom = s("mt").struct("<~@5 [x!2]!35 x [x!2]!11 x [x!2]!34>").gain(0.17).pan(0.4)

// drums · high tom
const high_tom = s("ht").struct("<~@5 [x!2]!35 x [x!2]!11 x [x!2]!34>").gain(0.17).pan(0.4)

// drums · china
const china = s("cr").struct("<~@5 [x!4]!35 x [x!4]!11 x [x!4]!34>").gain(0.17).pan(0.4)

stack(piano, piano_2, bass, acoustic_guitar_steel, electric_guitar_muted, mid_tom, high_tom, china)

More by The Beatles