Strudelify
Ob-La-Di, Ob-La-Da cover art

1976

Ob-La-Di, Ob-La-Da

The Beatles

KeyB♭ majorTempo117 bpm
0:00/0:00
// Ob-La-Di, Ob-La-Da — The Beatles
// 117 bpm, 4/4, key Bb major. Source: mcgill + midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 89 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(117/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, A@4 for four bars: edit a riff to change every repeat.

// chords · piano · "pianos"
const piano = note(`<
  A ~@2 B C@2 D E@2 C@2 F G C H I J C H I J C@2 E@2 C@2 F J C H I J C H I K L M N O P Q R S T U V W U X F Y U@2 Z Y U AA
  AB Y AC AD AE AF AG Q R AH AI U AJ@2 AK AL AM Y U@2 AN Y U@2 AO AP AQ AR AS ~
>`.pickRestart({
  A: "db-1", B: "[e4,g4,c5] ~ [e4,g4,c5]!3 ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [b3,d4,g4,b4] ~ [c4,e4,g4,c5] ~ c4 ~, c4 ~@7",
  C: "f2@2 [a3,c4,f4] ~ a2@2 [a3,c4,f4] ~ f2@2 [a3,c4,f4] ~ a2@2 [a3,c4,f4] ~, ~@3 c3 ~@3 c3", // F
  D: "f2@2 [a3,c4,f4] ~ a2 ~ [c3,a3,c4,f4] ~ f2@2 [a3,c4,f4] ~ a2@2 [c3,a3,c4,f4] ~", // F
  E: "c2@2 [g3,bb3,c4,e4] ~ e2@2 [g3,bb3,c4,e4] ~ c2@2 [g3,bb3,c4,e4] ~ e2@2 [g3,bb3,c4,e4] ~, ~@3 g2 ~@3 g2", // C7
  F: "bb2@2 [bb3,d4,f4] ~ d3@2 [bb3,d4,f4] ~ bb2@2 [bb3,d4,f4] ~ d3@2 [bb3,d4,f4] ~, ~@3 f3 ~@3 f3", // Bb
  G: "f2@2 [a3,c4,f4] ~ a2@2 [c3,a3,c4,f4] ~ c2@2 [g3,c4,e4] ~ e2@2 [g2,g3,bb3,c4,e4] ~", // F C C7
  H: "f2@2 [a3,c4,f4] ~ a2@2 [a3,c4,f4] ~ f2@2 [a3,c4,f4] ~ a2@2 [c3,a3,c4,f4] ~, ~@3 c3 ~@4", // F
  I: "c3@2 [a3,c4,e4] ~ a2@2 [a3,c4,e4] ~ d3@2 [a3,d4,f4] ~ a2@2 [g2,a3,d4,f4] ~, ~@3 c3 ~@4", // Am Dm
  J: "f2@2 [a3,c4,f4] ~ a2@2 [a3,c4,f4] ~ c2@2 [g3,bb3,c4,e4] ~ e2@2 [g3,bb3,c4,e4] ~, ~@3 c3 ~@3 g2", // F C7
  K: "f2@2 [a3,c4,f4] ~ a2 ~ [c3,a3,c4,f4] ~ c2@2 [g3,bb3,c4,e4] ~ e2@2 [g2,g3,bb3,c4,e4] ~", // F C7
  L: "f2@2 [a3,c4,f4] ~ a2 ~ [c3,a3,c4,f4] ~ f2 ~ [a3,c4,eb4,f4,a6] [e6,f6,g6] [c6,d6] [g5,a5,b5,d6] [a2,a3,c4,eb4,f4,e5,f5] [b4,c5,d5], ~@5 f2 g2 ~", // F F7 Em Csus2 G F7 Bm
  M: "[f4,g4,a4] [d4,e4] [f2,bb3,b3,c4,d4,f4] [g3,a3] bb2@2 [f2,bb3,d4,f4] ~ bb2@2 [f2,bb3,d4,f4] ~ bb2@2 [f2,bb3,d4,f4] ~, bb2 ~@7", // F Dsus2 Bb Gsus2 Bb
  N: "bb2@2 [f2,bb3,d4,f4] ~ bb2@2 [f2,bb3,d4,f4] ~ bb2@2 [bb3,d4,f4]@2 bb2 ~ [f2,bb3,d4,f4] ~, ~@10 f2 ~@5", // Bb
  O: "f2@2 [a3,c4,f4] ~ a2 ~ [a3,c4,f4] ~ f2 ~ [a3,c4,f4] ~ a2 ~ [a3,c4,f4] ~, ~@3 c3 ~ f2 ~ c3", // F
  P: "f2@2 [a3,c4,eb4,f4] ~ a2 ~ [c3,a3,c4,eb4,f4] ~ f2 ~ [a3,c4,eb4,f4] ~ g2 ~ [a2,a3,c4,eb4,f4] ~, ~@5 f2 ~@2", // F7
  Q: "bb2@2 [f2,bb3,d4,f4] ~ bb2@2 [f2,bb3,d4,f4] ~ bb2@2 [f2,bb3,d4,f4] ~ bb2@2 [f2,bb3,d4,f4] ~", // Bb
  R: "bb2@2 [f2,bb3,d4,f4] ~ bb2@2 [f2,bb3,d4,f4] ~ bb2 ~ [f2,bb3,d4,f4] ~ bb2 ~ [b2,bb3,d4,f4] ~", // Bb
  S: "c3 ~ [g3,c4,e4]@2 ~@2 [c3,g3,c4,e4]@3 ~ [g3,c4,e4] ~@3 [g3,c4,e4] ~, ~@2 c3 ~@7 c3@3 ~ c3@2", // C
  T: "~@2 [g3,bb3,c4,e4] ~@3 c3@3 ~ bb2 ~ a2 ~ g2 ~, ~@2 c3@3 ~ [g3,bb3,c4,e4]@10", // C7
  U: "f2@2 [a3,c4,f4] ~ a2 ~ [c3,a3,c4,f4] ~ f2@2 [a3,c4,f4] ~ a2 ~ [c3,a3,c4,f4] ~", // F
  V: "c2@2 [g3,bb3,c4,e4] ~ e2 ~ [g2,g3,bb3,c4,e4] ~ c2@2 [g3,bb3,c4,e4] ~ e2 ~ [g3,bb3,c4,e4] ~, ~@7 g2", // C7
  W: "c2@2 [g3,bb3,c4,e4] ~ e2 ~ [g3,bb3,c4,e4] ~ c2@2 [g3,bb3,c4,e4] ~ e2 ~ [g2,g3,bb3,c4,e4] ~, ~@3 g2 ~@4", // C7
  X: "f2@2 [a3,c4,f4] ~ a2 ~ [c3,a3,c4,f4] ~@3 [a3,c4,f4] ~ a2 ~ [c3,a3,c4,eb4,f4] ~, ~@2 f2 ~", // F F7
  Y: "f2@2 [a3,c4,f4] ~ a2 ~ [c3,a3,c4,f4] ~ c2@2 [g3,bb3,c4,e4] ~ e2 ~ [g2,g3,bb3,c4,e4] ~", // F C7
  Z: "~@2 [a3,c4,e4] ~ a2 ~ [c3,a3,c4,e4] ~ d3@2 [a3,c4,d4,f4] ~ a2@2 [g2,a3,d4,f4] ~, c3 ~@3", // Am Dm7 Dm
  AA: "~@2 [a3,c4,f4] ~ a2 ~ [c3,a3,c4,f4] ~ f2@2 [a3,c4,f4] ~ a2 ~ [c3,a3,c4,f4] ~, f2 ~@3", // F
  AB: "~@2 [a3,c4,e4] ~ a2 ~ [c3,a3,c4,e4] ~@3 [a3,d4,f4] ~ a2@2 [a3,d4,f4] ~, c3@2 ~@2 d3@2 ~ g2", // Am Dm
  AC: "~@2 [a3,c4,f4] ~ a2 ~ [c3,a3,c4,f4] ~ [f2,f6,g6,a6,b6] [d6,e6] [a3,c4,eb4,f4,b5,c6,d6] [f5,g5,a5] [g2,c5,d5,e5] [a4,b4,d5] [a2,a3,c4,eb4,e4,f4,g4,a4] [c4,d4], f2@2 ~@3 f2 ~@2", // F G7 Dsus2 Dm7 F C Bm7 Am7 …
  AD: "[a3,b3] ~ [f2,bb3,d4,f4] ~ bb2@2 [f2,bb3,d4,f4] ~ bb2@2 [f2,bb3,d4,f4] ~ bb2@2 [f2,bb3,d4,f4] ~, bb2 ~@7", // Asus2 Bb
  AE: "bb2@2 [f2,bb3,d4,f4] ~ bb2 ~ [f2,bb3,d4,f4] ~ bb2@2 [f2,bb3,d4,f4] ~ bb2@2 [bb3,d4,f4] ~, ~@7 c3", // Bb
  AF: "f2 ~ [a3,c4,f4] ~ a2 ~ [a3,c4,f4] ~ f2 ~ [a3,c4,f4] ~ a2@2 [a3,c4,f4] ~, ~ f2 ~ c3 ~ f2 ~ c3", // F
  AG: "f2 ~ [a3,c4,eb4,f4] ~ a2@2 [a3,c4,eb4,f4] ~ f2 ~ [a3,c4,eb4,f4] ~ g2@2 [a3,c4,eb4,f4] ~, ~ f2 ~ c3 ~ f2 ~ a2", // F7
  AH: "[c3,g3,c4,e4] ~ [c3,g3,c4,e4]@3 ~ [c3,g3,c4,e4]@3 ~ [g3,c4,e4] ~@3 [g3,c4,e4] ~, ~@10 c3@3 ~ c3@2", // C
  AI: "~@2 [c3,g3,bb3,c4,e4]@2 ~@2 [g3,bb3,c4,e4]@2 c3@2 bb2@2 a2 ~ g2 ~, ~@6 c3 ~@3 [g3,bb3,c4,e4]@6", // C7
  AJ: "c2@2 [g3,bb3,c4,e4] ~ e2 ~ [g2,g3,bb3,c4,e4] ~ c2@2 [g3,bb3,c4,e4] ~ e2 ~ [g2,g3,bb3,c4,e4] ~", // C7
  AK: "f4@2 [a3,c4,f4,a4] ~ a2 a4 [c3,a3,c4,f4] ~ [f2,f5]@2 [a3,c4,f4,a5] ~ a2 a5 [c3,a3,c4,f4,f5] ~, f2@3 c5@2 ~@6 c6@2 ~@3", // F
  AL: "~@2 [a3,c4,f4] ~ a2 ~ [c3,a3,c4,f4] ~ f2@2 [a3,c4,eb4,f4] ~ a2 ~ [c3,a3,c4,eb4,f4] ~, f2 ~@3", // F F7
  AM: "~@2 [bb3,d4,f4,d5] ~ d3 d5 [f3,bb3,d4,f4] ~ bb5@2 [bb3,d4,f4,d6] ~ d3 d6 [f3,bb3,d4,f4,bb5] ~, bb2@3 f5@2 ~ bb4@2 bb2@3 f6@2 ~@3", // Bb
  AN: "~@2 [a3,c4,e4] ~ a2 ~ [c3,a3,c4,e4] ~@3 [a3,d4,f4] ~ a2 ~ [g2,a3,d4,f4] ~, c3 ~ d3 ~", // Am Dm
  AO: "~@2 [a3,c4,e4] ~ a2 ~ [a3,c4,e4] ~@3 [a3,d4,f4] ~ a2@2 [g2,a3,d4,f4] ~, c3@2 ~ c3 d3@2 ~@2", // Am Dm
  AP: "f2@2 [a3,c4,f4] ~ a2 ~ [c3,a3,c4,f4] ~@3 [f3,g3,c4,e4] ~ e2 ~ [g2,g3,c4,e4] ~, ~@2 c2 ~", // F C
  AQ: "d2@2 [a3,d4,f4] ~ a2@2 [a3,d4,f4] ~ d3@2 [a3,d4,f4] ~ a2@2 [a3,d4,f4] ~", // Dm
  AR: "d3@2 [a3,d4,f4] ~ a2@2 [a3,d4,f4] ~ d3@2 [a3,d4,f4] ~ a2@2 [a3,d4,f4] ~", // Dm
  AS: "c3 ~ [bb2,g3,c4,e4] ~ a2 ~ [g2,g3,bb3,c4,e4] ~ [f2,a3,c4,f4] ~@3 [f2,f3]@4", // C7 F
})).s("gm_piano").gain(0.45).pan(0.4)

// other · brass section · "bl„ser"
const brass_section = note(`<
  ~@29 A B C D E B F G@2 ~@2 H I J ~@10 K L@2 D E B M N@2 ~@2 H I J ~ O P Q ~@6 R B S T R B S U@2 ~@3
>`.pickRestart({
  A: "~ f4 a4 ~ c5 d5 ~ f5, ~@14 e5 ~", B: "~@2 f5@2 g5@3 ~ a5@2 f5@3 ~ g5@2", C: "~@2 f5@2 e5@3 ~ f5@2 d5@2 ~@2 f4@2",
  D: "~@2 f4 ~ a4@3 ~ c5 ~ c5@3 ~ f4@2", E: "~ f4 a4 ~ c5 d5 ~ f5", F: "~@2 f5 ~ e5 ~ f5@3 ~ c5@2 ~@2 f4@2, ~@14 g4 ~",
  G: "[~@2 f4 ~ a4@3 ~ c5 ~ c5@3 ~ f4@10 ~@8]/2",
  H: "[c5,a5] ~ [c5,a5]@3 ~ [c5,a5]@2 [bb4,g5] ~ [bb4,g5]@3 ~ g5@2, ~@14 bb4 ~", // F Eb
  I: "[a4,f5] ~ [a4,f5]@3 ~ [a4,f5]@2 [g4,eb5] ~ [g4,eb5]@3 ~ [g4,eb5]@2", J: "[bb4,d5]@13 ~@3",
  K: "~@2 f4@2 a4@2 ~@2 c5 ~ d5@3 ~ f5@2, ~@10 c5 ~@5",
  L: "[~@2 f5@2 g5@3 ~ a5 ~ f5@3 ~ g5@4 f5 ~ e5 ~ f5@3 ~ d5@2 ~@2 f4@2]/2", M: "~@2 f5 ~ e5 ~@3 f5@2 d5@2 ~@2 f4@2",
  N: "[~@2 f4@2 a4@3 ~ c5 ~ c5@3 ~ f4@16 ~@2]/2", O: "~@2 g5 ~ f5 ~ e5 ~ d5 ~ c5 ~ bb4 ~ a4 ~",
  P: "g4 ~ f4 ~ e4 ~ d4 ~ c4 ~ bb3 ~ a3 ~ g3 ~", Q: "f3 ~@15", R: "~@2 f4 ~ a4@2 ~@2 c5@2 d5@2 ~@2 f5@2",
  S: "~ f5 e5 ~ f5 d5 ~ f4", T: "~@2 f4 ~ a4@2 ~@2 c5 ~ c5@2 ~@2 f4@2",
  U: "[~@2 f4 ~ a4@2 ~@2 c5 ~ c5@2 ~@2 f4@11 ~@7]/2",
})).s("gm_brass_section").gain(0.4)

// chords · string ensemble 1 · "fl„che"
const string_ensemble_1 = note(`<
  ~@4 A@8 B@8 C@8 D@8 E@4 F@4 G@2 H@6 I@4 J@2 K@6 L@2 M@2 N@2 O@3 P@3 Q@6 R@5 S@2
>`.pickRestart({
  A: "[[f4,a4]@48 [e4,bb4]@31 ~@25 eb4@7 ~ [d4,bb4]@15 ~, c4@13 ~@3, ~@5 f4@3, ~@80 a4@31 ~@17]/8", // F Edim Gm
  B: "[a4@7 ~ [e4,g4]@8 f4@32 e4@8 d4@7 ~@9 [e4,g4]@8 f4@32 e4@8 [d4,f4]@8, c4@55 ~ f4@16 ~@56, ~@2 a4@7 ~ a4@6, ~@64 c4@55 ~@9]/8", // Em Dm
  C: "[~@8 [e4,g4]@8 [f4,a4]@32 [e4,bb4]@31 ~@25 eb4@7 ~ [d4,bb4]@15 ~, c4@103 ~@25, ~@80 f4@47 ~, ~@80 a4@31 ~@17]/8", // Em F Edim Gm
  D: "[[f4,a4]@8 [e4,g4]@8 f4@32 e4@8 d4@7 ~@9 [e4,g4]@8 f4@32 e4@8 [d4,f4]@7 ~, c4@55 ~ f4@16 ~@56, ~@16 a4@56 ~@8 a4@47 ~, ~@32 c4@27 ~@5]/8", // F Em Dm
  E: "[[f4,a4]@7 ~ [e4,bb4]@7 ~@9 eb4@8 [d4,bb4]@30 ~@2, c4@31 ~@33, ~@16 f4@47 ~, ~@16 a4@15 ~@33]/4", // F Edim Gm
  F: "[~@16 eb4@15 ~ [d4,bb4]@30 ~@2, f4@31 ~, [c4,a4]@31 ~@33]/4", // Gm F
  G: "[[f4,a4]@15 ~ e4@15 ~, c4@31 ~, ~@15 g4@15 ~@2]/2", // F
  H: "[[f4,a4]@15 ~@2 bb4@30 ~@26 eb4@7 [d4,bb4]@15 ~, c4@79 ~@17, ~ e4@2 f4@3, ~@48 a4@31 ~@17]/6", // F Gm
  I: "[a4@5 ~@3 [e4,bb4]@8 f4@32 e4@8 [d4,f4]@7 ~, c4@27 ~@5, ~@16 a4@47 ~]/4", // Edim Dm
  J: "[[f4,a4]@8 [e4,g4]@8 [f4,a4]@15 ~, c4@31 ~]/2", // F Em F
  K: "[f4@16 e4@8 d4@7 ~@9 [e4,g4]@8 ~@8 eb4@8 [d4,bb4]@30 ~@2, a4@13 ~@3 a4@5 ~@11, c4@22 ~@2 f4@16 ~@8 f4@47 ~, ~@32 c4@31 ~@33]/6", // Em Gm
  L: "[~@20 eb4@11 ~, [c4,f4,a4]@31 ~]/2", M: "[[d4,f4,bb4]@15 ~]/2", N: "[[f4,a4]@16 [e4,g4]@15 ~, c4@15 ~]/2",
  O: "[[f4,a4]@15 ~@9 bb4@23 ~, c4@47 ~, ~@16 [e4,g4]@31 ~]/3", P: "[c4@24 eb4@7 ~ [d4,bb4]@15 ~, f4, a4@31 ~@17]/3",
  Q: "[a4@7 ~ [e4,g4]@8 f4@32 e4@8 d4@7 ~@9 [e4,g4]@8 [f4,a4]@15 ~, c4@55 ~ f4@16 ~@24, ~@2 a4@7 ~@3, ~@64 c4@31 ~]/6", // Em F
  R: "[f4@16 e4@8 d4@7 ~@9 [e4,g4]@8 ~@4 d4@25 ~@3, a4@39 ~@41, c4@11 ~ f4@8 ~@4 [f4,a4]@15 ~, ~@8 c4@5 ~@7]/5", // Em F
  S: "[[g4,c5]@4 [c4,f4,a4] ~ [a3,c4,f4]@3 ~@7, [c4,e4]@3 ~@13]/2", // C5 F C
})).s("gm_string_ensemble_1").gain(0.35)

// bass · electric bass finger · "bass"
const bass = note(`<
  ~@4 A@2 B C@2 A@2 D E A F G E A F G E A@2 C@2 A@2 D E A@2 G E A F G H I J@2 K I J L M N O P Q O@2 D R O@2 S R O@2 T R
  U J V W X J L Y Z O AA@2 O@2 AB R O@2 AC R O@2 S R AD@2 AE ~
>`.pickRestart({
  A: "f1@3 ~ a1@2 c2@2 f1@3 ~ a1@2 c2@2", B: "f1@2 ~@2 a1 ~ c2 ~ f1@3 ~ a1@2 c2 ~",
  C: "c2@3 ~ e2@2 g1@2 c2@3 ~ e2@2 g1@2", D: "bb1@3 ~ d2@2 f2@2 bb1@2 ~@2 d2@2 f2@2",
  E: "f1@3 ~ a1@2 c2@2 c2@3 ~ e2@2 g1@2", F: "f1@3 ~ a1@2 c2@2 f1@3 ~ a1@2 c2 ~",
  G: "c2@3 ~ a1@2 c2@2 d2@3 ~ a1@2 g1 ~", H: "f1@3 ~ a1 ~ c2 ~ c2@3 ~ e2@2 g1 ~",
  I: "f1@3 ~ a1 ~ c2 ~ f1 ~ f1@2 g1@2 a1 ~", J: "bb1@2 f1 ~ bb1@2 f1 ~ bb1@2 f1 ~ bb1@2 f1 ~",
  K: "f1@3 ~ a1 ~ c2@2 f1 ~ f1@2 a1 ~ c2@2", L: "bb1@2 f1 ~ bb1@2 f1 ~ bb1 ~ f1 ~ bb1 ~ b1 ~",
  M: "c2 ~ c2 ~@3 c2@3 ~ c2@3 ~ c2@2", N: "~@2 c2@3 ~ c2@3 ~ bb1 ~ a1 ~ g1 ~", O: "f1@3 ~ a1 ~ c2 ~ f1@3 ~ a1 ~ c2 ~",
  P: "c2@2 ~@2 e2 ~ g1 ~ c2@3 ~ e2 ~ g1@2", Q: "c2@2 ~@2 e2 ~ g1@2 c2@3 ~ e2 ~ g1 ~",
  R: "f1@3 ~ a1 ~ c2 ~ c2@4 e2 ~ g1 ~", S: "c2@4 a1 ~ c2 ~ d2@3 ~ a1@2 g1 ~", T: "c2@4 a1 ~ c2 ~ d2@4 a1@2 g1@2",
  U: "f1@3 ~ a1 ~ c2 ~ f1 ~ f1@2 g1 ~ a1 ~", V: "bb1@2 f1 ~ bb1@2 f1 ~ bb1@2 f1 ~ bb1@2 c2@2",
  W: "f1 ~ f1@2 a1 ~ c2@2 f1 ~ f1@2 a1@2 c2@2", X: "f1 ~ f1@2 a1@2 c2@2 f1 ~ f1@2 g1@2 a1@2",
  Y: "c2 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@2", Z: "~@2 c2@2 ~@2 c2 ~ c2@2 bb1@2 a1 ~ g1 ~",
  AA: "c2@3 ~ e2 ~ g1 ~ c2@3 ~ e2 ~ g1 ~", AB: "bb1@4 d2 ~ f2 ~ bb1@4 d2 ~ f2 ~", AC: "c2@4 a1 ~ c2 ~ d2@4 a1 ~ g1 ~",
  AD: "d2@3 ~ a1@3 ~ d2@3 ~ a1@3 ~", AE: "c2 ~ bb1 ~ a1 ~ g1 ~ f1 ~@3 f1@4",
})).s("gm_electric_bass_finger").gain(0.5)

// drums · kick
const kick = s("bd").struct("<~@4 A@40 B ~ A@22 B ~ A@17 C ~>".pickRestart({
  A: "x!2", B: "x", C: "x ~ x!2",
})).gain(0.8)

// drums · snare
const snare = s("sd").struct("<~@4 A@33 B A@3 B A@2 ~@2 A@15 B A@3 B A@2 ~@2 A@17 B ~>".pickRestart({
  A: "~ x ~ x", B: "~ x ~@2",
})).gain(0.8)

// drums · low tom
const low_tom = s("lt").struct("<~@5 A ~@31 A ~@3 B ~@19 A ~@3 B ~@23>".pickRestart({
  A: "~@12 x!3 ~", B: "~@14 x!2",
})).gain(0.72)

// drums · hihat
const hihat = s("hh").struct("<~@2 A ~ B@33 C B@3 D B@2 ~@2 B@15 E B@3 F B@2 ~@2 B@17 G ~>".pickRestart({
  A: "x!3 ~", B: "~ x ~ x ~ x ~ x", C: "~ x ~ x!2 ~@3", D: "~ x ~@6", E: "~ x ~ x ~ x ~@2", F: "~ x ~ x ~@4",
  G: "~ x ~ x ~@2 x ~",
})).gain(0.64)

// drums · mid tom
const mid_tom = s("mt").struct("<~@5 A ~@31 A ~@3 B ~@19 A ~@3 C ~@23>".pickRestart({
  A: "~@10 x!2 ~@4", B: "~@12 x!3 ~", C: "~@12 x!2 ~@2",
})).gain(0.72)

// drums · high tom
const high_tom = s("ht").struct("<~@5 A ~@31 A ~@3 B ~@19 A ~@3 C ~@23>".pickRestart({
  A: "~ x", B: "~@8 x ~ x!2 ~@4", C: "~@8 x!4 ~@4",
})).gain(0.8)

// drums · crash
const crash = s("cr").struct(`<
  ~@4 A ~ A ~@7 A ~@3 A ~@3 A ~@7 A ~@7 A ~@3 A ~@3 A ~@7 A ~@3 A ~@3 A ~@3 A ~ A ~ A ~@7 A ~@3 A ~@4 B ~
>`.pickRestart({
  A: "x", B: "~@3 x",
})).gain(0.56)

// drums · tambourine
const tambourine = s("tb").struct("<~@5 A ~@32 A@8 ~@16 A@8 ~@8 A@9 B ~>".pickRestart({
  A: "x!8", B: "x!5 ~@3",
})).gain(0.48)

stack(piano, brass_section, string_ensemble_1, bass, kick, snare, low_tom, hihat, mid_tom, high_tom, crash, tambourine)

More by The Beatles