Strudelify
Revolution cover art

Love

Revolution

The Beatles

KeyB♭ majorTempo96 bpm
0:00/0:00
// Revolution — The Beatles
// 96 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 3 "Calliope Lead (DBL)" lead 3 calliope (copy of ch 2 "Rock Organ Lead" rock organ)
// note: Full arrangement: all 103 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(96/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.

// bass · fretless bass · "Fretless E. Bass"
const bass = note(`<
  ~@3 A B@2 C D E F@4 G@2 H I J K J L M N O P O P O Q@3 F@2 G R B@4 C D S T U V W X@2 Y Z AA Z AA Z AA AB@2 Z@2 O AC AD
  AE@2 AF AG F@2 G R B@4 C D S T U V W X@2 Y Z AA Z AA Z AA AH@2 B G B AI B AI AJ AK@4
>`.pickRestart({
  A: "~@11 f1", B: "bb1@3 d2@3 f2@3 d2@2 f2", C: "bb1 d2 eb2 g2", D: "bb2@3 g2@2 bb2 eb2@3 g2@3",
  E: "bb2@3 c3@2 bb2 bb1@3 d2@3", F: "f2@3 d2@2 f2 bb1@3 d2@3", G: "eb2@3 g2@3 bb2@3 g2@2 bb2",
  H: "f2@6 eb2@6 d2@6 c2@4 b1 [a1,bb1]", I: "f1@3 a1@3 c2@3 a1@2 c2, ab1 ~@23", J: "g1 ~@3", K: "f1 ~@3",
  L: "ab1@4 bb1@6 g1@7 ~ g1@6", M: "g1!2 f1!2", N: "f1@3 f1@2 f1 bb1@2 f1 bb1@2 f1",
  O: "bb1@2 f1 bb1@2 f1 eb2@2 bb1 eb2@2 bb1", P: "eb2@2 g1 ab1@2 a1 bb1@2 f1 bb1@2 f1",
  Q: "[eb2@4 g1@2 ab1@4 a1@2 f1@22 ~@2 f1@9 ~ f1@6 f1@6 a1@2 bb1@6 d2@6]/3", R: "eb2@3 g2@3 bb2@3 c3@2 bb2",
  S: "bb2@3 g2@2 bb2 f2@3 eb2@3", T: "d2@6 c2@4 b1 [a1,bb1] f1@6 a1@6, ~@12 ab1 ~@11", U: "c2@3 a1@2 c2 g1@3 ~@3",
  V: "~@2 f1 ~", W: "~@2 g1 ~", X: "[~@12 ab1@4 bb1@6 g1@7 ~ g1@6 g1@6 g1@6]/2", Y: "f1@3 f1@3 f1@3 f1@2 f1",
  Z: "bb1@2 f1 bb1@2 f1 bb1@2 f1 bb1@2 f1", AA: "eb2@2 bb1 eb2@2 bb1 eb2@2 g1 ab1@2 a1",
  AB: "[f1@37 ~@3 f1@4 gb1 g1 ab1 a1]/2", AC: "eb2@2 bb1 eb2@2 bb1 eb2@2 bb1 eb2@2 bb1",
  AD: "eb2@2 bb1 eb2@2 bb1 f2@2 c2 f2@2 c2", AE: "f2@2 c2 f2@2 c2 f2@2 c2 f2@2 c2",
  AF: "a1 bb1 b1 c2 b1 bb1 a1 bb1 b1 c2 b1 bb1", AG: "a1@2 bb1@2 b1@2 c2 b1 bb1 a1 ab1 g1 bb1@6 d2@6",
  AH: "[f1@3 f1@17 ~ f1@3]/2", AI: "eb2@3 g1@3 bb1@3 c2@2 bb1", AJ: "f1@3 f1@3 f1@2 g1 ab1@2 a1",
  AK: "[bb1@2 a1 b1@2 bb1@39 ~@4]/4",
})).s("gm_fretless_bass").gain(0.45)

// chords · distortion guitar · "Dist Gtr"
const distortion_guitar = note(`<
  A B@2 C D E@8 F@2 G@2 H I H J@4 K@2 L@2 M@5 F@2 N@3 O@6 P Q R@2 S T U T U V W X@2 Y@2 Z AA AB@7 F@2 N@3 O@6 P Q R@2 S
  T U T U V W X@2 AC AA AC AA AC AA AD AE@4
>`.pickRestart({
  A: "[f4,bb4]!12", B: "[e4,f4,a4,bb4] [f4,bb4]!11",
  C: "ab4@7 ~ f4@2 ab4@2 bb4 ~@7 f4@2 c4 ~, g4 ~@11 c5@7 ~@5, ~@7 eb5@4 ~",
  D: "[f3,bb3]@3 [f3,bb3] [g3,bb3] [f3,bb3]@7", // Bb5 Gm Bb5
  E: "[~@2 [f3,bb3]!2 [g3,bb3] [f3,bb3]@13 [eb3,bb3]@2 [eb3,bb3]!2 [eb3,c4] [eb3,bb3]@9 [eb3,bb3]!2 [eb3,c4] [eb3,bb3]@7 [f3,bb3]@3 [f3,bb3] [g3,bb3] [f3,bb3]@9 [f3,bb3]!2 [g3,bb3] [f3,bb3]@9 [f3,bb3]!2 [g3,bb3] [f3,bb3]@9 [f3,bb3]!2 [g3,bb3] [f3,bb3]@13]/8", // Bb5 Gm Bb5 Eb5 Cm Eb5 Cm Eb5 …
  F: "[[eb3,bb3]@2 [eb3,bb3]!2 [eb3,c4] [eb3,bb3]@9 [eb3,bb3]!2 [eb3,c4] [eb3,bb3]@7]/2", // Eb5 Cm Eb5 Cm Eb5
  G: "[[c3,f3]@2 [c3,f3]!2 [d3,f3] [c3,f3]@9 [c3,f3]!2 [d3,f3] [c3,f3]@7]/2", H: "[c3,g3,c4,eb4,g4] ~@3",
  I: "[f2,c3,f3,a3,c4,f4] ~@3", // F
  J: "[[ab2,eb3,ab3,c4,eb4,ab4]@2 [bb2,f3,bb3,d4,f4,bb4]@3 [g2,d3,g3,b3,d4,g4]@13 [f2,c3,f3,a3,c4,f4]@12 ~@2 [f3,bb3]!2 [g3,bb3] [f3,bb3]@7 eb3!6]/4", // Ab Bb G F Bb5 Gm Bb5
  K: "[eb3 g3 bb3 c4 d4 [g4,bb4,d5] ~@2 [f3,bb3]!2 [g3,bb3] [f3,bb3]@7 eb3!6]/2", // Gm Bb5 Gm Bb5
  L: "[eb3 g3 bb3 c4 d4 [g4,bb4,d5] ~@2 [f3,bb3]!2 [f3,c4] [f3,bb3]@7 eb3!6]/2", // Gm Bb5 F5 Bb5
  M: "[eb3 g3 bb3 c4 d4 f4 c3@3 bb2 c3 eb3@3 ~ c3 d3 f3@3 ~ bb2 c3 eb3@3 ~ c3 d3!2 [f3,bb3]@3 [f3,bb3] [g3,bb3] [f3,bb3]@9 [f3,bb3]!2 [g3,bb3] [f3,bb3]@13, ~@3 f2@4 f2@3 f2@3 f2@2 ~@15]/5", // Bb5 Gm Bb5 Gm Bb5
  N: "[[f3,bb3]@3 [f3,bb3] [g3,bb3] [f3,bb3]@9 [f3,bb3]!2 [g3,bb3] [f3,bb3]@9 [f3,bb3]!2 [g3,bb3] [f3,bb3]@7]/3", // Bb5 Gm Bb5 Gm Bb5 Gm Bb5
  O: "[~@2 [f3,bb3]!2 [g3,bb3] [f3,bb3]@13 [eb3,bb3]@2 [eb3,bb3]!2 [eb3,c4] [eb3,bb3]@9 [eb3,bb3]!2 [eb3,c4] [eb3,bb3]@7 [c3,f3]@2 [c3,f3]!2 [d3,f3] [c3,f3]@9 [c3,f3]!2 [d3,f3] [c3,f3]@7 [c3,g3,c4,eb4,g4]@3 ~@3]/6", // Bb5 Gm Bb5 Eb5 Cm Eb5 Cm Eb5 …
  P: "~@2 [f2,c3,f3,a3,c4,f4] ~", Q: "~@2 [c3,g3,c4,eb4,g4] ~",
  R: "[~@6 [ab2,eb3,ab3,c4,eb4,ab4]@2 [bb2,f3,bb3,d4,f4,bb4]@3 [g2,d3,g3,b3,d4,g4]@13]/2", S: "[f2,c3,f3,a3,c4,f4]",
  T: "~@2 [f3,bb3]!2 [g3,bb3] [f3,bb3]@7", U: "eb3!7 g3 bb3 c4 d4 [g4,bb4,d5]", V: "~@2 [f3,bb3]!2 [f3,c4] [f3,bb3]@7",
  W: "eb3!7 g3 bb3 c4 d4 f4", X: "[c3@3 bb2 c3 eb3@3 ~ c3 d3 f3@3 ~ bb2 c3 eb3@3 ~ c3 d3!2, f2@4 f2@3 f2@3 f2@2]/2",
  Y: "[bb2,f3]@2 [bb2,f3] f3 g3 [bb2,f3] [bb2,f3]@2 [bb2,f3] f3 g3 [bb2,f3], ~@3 bb2@2 ~@4 bb2@2 ~", // Bb5
  Z: "[bb2,f3]@2 [bb2,f3] f3 g3 [bb2,f3] [eb3,bb3]@2 [eb3,bb3] bb3 c4 [eb3,bb3], ~@3 bb2@2 ~@4 eb3@2 ~", // Bb5 Eb5
  AA: "[eb3,bb3]@2 [eb3,bb3] bb3 c4 [eb3,bb3] [eb3,bb3]@2 [eb3,bb3] bb3 c4 [eb3,bb3], ~@3 eb3@2 ~@4 eb3@2 ~", // Eb5
  AB: "[[eb3,bb3]@2 [eb3,bb3] bb3 c4 [eb3,bb3] c3@3 bb2 c3 eb3@3 ~ c3 d3 f3@3 ~ bb2 c3 eb3@3 ~ c3 d3 f3@3 ~ bb2 c3 eb3@3 ~ c3 d3 f3@3 ~ bb2 c3 eb3@3 ~ c3 d3!2 [f3,bb3]@3 [f3,bb3] [g3,bb3] [f3,bb3]@9 [f3,bb3]!2 [g3,bb3] [f3,bb3]@13, ~@6 eb3@4 ~@2 f2@15 ~ f2@11 ~ f2@11 ~ f2@11 ~ f2@11 ~ f2@11 ~ f2@11 ~ f2@8 ~@60]/7", // Eb5 Bb5 Gm Bb5 Gm Bb5
  AC: "[f3,bb3]@4 [f3,bb3]@2 f3@2 g3@2 [f3,bb3]@13 ~, ~@3 bb3@2 ~@7", // Bb5
  AD: "f2@2 f2 bb2 c3 eb3 [bb3,d4] [ab3,c4] [f3,bb3] [ab3,c4] [f3,bb3] [eb3,ab3]", // Bb Ab Bb5 Ab Bb5 Ab5
  AE: "[g4 ab4 ~ [gb4,g4] ~ f4 [b2,gb3,b3,eb4,ab4]@4 [bb2,f3,bb3,d4,g4]@70 ~@16]/4", // Gmaj7 Abm7 Gm7
})).s("gm_distortion_guitar").gain(0.35).pan(0)

// other · overdriven guitar · "Ovdrv Gtr"
const overdriven_guitar = note(`<
  ~@20 A B C D E ~@21 F G H D I J ~@3 K@3 ~ L M N O@3 P@2 ~@14 F G H D I J ~@5 Q@5 R@2 S ~@3
>`.pickRestart({
  A: "c5 ~ f5@2 c5 d5 [d5,f5]@2 c5 d5 [d5,f5]@2, ~ d5@3 ~@8", B: "c5 d5 [d5,f5]@2 c5 d5 [d5,f5]@2 c5 ~ f5@2, ~@3 d5",
  C: "c5 ~ f5@2 c5 d5 c5 d5 c5 d5 c5 d5, ~ d5@3 ~@8", D: "c5 d5 c5 d5 c5 d5 c5 d5 c5 d5 c5 d5",
  E: "c5 d5 c5!2 bb4@2 f4@6", F: "~@6 c5 ~ f5@2 c5 d5, ~@7 d5@3 ~@2",
  G: "[d5,f5]@2 c5 d5 [d5,f5]@2 c5 d5 [d5,f5]@2 c5 d5", H: "[d5,f5]@2 c5 ~ f5@2 c5 ~ f5@2 c5 d5, ~@3 d5@3 ~ d5@3 ~@2",
  I: "c5 d5 c5 d5 c5 d5 c5 d5 c5!2 bb4@2", J: "f4 ~",
  K: "[~@11 [c4,f4]@3 [c4,f4] d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4 d4 c4@6, ~@15 f4@2 f4@2 f4@2 f4@2 f4@2 f4@2 f4@2 f4@7]/3", // F5
  L: "~@9 d4@2 bb4", M: "a4@2 ab4 g4@2 gb4 f4@2 eb4@3 c5", N: "f4@2 a4@2 bb4@2 ~ eb4 ~ eb4 ~ eb4, ~@3 f4!3",
  O: "~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4, f4!6", P: "[~@2 eb4@2 ~@2 eb4@2 ~@2 eb4@2 eb4 f4@23 ~@12, f4!3 ~@9]/2",
  Q: "[~@17 c5@5 c5@8 ~@11 c5@5 c5@8 ~@11 c5@5 c5@8 ~@11 c5@5 c5@6 c5@4 c5@4 c5@4 c5@4 c5@4, ~@8 bb4@3 ~@9 bb4@3 ~@9 bb4@3 ~@9 bb4@3 ~@13]/5",
  R: "c5!24", S: "c5!6 c5@4 c5@2 ~@12",
})).s("gm_overdriven_guitar").gain(0.35).pan(0.8)

// chords · epiano1 · "E. Piano"
const epiano1 = note(`<
  ~@4 A@2 B C D A@4 C@2 E@2 F G F H I J B D B D B K@3 A@2 C@2 A@4 B C L E M N O P@2 Q A C A C A C R S T@2 U V W X Y Z AA
  A@2 C@2 A@4 B C L E M N O P@2 Q A C A C A C AB@2 AC AD AE AF AG AF AH AI@4
>`.pickRestart({
  A: "[bb3,f4]@2 [bb3,f4] f4 g4 [bb3,f4] [bb3,f4]@2 [bb3,f4] f4 g4 [bb3,f4], ~@3 bb3@2 ~@4 bb3@2 ~", // Bb5
  B: "[bb3,f4]@2 [bb3,f4] f4 g4 [bb3,f4] [eb4,bb4]@2 [eb4,bb4] bb4 c5 [eb4,bb4], ~@3 bb3@2 ~@4 eb4@2 ~", // Bb5 Eb5
  C: "[eb4,bb4]@2 [eb4,bb4] bb4 c5 [eb4,bb4] [eb4,bb4]@2 [eb4,bb4] bb4 c5 [eb4,bb4], ~@3 eb4@2 ~@4 eb4@2 ~", // Eb5
  D: "[eb4,bb4]@2 [eb4,bb4] bb4 c5 [eb4,bb4] [bb3,f4]@2 [bb3,f4] f4 g4 [bb3,f4], ~@3 eb4@2 ~@4 bb3@2 ~", // Eb5 Bb5
  E: "[f3,c4]@2 [f3,c4] c4 d4 [f3,c4] [f3,c4]@2 [f3,c4] c4 d4 [f3,c4], ~@3 f3@2 ~@4 f3@2 ~", F: "[c4,g4] ~@3",
  G: "[f3,c4] ~@3", H: "[ab3,eb4]@2 [bb3,f4]@3 [g3,d4]@4 [g3,d4]@3", I: "[g3,d4]!2 [f3,c4]!2",
  J: "[f3,c4]@3 [f3,c4]@3 [bb3,f4]@2 [bb3,f4] f4 g4 [bb3,f4], ~@9 bb3@2 ~", // F5 Bb5
  K: "[[eb4,bb4]@2 [eb4,bb4] bb4 c5 [eb4,bb4] [f3,c4]@24 [bb3,f4]@2 [bb3,f4] f4 g4 [bb3,f4], ~@3 eb4@2 ~@28 bb3@2 ~]/3", // Eb5 F5 Bb5
  L: "[eb4,bb4]@2 [eb4,bb4] bb4 c5 [eb4,bb4] [f3,c4]@2 [f3,c4] c4 d4 [f3,c4], ~@3 eb4@2 ~@4 f3@2 ~", // Eb5 F5
  M: "[f3,c4]@2 [f3,c4] c4 d4 [f3,c4] [c4,g4]@3 ~@3, ~@3 f3@2 ~@7", N: "~@2 [f3,c4] ~", O: "~@2 [c4,g4] ~",
  P: "[~@6 [ab3,eb4]@2 [bb3,f4]@3 [g3,d4]@4 [g3,d4]@3 [g3,d4]@3 [g3,d4]@3]/2", Q: "[f3,c4]!4", R: "[f3,c4] ~",
  S: "f3 g3 ab3 a3 c4 d4 f4 g4 ab4 a4 c5 d5",
  T: "~@2 f5 d5 c5 ~ f5@2 d5@2 f5@2 ~@2 f5 d5 c5 ~ f5@2 d5@2 f5@2, bb4@5 bb4@3 bb4@4 bb4@5 bb4@3 bb4@4",
  U: "~@2 f5 d5 c5 ~ f5@2 d5@2 f5@2 [g5,bb5]@2 [g5,bb5]@2 eb5@2 [g5,bb5]@2 [g5,bb5]@2 [ab5,c6]@2, bb4@5 bb4@3 bb4@4 ~@12", // Gm Ab
  V: "[g5,bb5]!2 [ab5,c6] [g5,bb5]!2 [ab5,c6] [bb5,db6]!6", // Gm Ab Gm Ab Bbm
  W: "[bb5,db6] [ab5,c6] [g5,bb5] [eb5,g5] [c5,eb5] [eb5,g5] [a5,c6]@2 f5 [c6,eb6] f5 [bb5,d6]", // Bbm Ab Gm Eb Cm Eb Am Cm …
  X: "ab5 a5 f5 [c6,eb6] f5 [bb5,d6] ab5 a5 f5 [c6,eb6] f5 [bb5,d6]", Y: "ab5 a5 f5 [c6,eb6]@2 [c6,eb6]!7",
  Z: "[c6,eb6]@2 [c6,eb6]@2 [c6,eb6]@2 [c6,eb6]@2 [c6,eb6]@2 [c6,eb6]@2 c6 db6 d6 eb6 c6 db6 d6 eb6 c6 db6 d6 eb6", // Cm
  AA: "c6 db6 d6 eb6 c6 db6 d6 eb6 c6 db6 d6 eb6 [bb3,f4]@4 [bb3,f4]@2 f4@2 g4@2 [bb3,f4]@2, ~@9 bb3@2 ~", // Bb5
  AB: "[f3,c4]/2", AC: "d5 f5 d5 f5 d5 f5 d5 f5 d5 f5 d5 f5 d5 f5 d5 f5 d5 f5 d5 f5 d5 f5 d5 f5",
  AD: "eb5 g5 eb5 g5 eb5 g5 eb5 g5 eb5 g5 eb5 g5 eb5 g5 eb5 g5 eb5 g5 eb5 g5 eb5 g5 eb5 g5",
  AE: "f5 bb5 f5 bb5 f5 bb5 f5 bb5 f5 bb5 f5 bb5 f5 bb5 f5 bb5 f5 bb5 f5 bb5 f5 bb5 f5 bb5",
  AF: "bb5 [eb5,g5] bb5 [eb5,g5] bb5 [eb5,g5] bb5 [eb5,g5] bb5 [eb5,g5] bb5 [eb5,g5]", // Eb
  AG: "f5 [bb4,d5] f5 [bb4,d5] f5 [bb4,d5] f5 [bb4,d5] f5 [bb4,d5] f5 [bb4,d5]", AH: "f5!6 f5@2 ~@4",
  AI: "[~@3 [b4,eb5,ab5]@2 [bb4,d5,g5]@37 ~@6]/4", // Abm Gm
})).s("gm_epiano1").gain(0.45).pan(1)

// drums · kick
const kick = s("bd").struct(`<
  ~@2 A ~ B@13 C@3 D C E B@5 F ~ G B@12 H C@2 E I C B@6 A ~ J B@5 K B L B@12 H C@2 E I C B@6 A ~ B@7 M ~@3
>`.pickRestart({
  A: "x", B: "x ~ x ~@2 x!2 ~ x ~@2 x", C: "x!4", D: "x ~ x ~@2 x ~@3 x ~@2", E: "x ~@2 x ~@2 x ~ x ~@2 x",
  F: "x ~ x ~@2 x!2 ~@5", G: "~@6 x ~ x ~@2 x", H: "x ~ x ~@2 x!2 ~@2 x ~@2", I: "~ x!3", J: "x!2",
  K: "x ~ x ~@3 x ~ x ~@2 x", L: "x ~@5 x ~ x ~@2 x", M: "x ~ x!2 ~ x ~@6",
})).gain(0.4)

// drums · snare
const snare = s("sd").struct(`<
  ~@3 A B@13 C@3 D E F B@5 G ~ F B@12 H@3 I ~ J B@6 ~ E B@6 K B L B@12 H@3 I ~ J B@6 ~ E B@7 ~@3 M
>`.pickRestart({
  A: "~@8 x!2 ~ x", B: "~ x ~ x", C: "~@3 x ~ x ~@3 x ~@2", D: "x ~ x ~@2 x ~@6", E: "~@6 x!6", F: "x!6 ~@3 x ~@2",
  G: "~ x ~@2", H: "~@3 x ~@5 x ~ x", I: "~@3 x ~@2 x ~ x ~@2 x", J: "x!12", K: "~@6 x!6 ~@6 x ~@5",
  L: "~ x!5 ~@3 x ~@2", M: "~@3 x ~@4",
})).gain(0.4)

// drums · low tom
const low_tom = s("lt").struct("<~@2 x ~@88 [~@6 x!6] ~@10 [~ x ~]>").gain(0.4)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@4 A@13 ~@5 B A C A C A D ~ B A@12 E ~@5 F A F A F A ~@10 B A@12 E ~@5 F A F A F A ~@13
>`.pickRestart({
  A: "x!4", B: "~@3 x", C: "x!2 ~ x", D: "x!2 ~@2", E: "x!3 ~", F: "~ x!3",
})).gain(0.4)

// drums · open hat
const open_hat = s("oh").struct("<~@16 [~@11 x] ~@26 [~@5 x ~@6] ~@34 [~@5 x ~@6] ~@24>").gain(0.4)

// drums · mid tom
const mid_tom = s("mt").struct("<~@102 [~@7 x ~@16]>").gain(0.4)

// drums · crash
const crash = s("cr").struct(`<
  ~@17 A ~@2 B ~ C ~ C ~ C ~ C ~ C ~@12 D E ~ F ~@2 G ~ G ~ G ~ G ~ G ~@5 C ~ C ~@12 D E ~ F ~@2 G ~ G ~ G ~ G ~ G ~@6 H
  ~@2 I
>`.pickRestart({
  A: "x!4", B: "x ~ x ~@2 x ~@6", C: "~ x", D: "~@2 x!2", E: "x!2 ~@2", F: "~@6 x ~ x ~@2 x", G: "x",
  H: "~@3 x ~ x ~@6", I: "~@3 x ~@4",
})).gain(0.4)

// drums · high tom
const high_tom = s("ht").struct("<~@102 [~ x ~@2]>").gain(0.4)

// drums · ride bell
const ride_bell = s("rd").struct("<~@57 A B@5 C B D ~@26 A B@6 E ~@3>".pickRestart({
  A: "~ x!3", B: "x!4", C: "x!2 ~ x", D: "x!2 ~@2", E: "x",
})).gain(0.4)

stack(
  bass, distortion_guitar, overdriven_guitar, epiano1, kick, snare, low_tom, hihat, open_hat, mid_tom, crash, high_tom,
  ride_bell
)

More by The Beatles