Strudelify
I Am the Walrus cover art

Love

I Am the Walrus

The Beatles

KeyD majorTempo90 bpm
0:00/0:00
// I Am the Walrus — The Beatles
// 90 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 87 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(90/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.

// other · french horn · "Fren Horns"
const french_horn = note("<~@11 A B C@4 ~@70>".pickRestart({
  A: "~@8 g4 a4@3 c5 d5@3", B: "e5 ~", C: "[a4@2 e4 f#4 a4 c5@2 a4@3 e4 f#4 a4 c5@2 a4@3 e4 f#4 a4 c5@2 a4@5 ~@4]/4",
})).s("gm_french_horn").gain(0.35).pan(0.7)

// chords · piano · "E. Piano 1"
const piano = note(`<
  A B C D E F G H I H J K L H M H N O P Q R S H I H J K T U@2 L V W H M H N O P Q R S ~@4 X Y Z AA@2 J K AB AC H I H J K
  L H M H N O P Q R S AD AE AF AG AH AI AJ AK AL AM AG AH AI AJ AK AL AM
>`.pickRestart({
  A: "[d#5,f#5] b4 [d#5,f#5] b4 [d#5,f#5] b4 [d#5,f#5] b4", // D#m
  B: "[d#5,f#5] b4 [d#5,f#5] b4 [c#5,e5] a4 [c#5,e5] a4, b3 a3", // D#m C#m
  C: "[b4,d5] g4 [b4,d#5] g4 [a4,c5] f4 [a4,d5] f4, g3 f3", // Bm B Am D5
  D: "[g#4,b4]@2 e4@2 [g#4,b4]@2 e4@2 [g#4,b4]@2 e4@2 [g#4,b4]@2 e4 [a4,c#5], e3!4", // G#m A
  E: "[b4,d5] e4 [b4,d5] e4 [b4,d5] e4 [b4,d5] e4, e3!4", // Bm
  F: "[f#4,a4]@2 d4@2 [f#4,a4]@2 d4@2 [f#4,a4]@2 d4@2 [f#4,a4]@2 d4 [g4,b4], d3!4", // F#m G
  G: "[a4,c5] d4 [a4,c5] d4 [a4,c5] d4 [a4,c5] d4, d3!4", H: "[a3,c#4,e4,a4]!2 [g3,c#4,e4,a4]!2",
  I: "[c3,c4,e4,g4]!2 [d3,d4,f#4,a4] [e3,d4,f#4,a4]", J: "[c3,c4,e4,g4]!4", K: "[d3,d4,f#4,a4]!4", L: "[a3,c#4,e4,a4]",
  M: "[f#3,c4,e4,a4]!2 [f3,a3,c4,f4] [g3,b3,d4,g4]", N: "[f3,a3,c4,f4]!4", O: "[b2,b3,d4,f#4]!4",
  P: "[b2,b3,d4,f#4]@4 [b2,b3,d4,f#4]@3 [b3,d4,f#4] [b3,d4,f#4]@2 [b3,d4,f#4]@2 [b2,b3,d4,f#4]@4, ~@2 b2 ~", // Bm
  Q: "[c3,g3,c4,e4]!4", R: "[d3,a3,d4,f#4]!4", S: "[e3,b3,e4,g4]!4", T: "[a3,c#4,e4,a4] ~", U: "[d3,d4,g4,a4]",
  V: "[e3,b3,e4,g#4]!4", W: "[d3,a3,d4,f#4]@4 [d3,a3,d4,f#4]@4 [d3,a3,d4,f#4]@4 [d3,a3,d4,f#4]@3 [e4,g4]",
  X: "[b2,b3,d#4,f#4] [a2,a3,c#4,e4]", Y: "[g2,g3,b3,d4] [f2,f3,a3,c4]", Z: "[e3,g3,b3,e4]!2 [f3,a3,c4,f4]!2",
  AA: "[b2,b3,d#4,f#4]!4", AB: "[e3,e4,g4,b4]!4",
  AC: "[d3,d4,f#4,a4] [d3,d4,f#4,a4]@2 [d3,d4,f#4,a4] ~@2 [d3,d4,f#4,a4]@2", // D
  AD: "[d3,a3,d4,f#4]@2 ~@2 [d3,a3,d4,f#4]@3 ~ [d3,a3,d4,f#4]@3 ~ [d3,a3,d4,f#4]@3 ~", // D
  AE: "[c3,g3,c4,e4] ~ [c3,g3,c4,e4] ~ [c3,g3,c4,e4] ~ [c3,g3,c4,e4] ~", // C
  AF: "[b2,b3,d4,f#4]@2 ~@2 [b2,b3,d4,f#4]@2 ~@2 [b2,b3,d4,f#4]@3 ~ [b2,b3,d4,f#4]@2 ~@2", // Bm
  AG: "[a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@3 ~", // A
  AH: "[g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~ [g3,b3,d4,g4]@3 ~", // G
  AI: "[f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@3 ~", // F
  AJ: "[e3,g3,b3,e4]@3 ~ [e3,g3,b3,e4]@3 ~ [e3,g3,b3,e4]@3 ~ [e3,g3,b3,e4]@3 ~", // Em
  AK: "[d3,a3,d4,f#4]@3 ~ [d3,a3,d4,f#4]@3 ~ [d3,a3,d4,f#4]@3 ~ [d3,a3,d4,f#4]@3 ~", // D
  AL: "[c3,g3,c4,e4]@3 ~ [c3,g3,c4,e4]@3 ~ [c3,g3,c4,e4]@3 ~ [c3,g3,c4,e4]@3 ~", // C
  AM: "[b2,b3,d#4,f#4]@3 ~ [b2,b3,d#4,f#4]@3 ~ [b2,b3,d#4,f#4]@3 ~ [b2,b3,d#4,f#4]@3 ~", // B
})).s("gm_piano").gain(0.31)

// other · violin
const violin = note(`<
  ~ A B C D E F ~@12 G H I ~@11 J@4 K L M H N ~ O@2 P Q R@2 S T ~@10 U@3 V W@2 G X Y Z AA AB AC AD AE AF AG AH AI AC AD
  AE AF AJ AK AL
>`.pickRestart({
  A: "d#5@2 c#5 f#5", B: "b4@2 a4 d5", C: "b4@13 c#5@3", D: "d5", E: "a4@13 b4@3", F: "c5@3 ~", G: "~@4 g5@4 c5@5 ~@3",
  H: "~@4 a5@3 ~ d5@5 ~@3", I: "~@4 b5@3 e5@5 ~@4",
  J: "[a4@4 e4@2 f#4@2 a4@2 c5@4 a4@6 e4@2 f#4@2 a4@2 c5@4 a4@6 e4@2 f#4@2 a4@2 c5@4 ~@2 d5 c5 d5 c5 d5@2 c5@2 d5 c5 d5 c5 d5@2 c5@2, ~@23 a4@3 ~@6]/4",
  K: "[b4,d#5] [a4,c#5] [b4,d#5] [a4,c#5] [b4,d#5]@2 [a4,c#5] [b4,d#5]@2 [a4,c#5] [b4,d#5] [a4,c#5] [b4,d#5] [a4,c#5]@2 a4", // B A B A B A B A …
  L: "f#4 ~@3", M: "~@4 g5@3 ~ c5@5 ~@3", N: "~@4 b5@3 ~ e5@4 ~@4", O: "[d#4@2 c#4 d#4 f#4@2 b4@6 a4@2 d5@2]/2",
  P: "b4", Q: "d#5!4 c#5@2 f#5 d#5", R: "[b4@2 b4@2 b4@2 b4@2 a4@4 d#5@2 b4@6 ~@6 a4 b4 c5@2 d5@2]/2",
  S: "b4 a4 b4 a4 b4@2 f#4 a4 b4 a4 b4@2 f#4 a4 b4 a4", T: "b4 a4 b4 a4 f#4@4 ~@8",
  U: "[a4@2 e4 f#4 a4 c5@2 a4@3 e4 f#4 a4 c5@2 a4@3 e4 f#4 a4 c5@2 a4]/3",
  V: "~@2 d5 c5 d5 c5 d5@2 c5@2 d5 c5 d5 c5 d5@2, a4@5 ~@3",
  W: "[c5@2 [b4,d#5] [a4,c#5] [b4,d#5] [a4,c#5] [b4,d#5]@2 [a4,c#5] [b4,d#5]@2 [a4,c#5] [b4,d#5] [a4,c#5] [b4,d#5] [a4,c#5]@2 a4 f#4@4 ~@10]/2", // B A B A B A B A …
  X: "~@4 a5@4 d5@5 ~@3", Y: "~ b5 e5 ~", Z: "b4@15 ~", AA: "~ g4@12 ~@3", AB: "d5@3 ~",
  AC: "a3@2 a4 ~ a3@2 a4 ~ a3@2 a4 ~ a3@2 a4 ~, a4 ~@3 a4 ~@3 a4 ~@3 a4 ~@3",
  AD: "b3@2 b4 ~ b3@2 b4 ~ b3@2 b4 ~ b3@2 b4 ~, b4 ~@3 b4 ~@3 b4 ~@3 b4 ~@3",
  AE: "c4@2 c5 ~ c4@2 c5 ~ c4@2 c5 ~ c4@2 c5 ~, c5 ~@3 c5 ~@3 c5 ~@3 c5 ~@3",
  AF: "d4@2 d5 ~ d4@2 d5 ~ d4@2 d5 ~ d4@2 d5 ~, d5 ~@3 d5 ~@3 d5 ~@3 d5 ~@3",
  AG: "[e5,e6] e6 [e5,e6] e6 [e5,e6] e6 [e5,e6] e6 [e5,e6] e6 [e5,e6] e6 [e5,e6] e6 [e5,e6] e6", // E
  AH: "[f#5,f#6] f#6 [f#5,f#6] f#6 [f#5,f#6] f#6 [f#5,f#6] f#6 [f#5,f#6] f#6 [f#5,f#6] f#6 [f#5,f#6]!2 f#6!2", // F#
  AI: "[g5,g6] g6 [g5,g6] g6 [g5,g6] g6 [g5,g6] g6 [g5,g6] g6 [g5,g6] g6 [g5,g6] g6 [g5,g6] g6", // G
  AJ: "e5 ~ e5 ~ e5 ~ e5 ~ e5 ~ e5 ~ e5 ~ e5 ~", AK: "f#5 ~ f#5 ~ f#5 ~ f#5 ~ f#5 ~ f#5 ~ f#5 ~ f#5 ~",
  AL: "g5 ~ g5 ~ g5 ~ g5 ~ g5 ~ g5 ~ g5 ~ g5 ~",
})).s("gm_violin").gain(0.19).pan(0.1)

// other · cello
const cello = note(`<
  ~ A B C D E F G H I J K I L M N O P@2 Q R S G H I J T I U V W X Y Z M N O AA@2 AB AC S ~ AD AE AF AG B AH AI@2 AJ AK
  AL AK G H I J K I AM M N O AN@2 AO AC S AP AQ AR AS AT AU AV AW AX AY AS AT AU AV AW AX AY
>`.pickRestart({
  A: "d#3@2 c#3 f#3", B: "g2 f2", C: "e2 ~ e2 ~ e2 ~ e2 ~", D: "e2 ~ g2 ~ b2 ~ e2 ~ g2 ~ b2 ~ g2 ~ b2 ~", E: "d2",
  F: "d2 f#2 a2 c3", G: "a2!2 g2!2", H: "c3!2 d3 e3", I: "a2@4 e3 d#3 e3 d#3", J: "c3@2 c3!2",
  K: "d3@4 ~ b2 a2!2 a2@4 d3@4, ~@2 d3 ~@5", L: "e3@2 d#3@2 e3@2 d#3@2 ~ g3 a3 ~ a3@4, ~@8 e3@2 ~ c4@2 ~@3",
  M: "[d3,f#3]@2 [f3,a3] [g3,b3]", N: "~ g3 d4 ~ a3@4 g3@8, e3@2 ~ c4@2 ~@11", O: "f3!8",
  P: "[~ a3 b3 ~ b3@2 ~@3 a3 b3@2 ~ a3 b3 ~@2 a3 b3 ~ f#3@8 ~@4, f#3@2 ~ a3@2 ~ f#3@2 b3@2 ~@5 a3@2 ~@2 a3@2 ~@11, ~@7 a3@2 ~@3 f#3@2 ~@2 b3@2 ~@14]/2",
  Q: "g3@7 ~ c3@8", R: "a3@3 ~ d3@4", S: "b3@3 ~ e3@3 e3", T: "a3 g#3 ~ g3 f#3 f3 ~ e3 d#3 d3 ~ c#3 c3 b2 ~ a#2",
  U: "d3!4 g3 f#3 g3 f#3", V: "g3@2 f#3@2 g3@2 f#3@2 g3@2 f#3@2 ~ f#3 d3@2, ~@6 g3 ~", W: "a2!2 g2@6", X: "e2",
  Y: "d2@2 f#2 a2", Z: "e3@2 d#3@2 e3@2 d#3@2 ~ g3 a3 ~ a3@4, b2@5 ~@3 e3@2 ~ c4@2 ~@3",
  AA: "[~ a3 b3 ~ b3@2 ~@3 a3 b3@2 ~ a3 b3 ~@2 a3 ~@2 f#3@8 ~@4, f#3@2 ~ a3@2 ~ f#3@2 b3@2 ~@5 a3@2 ~@2 a3@2 ~@11, ~@7 a3@2 ~@3 f#3@2 ~@2 b3@2 b3@2 ~@12]/2",
  AB: "g3@3 ~ c3@4", AC: "a3@7 ~ d3@8", AD: "b2 a2", AE: "g2@8 ~ f2@7", AF: "~ e2@15", AG: "~ b2@7 a2@8", AH: "e2 f2",
  AI: "b2!8", AJ: "c3!8", AK: "d3!8", AL: "e3!8",
  AM: "e3@2 d#3@2 e3@2 d#3@2 ~ g3 ~@2 a3@4, ~@4 e3 a3 ~@2, ~@11 c4@2 ~@3",
  AN: "[~ a3 ~@2 b3@2 ~@3 a3 b3@2 ~ a3 b3 ~@2 a3 b3 ~ f#3@8 ~@4, f#3@2 b3@2 ~@3 a3@2 ~@3 f#3@2 ~@2 b3@2 ~@14, ~@3 a3@2 ~ f#3@2 b3@2 ~@5 a3@2 ~@2 a3@2 ~@11]/2",
  AO: "g3 c3", AP: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~", AQ: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~",
  AR: "b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~", AS: "a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~",
  AT: "g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~", AU: "f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~",
  AV: "e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~", AW: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
  AX: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~", AY: "b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~",
})).s("gm_cello").gain(0.56).pan(1)

// bass · synth bass 1 · "Frtls Bass"
const bass = note(`<
  ~@4 A B C D E F G H I J K L M N O P Q R D E F G H S T U V W X J K L M N O P Q R ~@4 Y Z AA AB AC AD AE AF AG D E F G H
  AH J K L M N O P Q R AI AJ AK AL AM AN AO AP AQ AR AL AS AN AO AP AQ AR
>`.pickRestart({
  A: "~@12 e2 g2 a2@2", B: "d2!2 d2@2 d2!2 d2@2", C: "d2!6 e2 g2", D: "a2!2 g2!2", E: "c2@2 c2@2 d2!2 e2 g2",
  F: "a2@2 a2@2 g2!2 g2@2", G: "c2!2 c2@2 c2!4", H: "d2!2 d2@2 d2!4", I: "a2", J: "a2!4 g2!2 g2@2",
  K: "f#2!2 f#2@2 f2!2 g2@2", L: "a2!2 a2@2 g2!2 g2@2", M: "f2!8", N: "b1!5 f#1 a1 b1", O: "b1!5 f#1 b1 c2",
  P: "c2!3 g1 c2 g1 c2 g1", Q: "d2!4 c2 b1 a1 d2", R: "e2!2 b1!2 e2!2 b1 e2", S: "a2@2 a2!3 g2 e2 c2", T: "d2@2 d2!6",
  U: "d2@2 d2@2 d2 a1 d2 a1 d2@2 d2@2 d2@2 d2@2", V: "a1@2 a1@2 a1@2 a1 g1 a1@2 a1@2 a1@2 g#1@2",
  W: "e1@2 e1@2 e1@2 e1@2 e1@2 e1@2 e2 d#2 d2@2", X: "d2@2 d2@2 d2@2 d2@2 c2 b1 a1@2 f#2@2 d2@2",
  Y: "b2@3 ~ b2@3 ~ a2@3 ~ a2@3 ~", Z: "g2@3 ~ g2@3 ~ f2@3 ~ f2@3 ~", AA: "e2@3 ~ e2@2 ~@2 f2@3 ~ f2@2 ~@2",
  AB: "b2 ~ b2 ~ f#2 ~ a2 ~ b2 ~ b2 ~ f#2 ~ a2 ~", AC: "b2 ~ b2 ~ f#2 ~ f#2 ~ b2 ~ f#2 ~ a2 ~ b2 ~",
  AD: "c3 ~ c3 ~ c3 ~ g2 ~ c3 ~ g2 ~ c3 ~ g2 ~", AE: "d3 ~ d3 ~ d3 ~ d3 ~ c3 ~ b2 ~ a2 ~ d3 ~",
  AF: "e3 ~ e3 ~ e3 ~ b2 ~ e3 ~ e3 ~ b2 ~ e3 ~", AG: "d3 ~ d3 ~ a2 ~ a2 ~ d3 ~ d3 ~ a2 ~ d3 ~", AH: "a2@2 a2!6",
  AI: "d2 ~ d2 ~ d2@2 a1@2 d2 ~ d2@2 a1 ~ d2 ~", AJ: "c2@2 g1 ~ c2@2 g1@2 c2 ~ g1@2 c2@2 g1@2",
  AK: "b1@2 f#1@2 b1@2 f#1@2 b1 ~ b1 ~ b1 ~ b1 ~", AL: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ e2 ~ a2 ~",
  AM: "g2 ~ g2 ~ d2 ~ d2 ~ g2 ~ g2@2 d2 ~ g2 ~", AN: "f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~",
  AO: "e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~", AP: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
  AQ: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~", AR: "b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~",
  AS: "g2 ~ g2 ~ d2 ~ d2 ~ g2 ~ g2 ~ d2 ~ g2 ~",
})).s("gm_synth_bass_1").gain(0.36)

// other · synth strings 2 · "Choir Ahs"
const synth_strings_2 = note("<~@19 [~@8 g5@7 ~] [~@4 a5@3 ~] ~@66>").s("gm_synth_strings_2").gain(0.35).pan(0.4)

// chords · synth brass 2 · "Syn Bras 2" · A E D
const synth_brass_2 = note("<~@30 [[a4,c#5,e5]!4] [[g#4,b4,e5]] [[a4,d5,f#5]@15 g5] ~@54>")
  .s("gm_synth_brass_2").gain(0.31)

// other · tubular bells · "Tub Bell"
const tubular_bells = note("<~@42 [b6!16] [b6 ~@15] ~@43>").s("gm_tubular_bells").gain(0.41)

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

// drums · snare
const snare = s("sd").struct("<~@27 A B C B@3 ~@13 B@9 ~@15 B@2 D ~ B E F G B@2 ~ B E F H ~@2>".pickRestart({
  A: "~@12 x!3 ~", B: "~ x ~ x", C: "~ x ~@2", D: "~@4 x ~@3 x!6 ~@2", E: "~@2 x ~@2 x!2 ~", F: "~@4 x ~@2 x!4 ~ x!3 ~",
  G: "x ~ x!5 ~ x!3 ~ x ~ x ~", H: "x ~ x!5 ~ x!3 ~ x ~@3",
})).gain(0.19)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@84 [~@7 x] [~ x ~ x]!2>").gain(0.1)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@4 A B@5 C@2 D B@3 C@2 B@3 E B@3 C@2 ~@2 F ~@3 B@3 C@2 B@3 E ~@13 B@3 C@2 D B@3 C@2 B@3 E ~@2 G H ~@6 H ~@6
>`.pickRestart({
  A: "~@7 x!4 ~ x!3 ~", B: "~ x ~ x", C: "x!4", D: "~@12 x!3 ~", E: "x!4 ~@2 x!2", F: "~@8 x!7 ~", G: "~@7 x",
  H: "~@6 x!5 ~ x!2 ~@2",
})).gain(0.22)

// drums · hihat
const hihat = s("hh").struct("<[x!8]!5 ~@82>").gain(0.19)

// drums · mid tom
const mid_tom = s("mt").struct("<~@21 A ~@19 A ~@27 A ~@3 B ~@6 B ~@6>".pickRestart({
  A: "~@4 x!2 ~@2", B: "~@11 x ~@4",
})).gain(0.25)

// drums · crash
const crash = s("cr").struct("<~@12 A ~@14 A ~@2 A ~@20 A ~@2 A ~@5 A ~@9 A ~@2 A@2 ~@3 A ~ A@2 ~@3 A ~>".pickRestart({
  A: "x",
})).gain(0.25)

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

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@72 [~@5 x!3] [~@3 x ~ x ~ x] [~ x ~ x ~@2 x!2] [~@5 x!2 ~] ~@11>").gain(1.13)

// drums · shaker
const shaker = s("sh").struct(`<
  ~@72
  [~@11 x ~ x ~ x]
  [~@7 x ~@3 x ~@3 x]
  [~@3 x ~@3 x ~@5 x ~ x]
  [~@11 x ~ x ~@2]
  ~@11
>`).gain(0.22)

stack(
  french_horn, piano, violin, cello, bass, synth_strings_2, synth_brass_2, tubular_bells, kick, snare, snare_soft,
  low_tom, hihat, mid_tom, crash, ride, cabasa, shaker
)

More by The Beatles