Strudelify
Everybody's Trying To Be My Baby cover art

Beatles For Sale

Everybody's Trying To Be My Baby

The Beatles

KeyE majorTempo168 bpm
0:00/0:00
// Everybody's Trying To Be My Baby — The Beatles
// 168 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 101 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(168/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 · electric guitar muted · "Guitar I"
const electric_guitar_muted = note(`<
  ~ A B C D E F G H I J K L M N@2 O E F G H I J K L M P Q@2 R S T@2 U V W L X@2 Y Z AA F G H I J K L M AB AC AB AC AD AE
  AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT@2 AU AV AW Y Z AA F G H I J K L AX AY@2 AZ BA F G BB BC ~@2 BD BE@2 BF@2
>`.pickRestart({
  A: "~@11 [e3,g#3,c#4,e4] [e3,g#3,c#4,e4]@3 [e3,g#3,c#4,e4]", B: "[e3,g#3,c#4,e4]@3 ~@13",
  C: "~@3 [e3,g#3,c#4,e4] [e3,g#3,c#4,e4]@3 [e3,g#3,c#4,e4] [e3,g#3,c#4,e4]@3 ~@5", D: "~@15 e2",
  E: "e2@4 f#2@4 g2!2 ~ g2 g#2@4", F: "a2@4 a2@4 e2@3 e2 e2@4", G: "a2@4 a2@4 e2@3 e2 a2@4", H: "e2 [g#3,b3,e4]@3",
  I: "[g#3,b3,e4]@8 g#2@4 a2@3 a#2", J: "b2@3 [f#3,a3,d#4,f#4]@4 ~ f#2@4 d3@3 f3",
  K: "[e3,a3,c#4] [e3,a3,c#4]@2 [e3,a3,c#4]", L: "~@4 [b3,e4]@7 d4@4 g3", M: "g#3@3 e4@4 d4 ~@3 [g#3,b3]@4 [g#3,b3]",
  N: "[g#3,b3,e4]@3 ~@8 [g#3,b3,e4]@4 [g#3,b3,e4]", O: "[g#3,b3,e4]@3 ~@12 e2", P: "~ [b3,b4]@2 [b3,b4]",
  Q: "[b4@3 b3 d4@3 b4@4 d4@4 b4@5 [b3,b4]@8 d4@4]/2", R: "b4@3 d4@4 b4@4 [b3,b4]@5", S: "~ [b3,e5]@2 g4",
  T: "[[b3,e5]@7 [b3,e5]@4 g4@4 d4@5 [b3,b4]@8 d4@4]/2", U: "[b3,b4]@7 d4 ~@3 g#2 a2@3 a#2",
  V: "b2@3 [b3,d#4,f#4,b4] [b3,d#4,f#4,b4]@3 [b3,d#4,f#4,b4] [b3,d#4,f#4,b4]@3 [b3,d#4,f#4,b4] [b3,d#4,f#4,b4]@4", // B
  W: "[a3,e4,a4,c#5,e5,a5]@3 [a3,e4,a4,c#5,e5,a5] [a3,e4,a4,c#5,e5,a5]@3 [a3,e4,a4,c#5,e5,a5] [a3,e4,a4,c#5,e5,a5]@3 [a3,e4,a4,c#5,e5,a5] [a3,e4,a4,c#5,e5,a5]@3 [a3,e4,a4,c#5,e5,a5]", // A
  X: "[g#3@3 e4@4 d4@4 [g#3,b3]@4 [g#3,b3]@4 ~@8 [g#3,c#4] [g#3,c#4]@3 [g#3,c#4]]/2", // G#m C#5
  Y: "[g#3,c#4]@3 ~@8 [g#3,c#4] [g#3,c#4]@3 [g#3,c#4]", Z: "[g#3,c#4]@3 ~@12 e2", AA: "e2@4 f#2@4 g2@3 g2 g#2@4",
  AB: "~@4 [d4,g4]@4 ~@4 [d4,g4]@3 ~", AC: "[d4,g4]@4 ~@3 [d4,g4] ~@3 [d4,g4] ~@4", AD: "a2@4 [c#4,g4]@7 a2 [c#4,g4]@4",
  AE: "[c#4,g4]@4 ~@3 [c#4,g4] ~@3 [c#4,g4] ~@4", AF: "~@4 [d4,g4]@4 ~@3 [d4,g4] ~@4", AG: "[d4,g4]@3 ~@4 [d4,g4] ~@8",
  AH: "~@4 [f#4,c#5]@3 ~@4 [f#4,c#5] ~@4", AI: "[e4,b4]@3 [e4,a4] ~@3 g4@4 e4 ~@4", AJ: "~@4 [b3,e4]@7 [g#3,d4]@4 g3",
  AK: "g#3@3 e4@4 d4@5 ~@4", AL: "~@4 [g#4,g5]@3 ~ [g#4,g5]@3 ~@4 [b4,g5]", AM: "~@4 [b4,g5]@3 ~ [b4,g5]@4 [g#4,d5]@4",
  AN: "~@4 [b4,g5]@3 ~@4 [g#4,g5] ~@4", AO: "[b4,g5]@3 ~ [b4,g5]@3 ~ [b4,g5]@3 ~ [g#4,d5]@4",
  AP: "~@4 [g4,b4,e5]@7 [g4,b4,e5] [g4,b4,e5]@3 ~", AQ: "[g4,b4,e5]@3 ~@4 [g4,b4,e5] ~@3 [g4,b4,e5] ~@4",
  AR: "e2@4 e4@7 d4@4 g3", AS: "g#3@3 e4@4 d4 ~@3 g#2 a2@3 a#2",
  AT: "[b2@3 [b3,f#4]@4 b3@4 [b3,f#4]@4 b3@4 [b3,g4]@4 [b3,f#4]@4 a3@4 [b3,e4]]/2", AU: "g#2@4 [b3,e4]@7 d4@4 g3",
  AV: "g#3@3 e4@4 d4@4 [b3,e4] [b3,e4]@3 [b3,e4]", AW: "~@11 [g#3,c#4] [g#3,c#4]@3 [g#3,c#4]",
  AX: "g#3@3 [b3,e4]@4 [b3,d4]@4 g3 g#3@3 [b3,e4]", AY: "[g#3,c#4,e4]@3 ~@8 [g#3,b3,e4] [g#3,b3,e4]@3 [g#3,b3,e4]",
  AZ: "[g#3,c#4,e4]@3 ~@13", BA: "e2 f#2 g2 g#2", BB: "e2 [g#3,c#4,e4]@3", BC: "[g#3,c#4,e4]@8 g#2@4 a2@3 a#2",
  BD: "~@3 [b3,d4]@4 e4 [a#3,c#4,e4]@4 [a#3,c#4,e4]@4", // Bm A#dim
  BE: "[[a3,d4,e4]@3 e4 [g3,b3,e4]@3 [g#3,b3,e4] ~@4 [g#3,b3,e4]@7 g3@4 g#3@4 a3 b3@3 d4]/2", // Asus4 Em E
  BF: "[a3@3 g3 d3@3 e3 ~@4 [b2,e3,g3,d4]@12 ~@8]/2", // Em7
})).s("gm_electric_guitar_muted").gain(0.4).pan(0.4)

// chords · acoustic guitar steel · "Guitar II"
const acoustic_guitar_steel = note(`<
  ~ A B C ~ D E@2 F@2 G E F H I@2 J D E@2 F@2 G E F H F@4 E@2 F@2 G E F H I@2 J K E@2 F@2 G E F@6 E@2 F@2 G E F L M@4
  N@2 M@2 O N M@2 I@2 J K E@2 F@2 G E F H P@2 J D E@2 F@2 G E F Q@4
>`.pickRestart({
  A: "~@11 [e3,g#3,c#4,e4] [e3,g#3,c#4,e4]@3 [e3,g#3,c#4,e4]", B: "[e3,g#3,c#4,e4]@3 ~@13",
  C: "~@3 [e3,g#3,c#4,e4] [e3,g#3,c#4,e4]@3 [e3,g#3,c#4,e4] [e3,g#3,c#4,e4]@3 ~@5", D: "e2 f#2 g2 g#2",
  E: "[a2,e3,a3,c#4,e4]@4 [a2,e3,a3,c#4,e4]@4 [a2,e3,a3,c#4,e4]@3 [a2,e3,a3,c#4,e4] [a2,e3,a3,c#4,e4]@4", // A
  F: "[e2,b2,e3,g#3,b3,e4]@4 [e2,b2,e3,g#3,b3,e4]@4 [e2,b2,e3,g#3,b3,e4]@3 [e2,b2,e3,g#3,b3,e4] [e2,b2,e3,g#3,b3,e4]@4", // E
  G: "[b2,d#3,a3,b3,f#4]@4 [b2,d#3,a3,b3,f#4]@4 [b2,d#3,a3,b3,f#4]@3 [b2,d#3,a3,b3,f#4] [b2,d#3,a3,b3,f#4]@4", // B7
  H: "[e2,b2,e3,g#3,b3,e4]@7 [e2,b2,e3,g#3,b3,e4]@4 [e2,b2,e3,g#3,b3,e4] [e2,b2,e3,g#3,b3,e4]@4", // E
  I: "[e2,b2,e3,g#3,b3,e4]@3 ~@8 [e2,b2,e3,g#3,b3,e4] [e2,b2,e3,g#3,b3,e4]@3 [e2,b2,e3,g#3,b3,e4]", // E
  J: "[e2,b2,e3,g#3,b3,e4]@3 ~@13", // E
  K: "~@3 [e2,b2,e3,g#3,b3,e4] [e2,b2,e3,g#3,b3,e4]@4 [e2,b2,e3,g#3,b3,e4]@4 [e2,b2,e3,g#3,b3,e4]@4", // E
  L: "[e2,b2,e3,g#3,b3,e4]@7 [e2,b2,e3,g#3,b3,e4]@4 [e2,b2,e3,g#3,b3,e4] [e2,b2,e3,g#3,b3,e4]@3 [e2,b2,e3,g#3,b3,e4]", // E
  M: "[e2,b2,e3,g#3,b3,e4]@4 [e2,b2,e3,g#3,b3,e4]@7 [e2,b2,e3,g#3,b3,e4] [e2,b2,e3,g#3,b3,e4]@4", // E
  N: "[a2,e3,a3,c#4,e4]@4 [a2,e3,a3,c#4,e4]@7 [a2,e3,a3,c#4,e4] [a2,e3,a3,c#4,e4]@4", // A
  O: "[b2,d#3,a3,b3,f#4]@4 [b2,d#3,a3,b3,f#4]@7 [b2,d#3,a3,b3,f#4] [b2,d#3,a3,b3,f#4]@4", // B7
  P: "[e2,b2,e3,g#3,b3,e4]@4 ~@7 [e2,b2,e3,g#3,b3,e4] [e2,b2,e3,g#3,b3,e4]@3 [e2,b2,e3,g#3,b3,e4]", // E
  Q: "[[e2,b2,e3,g#3,b3,e4]@3 [e2,b2,e3,g#3,b3,e4] [e2,b2,e3,g#3,b3,e4]@3 [e2,b2,e3,g#3,b3,e4] ~@4 [e2,b2,e3,g#3,b3,e4]@28 ~@4 [e2,b2,e3,g#3,b3]@12 ~@8, ~@11 e4 ~@4]/4", // E
})).s("gm_acoustic_guitar_steel").gain(0.25).pan(0.9)

// bass · electric bass pick · "Bass"
const bass = note(`<
  ~ A B C ~ D E F G H I J K L M@2 N D E F G H I J K L O P Q R S Q K T U V K L M@2 B D E F G H W X K Y Z AA AB AC AD AA
  AE AF AG AH K AI AJ AK AJ AK AH AL AM AN AG AH K AO M@2 B D E F G H W X K L M@2 B D AP F AQ AR I F AS AT@4
>`.pickRestart({
  A: "~@11 e2 e2@4", B: "e2 ~@3", C: "~@3 e2 e2@4 e2@4 ~@4", D: "e2 f#2 g2 g#2", E: "a2!2 e2!2", F: "a2!2 e2 a2",
  G: "e2!2 b2!2", H: "e2 d2 c#2 ~", I: "b2!2 f#2 b2", J: "c#3!2 e2!2", K: "e2 g#2 a2 a#2", L: "b2 a2 g#2 f#2",
  M: "e2@4 ~@7 e2 e2@4", N: "e2@3 ~@13", O: "e3!2 d3!2", P: "c#3!2 b2!2", Q: "e3 d3 c#3 b2", R: "a2 g#2 e2!2",
  S: "a2 c#3 d3 d#3", T: "b2 a2 g#2 e2", U: "b2 d#2 f#2 d#2", V: "a2 c#2 e2 c#2", W: "b2!2 f#2!2", X: "a2 c#3 e3!2",
  Y: "b2 c#3 d3 d#3", Z: "e3 d3 b2 g#2", AA: "e2 d2 c#2 b1", AB: "b1!2 d2 b1", AC: "g#2!2 e2 g#2", AD: "a2 c#2 d2 d#2",
  AE: "e2 g#2 b2!2", AF: "e2 d2 b1!2", AG: "b1 d#2 f#2 d#2", AH: "a1 c#2 d2 d#2", AI: "b2!4", AJ: "e2!2 d2!2",
  AK: "c#2!2 b1!2", AL: "e2 d2 c#2 a1", AM: "b1 d2 b1!2", AN: "d2!3 c#2", AO: "b2!2 d3 b2", AP: "a2!2 e2 g2",
  AQ: "e2!2 b2 d2", AR: "e2!2 b2 e2", AS: "e2@3 g#2@5 a2@4 a#2@4",
  AT: "[b2@3 b2 g#2@3 e2 ~@4 e2@24 e1@3 e1@5 e2@8 ~@12]/4",
})).s("gm_electric_bass_pick").gain(0.4).pan(0.1)

// drums · kick
const kick = s("bd").struct("<~@6 A@8 B@3 ~ A@19 B@4 ~ A@19 C A@11 C B@3 ~ A@8 B@3 D A@7 E ~ F ~>".pickRestart({
  A: "x!2", B: "x", C: "x ~ x!2", D: "~@2 x!2", E: "x ~@6 x ~@4 x ~@3", F: "~@3 x",
})).gain(0.4)

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

// drums · open hat
const open_hat = s("oh").struct("<~@99 [~@3 x] ~>").gain(0.45)

// drums · crash
const crash = s("cr").struct("<~@99 [~@3 x] ~>").gain(0.45)

// drums · ride
const ride = s("rd").struct("<~@6 A@8 ~@4 B A@18 ~@5 B A@31 ~@4 B A@7 ~@4 A@7 C ~@3>".pickRestart({
  A: "x!4", B: "~ x!3", C: "x ~@3 x ~@2 x!2 ~@3 x ~@3",
})).gain(0.4)

stack(electric_guitar_muted, acoustic_guitar_steel, bass, kick, snare, open_hat, crash, ride)

More by The Beatles