Strudelify
Please Please Me cover art

Please Please Me

Please Please Me

The Beatles

KeyE majorTempo138 bpm
0:00/0:00
// Please Please Me — The Beatles
// 138 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: ch 8 "String Ensemble 1" named as a string part, played on string ensemble 1 (its harmonica patch is not one)
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 69 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(138/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
const bass = note(`<
  A B C D C D@2 E F D@2 E G H I J K D L M L D@2 E F D@2 E G N I J O D L P Q R S T U V W X L U L D@2 E F D@2 E G H I J K
  D L D L D L Y Z AA@2
>`.pickRestart({
  A: "~@3 b1", B: "e2@2 e2!6", C: "e2!6 a1 b1", D: "e2!8", E: "a2!4 e2!4", F: "e2 g2!2 a2!2 b2 b2@2",
  G: "e2@2 ~@2 e2@2 e2 ~ e3@2 e3@2 b2@2 b2 ~", H: "a2@2 ~ e2@2 ~@2 f2", I: "f#2@2 ~ c#2@2 ~ f#2 g2",
  J: "g#2@5 ~ c#2@4 ~@2 g#2@2 e2 ~", K: "a2@4 ~@2 e2@5 ~ a2@3 ~", L: "a2!4 b2!4",
  M: "e2@2 e2@2 g#2@2 g#2 ~ b2@2 b2 ~ g#2@2 e2@2", N: "a2@2 ~ e2@3 a2 g#2", O: "a2@4 ~@2 e2@5 ~ a2@2 a2@2",
  P: "e2@2 e2@2 g#2@2 g#2 ~ b2@2 b2 ~ g#2@2 b2@2", Q: "e2 ~@7", R: "a1 a2 f#2@2 e2@2 c#2@2", S: "b2 a2 g#2 f#2",
  T: "e2@4 e2@2 g#2 ~ b2@2 b2@2 g#2 ~ b2@2", U: "e2@4 e2@2 g#2 ~ b2@2 b2@2 g#2@2 e2@2", V: "a2@4 f#2@4 e2@3 ~ c#2@3 ~",
  W: "b2@2 b2 a2 g#2@2 f#2@2", X: "e2@2 e2 g#2 b2!2 g#2 e2", Y: "e2@5 ~@3 g2@5 ~@3", Z: "c2@6 ~@2 b1@5 ~@3", AA: "e2/2",
})).s("gm_fretless_bass").gain(0.47)

// chords · acoustic guitar steel · "Acoustic Guitar (steel)"
const acoustic_guitar_steel = note(`<
  ~ A B C@3 D E F G H I J K L M N O P Q R S T U V W@2 X J Y Z AA AB AC AD AE@2 AF AG AH@2 AI AJ AK AL AM AN AO@2 AP AQ
  AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH@2
>`.pickRestart({
  A: "e3@2 e3 [e3,g#3]@2 [e3,g#3] [e3,g#3,b3,e4]@2, [g#3,b3,e4]@3 [b3,e4]@3 ~@2", // E E5
  B: "e3@2 ~@3 e3!3, [g#3,b3,e4]@3 [g#3,b3,e4]@3 [g#3,b3,e4]@2, ~@2 e3@3 ~@3", // E
  C: "[e3@2 ~@3 e3!3 [e3,g#3,b3]@2 [e3,g#3,b3] [e3,g#3]@2 [e3,g#3] g#3!2 b3@2 b3 e4!2 [e3,g#3,b3,e4] [g#3,b3]!2, [g#3,b3,e4]@3 [g#3,b3,e4]@3 [g#3,b3,e4]@2 e4@3 [b3,e4]@3 [e3,b3,e4]@2 [e3,g#3,e4]@3 [e3,g#3,b3]@2 ~ [e3,e4]@2, ~@4 e3@6 b2@33 ~@5]/3", // E G#m E E5 E
  D: "b3!2 [e3,b3] [g#3,b3,e4]@2 [g#3,b3,e4] [e3,b3] [a2,d3,g3,b3], [g#3,e4]@3 e3@3 e4@2, e3@2 ~ b2@4 ~, ~@12 g#3 ~@3", // E5 E E5 G C#m
  E: "[a3,c#4,e4]!2 [e3,a3,c#4]!2 b3!2 [e3,g#3,b3,e4]!2, a2@7 ~ b2@7 ~, e3 e4 [e3,g#3,e4] ~", // A E
  F: "[b2,e3,g3,b3,e4] ~ [b3,d4,g4]@2 [b3,d4,g4] ~ [e3,a3,c#4,e4,a4]@2 [e3,a3,c#4,e4,a4] ~ [b3,d#4,f#4,b4]@2 [b3,d#4,f#4,b4]@3 ~, ~@2 [d3,g3]@4 ~@4 f#3@5 ~", // Em G A B G5
  G: "[e3,g#3,b3,e4]@2 [g#3,b3,e4] [g#3,b3,e4]@2 [e3,g#3,b3,e4] [g#3,b3]!2, b2, e2 ~ e3@3 ~ [e3,e4]@2", // E G#m E
  H: "e3@4 e3@2 e3@4 ~@2 [g#3,b3]@2 [g3,b3] ~, b2@3 [b2,e4], [g#3,b3,e4]@3 [g#3,b3,e4]@3 ~@2, ~@5 e3@3", // G#m G E5 E
  I: "[e3,a3]!2 [a2,e3,a3,c#4] [a2,d3,g3,b3] b3!2 [e3,g#3,b3]!2, [a2,c#4,e4] e4 [b2,e3,g#3,e4] [b2,e4]", // A5 A G E A E E5
  J: "[b2,e3,g#3,b3,e4] ~@7", // E
  K: "[e3,a3]@2 [e3,a3] [a3,c#4]@2 [a3,c#4] [e3,a3,c#4,e4] ~, [c#4,e4]@3 [e3,e4]@3 ~@2, ~@4 a2@11 ~", // A5 A C#m E
  L: "f#3@4 f#3@2 [f#3,a3]@4 [f#3,a3]@2 [f#3,a3,c#4,f#4] ~ g3 ~, c#3@13 ~@3, [a3,c#4,f#4]@3 [c#4,f#4]@3 ~@2", // F#m F#5
  M: "g#3@4 g#3@2 [g#3,e4]@4 g#3@2 [g#3,c#4,e4,g#4] ~ [d3,g3]@2, [c#4,e4,g#4]@3 [c#4,g#4]@3 ~@2", // C#m G5 C#m C#5
  N: "a3@4 a3@2 a3@4 [e3,a3]@2 [e3,a3,c#4,e4,a4] ~ [d3,g3,b3]@2, e3@5 ~@3, [c#4,e4,a4]@3 [c#4,e4,a4]@3 ~@2", // A5 A G A
  O: "[e3,e4]@4 [e3,e4]@2 e3@4 ~ e5 e3@2 [a2,d3,g3] ~, b2@7 ~, [g#3,b3]@3 [g#3,b3,e4]@3 [b3,e4]@2, ~@10 e3@2 g#3 ~@3", // E Dsus4 G#m E E5
  P: "[e3,a3,c#4,e4]@4 [e3,a3,c#4,e4]@2 [d3,g3,b3] ~ f#3@2 f#3@2 [f#3,b3,d#4,f#4]@2 [d3,b3,e4]@2, a2@2 [b3,d#4,f#4] ~", // A G B E7 B
  Q: "[e3,b3]@4 [e3,b3]@2 [e3,g#3,b3]@4 [e3,g#3,b3]@2 [b2,b3]@2 [d3,g3,b3] ~, b2@12 [e3,g#3] ~@3, [g#3,e4]@3 e4@3 e4@2", // E5 E B G E C#m
  R: "e4@2 e4@2 [e3,a3,c#4,e4]@2 [g3,b3]@2 [f#3,d#4,f#4]@2 [f#3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 [d3,g3,b3] ~, a2 ~, [e3,a3,c#4] ~ b3 ~", // A G D#m B G A
  S: "[e3,b3]@2 [e3,b3] g#3@2 g#3 [g#3,b3,e4]@2, [g#3,e4]@3 e3@5, ~@3 [b3,e4]@3 ~@2", // E5 E C#m E5
  T: "[g#3,b3]@4 [g#3,b3]@2 g#3@4 g#3@2 e3@2 g3 ~, [e3,e4]@3 [e3,b3,e4]@3 [b3,e4]@2, ~@12 g#3 ~@3", // G#m E E5
  U: "[a3,e4]@2 [a3,e4]@2 [a3,c#4]@2 [d3,g3,b3] ~ [b2,g#3,b3]@2 [g#3,b3]@2 [e3,g#3,e4]@2 [e3,g#3,e4]@2, [e3,c#4] e4 [e3,e4] b3, ~@10 b2@5 ~", // A5 A G E G#m E C#m E
  V: "[b2,e3,g#3,b3,e4] ~ [b3,d4,g4]@2 [b3,d4,g4] ~ [e3,a3,c#4,e4,a4]@2 [e3,a3,c#4,e4,a4]@2 [b3,d#4,f#4,b4]@2 [b3,d#4,f#4,b4]@3 ~, ~ [d3,g3]@2 ~@2 f#3@2 ~", // E G A B G5
  W: "[[e3,g#3,b3]@4 [e3,g#3,b3]@2 b3@2 ~@4 b3@2 b3@2 [e3,g#3,b3,e4]@6 [e3,g#3]@4 [e3,g#3]@2 [e3,g#3] ~ [d3,g3]@2, b2@15 ~, [e2,e4]@6 e4@5 e2@19 ~@2, ~@3 [e3,g#3]@2 [e3,g#3] [e3,g#3,e4]@2 ~@8, ~@4 b3@2 ~@5 [b3,e4]@3 [b3,e4]@2]/2", // E G5 E E5
  X: "[e3,a3,c#4,e4]@4 a3@2 [d3,g3,b3]@2 [e3,g#3,b3,e4]@4 [g#3,b3,e4]@2 [g#3,b3,e4] [b3,e4], ~ e4 ~ e3, ~@4 e3 ~@3 b2@8", // A G E E5
  Y: "e3@4 e3@2 [e3,a3]@4 [e3,a3]@2 [e3,a3,c#4] ~ [d3,g3,b3]@2, [a2,a3,c#4,e4]@3 [a2,c#4,e4]@3 a2@2, ~@6 e4 ~", // A5 A G A
  Z: "[f#3,a3,c#4,f#4]@5 ~ [f#3,a3,c#4,f#4]@6 [f#3,a3,c#4,f#4] ~ [a2,d3,g3]@2, c#3@13 ~@3", // F#m Dsus4
  AA: "g#3@4 g#3@2 g#3@4 ~@2 [c#4,e4,g#4]@2 [d3,g3] ~, [c#4,e4,g#4]@3 [c#4,e4,g#4]@3 ~@2, ~@5 g#3@2 ~", // C#m G5 C#m
  AB: "[a3,c#4,e4,a4]@3 [a3,c#4,e4,a4]@3 [a3,c#4,e4,a4] [g3,b3], e3@7 ~", // A G
  AC: "[e3,g#3,b3,e4]@3 [e3,g#3,b3]@2 [e3,g#3,b3] [e3,g#3] g3, ~@3 e4@3 [b3,e4]@2", // E E5
  AD: "[a3,c#4,e4]@4 [a3,c#4,e4]@2 [d3,g3,b3] ~ f#4@2 f#4@2 [f#3,b3,d#4,f#4]@2 [d3,g3,b3,e4]@2, e3@3 ~ [f#3,b3,d#4]@2 ~@2", // A G B Em7 B
  AE: "[[e3,b3]@2 b3!3 [e3,g#3,b3] [e3,g#3,b3,e4]@2 [b3,e4]@2 ~@6, b2@9 ~@7, [g#3,e4]@3 e4@3 ~@10, ~@3 [e3,g#3]@2 ~@3 [e3,g#3] ~@7]/2", // E5 E E5 C#m E
  AF: "[e3,a3,c#4,e4]@6 e3@4 e3@2 [e3,a3,c#4,e4] ~ [d3,g3,b3] ~, a2@15 ~, ~@3 [a3,c#4,e4]@3 ~@2", // A G A
  AG: "d#4!2 [f#3,b3,d#4,f#4]@2 f#3!2 [f#3,b3,d#4,f#4] [b3,e4], [f#3,b3,f#4] ~ [b3,d#4,f#4] ~", // B E5 B5 B
  AH: "[e3@4 e3@2 [g#3,b3]@4 [g#3,b3]@2 b3@2 b3@2 [e3,g#3,b3,e4]@6 g#3@4 g#3@2 [e3,g#3]@2 g3 ~, b2@6 b2@9 ~, [g#3,b3,e4]@3 [e3,e4]@3 [e3,g#3,e4]@2 ~@3 [e3,b3,e4]@3 [b3,e4]@2]/2", // G#m E E5
  AI: "[e3,a3,c#4,e4]@4 a3@2 a3@2 a3@2 a3@2 [e3,a3,c#4,e4] ~ [g3,b3] ~, ~ e3@2 ~, ~ [c#4,e4]!2 ~", // A G C#m
  AJ: "[f#3,b3,d#4,f#4]@4 [f#3,f#4]@2 [f#3,f#4]@2 [f#3,f#4]@2 [f#3,f#4]@2 [f#3,b3,d#4,f#4] ~ [d3,g3,b3,e4]@2, ~ [b3,d#4]!2 ~", // B F# B Em7 B
  AK: "[e3,g#3]@2 [e3,g#3] [e3,g#3,b3,e4] [g#3,b3]!2 [e3,g#3,b3] [g3,b3], b2@7 ~, [b3,e4]@3 ~ [e3,e4]@2 e4@2", // E G#m E G E5 E
  AL: "[e3,a3,c#4,e4]@4 [e3,a3,c#4,e4]@2 [d3,g3,b3] ~ b3@2 b3@2 [f#3,b3,d#4,f#4]@2 [b3,e4]@2, ~@2 [f#3,d#4,f#4] ~", // A G B E5 D#m
  AM: "[e3,g#3,b3,e4]@4 [b3,e4]@2 ~@2 g#3@2 [b2,e3,g#3]@2 [b2,b3]@2 [a2,d3,g3,b3] ~, b2@5 ~@3, ~@4 e3@6 ~@2 [e3,g#3] ~@3, ~ g#3 ~@2, ~@3 [b3,e4]@3 e4@2", // E E5 E B G E E5
  AN: "[e3,a3,c#4,e4]@4 [e3,a3,c#4,e4]@2 [d3,g3,b3] ~ f#3 ~ f#3@2 [f#3,b3,d#4,f#4]@2 [g3,e4]@2, a2@2 [b3,d#4,f#4] ~", // A G B C B
  AO: "[b3@4 b3@2 [e3,g#3]@4 [e3,g#3]@2 g#3@2 g#3@2 g#3@4 g#3@2 g#3@4 g#3@2 e3@2 g3 ~, b2@15 ~, [e3,g#3,e4]@3 [b3,e4]@3 [e3,b3,e4]@2 [e3,b3,e4]@3 [e3,b3,e4]@3 [b3,e4]@2, ~@28 g#3 ~@3]/2", // E E5
  AP: "a3@2 a3@2 [e3,c#4] ~ [g3,b3]@2 [e3,g#3]@2 [e3,g#3]@2 b3@2 b3@2, [e3,c#4,e4] e4 ~@2, ~@2 a3 ~ [b2,b3,e4]@2 [b2,e3,g#3,e4]@2", // C#m G E C#m E5 E
  AQ: "[b2,e3,g#3,b3,e4] ~ [d3,g3,b3,d4,g4]@2 [d4,g4] ~ [e3,a3,c#4,e4,a4]@2 [a3,c#4,e4,a4] ~ [b3,d#4,f#4,b4]@2 [b3,d#4,f#4,b4]@3 ~, ~@5 f#3@2 ~", // E G G5 A B
  AR: "[e3,g#3,b3,e4]@3 b3 ~ e3 [e3,g#3,b3,e4]@2, b2, ~@3 [g#3,e4]@3 ~@2, ~@3 e3@2 ~@3, ~@2 b3 ~", // E C#m
  AS: "[e3,g#3,b3]@4 [e3,g#3,b3]@2 b3@2 b3@2 [e3,g#3,b3]@2 [g#3,b3]@2 [d3,g3,b3] ~, b2@7 ~, e4@3 e4@3 e4@2, ~@6 [e3,g#3]@4 ~@2 e3 ~@3", // E G#m G E
  AT: "e4@2 e4@2 [e3,a3,c#4] ~ [d3,g3,b3]@2 b3@2 b3@2 [e3,g#3,b3]@2 [e3,g#3,b3]@2, a2@4 b2@3 ~, [e3,a3,c#4] e4 [e3,g#3,e4] e4", // A G E A E
  AU: "[b2,e3,b3,e4]@3 ~@13, g#3 ~@15", // E5
  AV: "[e3,a3]@4 e3@2 [e3,a3]@4 [e3,a3]@2 [d#3,a3,c#4] ~ [d3,g3] ~, [c#4,e4]@3 [c#4,e4]@3 [a2,e4] ~", // A5 D#m7b5 G5 C#m A5
  AW: "c#3@4 c#3@2 f#3@4 f#3@2 [f#3,a3,c#4,f#4] ~ [d3,g3,b3] ~, [f#3,a3,c#4,f#4]@3 c#3@4 ~, ~@3 [a3,c#4,f#4]@3 ~@2", // F#m G F#m
  AX: "[g#3,c#4,g#4]@2 g#4 g#3@2 g#3 [g#3,c#4,e4,g#4] ~, e4@3 [c#4,e4,g#4]@3 ~@2", // C#5 C#m
  AY: "a3@2 a3 a3@2 a3 [a3,c#4,e4,a4] [g3,b3,e4], e3@7 ~, [c#4,e4,a4]@3 [c#4,e4,a4]@3 ~@2", // A Em A
  AZ: "[e3,g#3]@4 [e3,g#3]@2 e4@2 ~@2 [e3,g#3]@2 [b2,e3]@2 [d3,g3] ~, b2@3 ~, [b3,e4]@3 b3@3 [b3,e4]@2, ~@6 [e3,g#3]@4 ~@2 g#3 ~@3, ~@2 e4 ~", // E E5 G5 E5 E
  BA: "[a3,c#4,e4]@4 [a3,c#4,e4]@2 [d3,g3,b3]@2 f#4@2 f#4 ~ [f#3,b3,d#4,f#4]@2 [b3,e4]@2, e3@3 ~ [f#3,b3,d#4]@2 ~@2", // A G B E5 B
  BB: "e3@4 e3@2 g#3@4 g#3@2 [e3,g#3]@2 g3 ~, [g#3,b3,e4]@3 [e3,b3,e4]@3 [b3,e4]@2", // E E5
  BC: "[e3,a3,c#4,e4]@4 [e3,a3,c#4,e4] ~ [g3,b3] ~ [b3,f#4]@2 [b3,f#4]@2 [b3,d#4,f#4] ~ [g3,b3]@2, ~@4 f#3@3 ~, ~@2 d#4 ~", // A G B5 B G
  BD: "[e3,g#3,b3,e4]@6 [e3,g#3]@4 [e3,g#3]@2 [b2,e3,g#3]@2 [d3,g3] ~, ~@3 [b3,e4]@3 [b3,e4]@2", // E G5 E5
  BE: "c#4@2 c#4@2 [e3,a3,c#4,e4]@2 [d3,g3,b3] ~ f#3 ~ f#3@2 [f#3,b3,d#4,f#4]@2 [d3,b3,e4]@2, [e3,a3,e4] ~ [b3,d#4,f#4] ~", // A G B E7 A5 B
  BF: "[b2,e3,g#3,b3,e4]@3 ~ [d3,g3,b3]@3 ~, ~ [d4,g4]", BG: "[g3,c4,e4,g4]@7 ~ [f#3,b3,d#4,f#4]@7 ~",
  BH: "[[e2,b2,e3,g#3,b3,e4]@31 ~]/2", // E
})).s("gm_acoustic_guitar_steel").gain(0.28).pan(0.6)

// chords · electric guitar clean · "Electric Guitar (clean)"
const electric_guitar_clean = note(`<
  A B C@2 D E@2 F G H@2 I@2 J K L M N O P Q R@2 S T U@2 V@3 W L X Y Z AA AB ~@8 AC AD AE ~ AF AG AH@2 I@2 J K L M N O AI
  AJ@2 AK AL AM AN ~
>`.pickRestart({
  A: "~@12 a2 b2@3", B: "~@4 e4@3 ~ d#4@4 c#4@4, e2@11 ~@5", C: "[b3@6 c#4@2 b3@3 ~ g#3@8 e4@4 d#4@4 c#4@4]/2",
  D: "b3@3 c#4 b3@2 g#3@2", E: "[~ b3@31, [b2,e3,g#3]@15 ~]/2",
  F: "e3@4 e3 ~ a2@2 b2@2 ~@2 e2@2 [e2,b2]@2, [a2,a3]@3 ~ e2@2 ~@2, ~@5 b2@2 ~", // E5 A
  G: "e2 ~ [g2,d3]@2 [g2,d3] ~ [a2,e3]@2 [a2,e3]@2 [b2,f#3]@2 [b2,f#3]@4", H: "[[e2,b2,e3]@15 ~, g#3@5 ~@3]/2",
  I: "[~ [e3,a3]@6 e2 ~ g#3@3 e3 [e3,g#3]!2 g#3 [b2,g#3]@2 ~@2 e2@2 ~@2 e3@2 e3@2 [b2,e3]@2 b2@2, a2@6 ~@2 [e2,b2,e3]@4 b2@3 e3@3 ~@14, ~@13 b3@5 ~@14, ~@13 e2@3 e2@4 ~@2 e2@5 ~@5]/2", // A5 E E5
  J: "c#3@5 ~ e3@6 c#3@2 b2@2", K: "~@3 f#3@3 c#3 b2, c#3@11 ~@5", L: "c#3@5 ~ g#3@5 ~ c#3@2 b2@2",
  M: "~@6 c#3 a2, c#3@3 ~, ~@3 a3@4 ~", N: "[e2,b2]@4 [e2,b2]@2 [e2,b2]@2 ~@2 e2@2 [b2,e3]@2 a2 ~, ~@2 b2 ~",
  O: "[a2,e3]@4 [a2,e3]@2 [a2,e3] ~ [b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2", P: "~@4 e4@4 d#4@3 ~ c#4@4, e2@3 ~@5",
  Q: "b3@6 c#4@2 b3@4 g#3@3 ~", R: "[[b2,e3,g#3]@29 ~@3, [b3,e4]@31 ~]/2",
  S: "~ c#4@5 d3 ~ [b2,e3,g#3]@4 [e2,b2,e3]@2 e3@2, [a2,a3]@7 ~@9, e3@5 ~@11", // E E5 A
  T: "e2 ~ [g2,d3]@2 [g2,d3,g3]@2 [a2,a3]@2 a2@2 [b2,f#3]@2 [b2,f#3]@4, ~@3 e3@2 ~@3", // G5 A B5
  U: "[b2@15 ~ b2@4 ~@2 e3@6 ~@4, g#3@21 ~@11, b3@19 ~@13, e3@13 ~@19]/2",
  V: "[[a2,e3,a3,c#4]@6 [a2,d3] ~ [e2,b2,e3]@4 [e2,b3] b3!2 [e3,b3] [b2,e3,e4]@2 ~@2 e2@2 ~@2 [e3,g#3]@2 e3@2 [b2,e3]@2 b2@2 c#3@5 ~ e3@6 c#3@2 b2@2, ~@12 [b2,e3]@4 ~@4 b2@7 ~@21, ~@6 g#3 e2@3 ~ e2@6 ~@7, ~@7 g#3 [g#3,b3]@2 ~@14]/3", // A D5 E5 E E5 G#m
  W: "~@6 c#3 b2, c#3@3 ~, ~@3 f#3@4 ~", X: "~@3 a3@3 c#3 e2, c#3@3 ~",
  Y: "[e2,b2]@4 b2@2 [e2,b2,e3]@4 [e2,b2]@2 [e2,b2]@2 [e2,a2] ~", Z: "e3!2 [a2,e3]!2 [b2,f#3]!4, a2 ~@3",
  AA: "~@4 e4@3 ~ d#4@3 ~ c#4@4, e2@3 ~@5", AB: "b3@3 ~@5", AC: "~@4 e4@4 d#4@3 ~ b3@3 ~", AD: "c#4@3 c#4 b3@2 b3@2",
  AE: "g#3@3 ~", AF: "[e3,a3]@4 [e3,a3]@2 d3 e3 [e2,b2]@4 b2@2 e2@2, a2@3 ~ e3 ~@3",
  AG: "~@2 [g2,d3]@2 [g2,d3] ~ [a2,e3]@2 [a2,e3] ~ [b2,f#3]@2 [b2,f#3]@4", // G5 A5 B5
  AH: "[[e2,g#3,b3]@5 ~@3, e3@15 ~@17, b2@11 ~@21]/2", AI: "~@4 e4@3 ~ d#4@3 ~ c#4@3 ~, e2@3 ~@5",
  AJ: "[b3@3 c#4 b3@2 g#3@4 e4@2 d#4@2 c#4@2]/2", AK: "b3@3 c#4 b3@2 g#3 ~",
  AL: "~ e4@7 [d3,g3,b3,d4,g4]@7 ~, [b2,e3,g#3,b3] ~", AM: "[g3,c4,e4,g4] [f#3,b3,d#4,f#4]",
  AN: "~ e4@15, [e2,b2,e3,b3]", // E5
})).s("gm_electric_guitar_clean").gain(0.31).pan(0.3)

// other · string ensemble 1
const string_ensemble_1 = note("<~ A B C D ~@14 A B ~@14 A E ~@8 A B ~@14 A B C D ~@4>".pickRestart({
  A: "~@4 e5@4 d#5@3 c#5@4 ~", B: "b4@3 c#5 b4@2 g#4@2", C: "~ e5 d#5 c#5", D: "b4@6 c#5@2 b4@3 g#4@5", E: "b4 ~@3",
})).s("gm_string_ensemble_1").gain(0.45)

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

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

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@8 [~@9 x ~@6] ~@15 [~@9 x ~@6] ~@25 [~@9 x ~@6] ~@18>").gain(0.23)

// drums · low tom
const low_tom = s("lt").struct("<~@36 [~@7 x!2 ~@2 x!2 ~ x ~] ~@2 [~@8 x!2 ~ x!2 ~ x ~] ~@29>").gain(0.4)

// drums · crash
const crash = s("cr").struct(`<
  ~ A ~@3 A ~@3 A ~@3 B C@3 A ~@3 A ~@3 A ~@3 B C@3 A ~@2 A@2 ~@9 A ~@3 A ~@3 B C@3 A ~@5 D@2 A ~
>`.pickRestart({
  A: "x", B: "x ~@2 x ~@4", C: "~@3 x ~@4", D: "x!2",
})).gain(0.35)

// drums · ride
const ride = s("rd").struct(`<
  ~ A B@2 C A B@2 D A B C D E F G@2 A B@2 C A B@2 D A B C D E F G@2 A B@2 ~ A B ~ B@7 A B@2 D A B C D E F G@2 A B@4 C
  ~@4
>`.pickRestart({
  A: "~ x!7", B: "x!8", C: "x!6 ~@2", D: "x", E: "~@4 x!4", F: "x!2 ~@2 x!4", G: "x ~@3 x!4",
})).gain(0.35)

stack(
  bass, acoustic_guitar_steel, electric_guitar_clean, string_ensemble_1, kick, snare, snare_soft, low_tom, crash, ride
)

More by The Beatles