Strudelify

Mrs Robinson

The Lemonheads

KeyF♯ minorTempo188 bpm
0:00/0:00
// Mrs Robinson — The Lemonheads
// 188 bpm, 4/4, key F# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 166 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(188/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@2 B@2 C@2 D@2 A@2 B@2 E F@4 G H I J K L M N O P Q P R S T U V P Q P R S W X Y C@2 D@2 A@2 B@2 E F@4 G H I J K L M N
  O P Q P R S T U V P Q P R S W X Y C@2 D@2 A@2 B@2 E F@4 G H I J K L M N O P Q P R S T U V P Q P R S W X Y C@2 D@2 A@2
  B@2 E F@4 G H I J K L M N O P Q P R S T U V P Q P R S W X Y A@2 B@2 Z@4 AA@2
>`.pickRestart({
  A: "[f#2@5 ~@3 f#2@2 e2@2 ~@2 f#2@6 ~@4 c#2@3 ~ d#2@2 ~@2]/2",
  B: "[f#2@5 ~@3 f#2@2 e2@2 ~@2 f#2@7 ~@3 c#2@2 ~@2 d#2@2 ~@2]/2",
  C: "[f#2@6 ~@2 f#2@2 e2@3 ~ f#2@7 ~@3 c#2@2 ~@2 d#2@2 ~@2]/2",
  D: "[f#2@5 ~@3 f#2@2 e2@3 ~ f#2@7 ~@3 c#2@2 ~@2 d#2@2 ~@2]/2", E: "f#2@6 f#2 ~ b1@2 c#2@4 ~@2",
  F: "b1@7 ~ f#1@5 ~ f#1@2", G: "e1@8 f#1@3 ~ g#1@3 ~", H: "a1@7 ~ b1@3 ~ c#2@3 ~", I: "d2@7 ~ c#2 ~ c#2@5 ~",
  J: "b1@4 ~@2 b1 ~ f#1@4 ~@2 f#1 ~", K: "b1@5 ~ b1 ~ b1@2 a1@2 f#1@2 e1@2", L: "f#1@5 ~ f#1@2 c#2@5 ~ c#2 ~",
  M: "f#1@5 ~ f#1 ~ c#2@4 f#1@3 ~", N: "e1@4 ~@2 e1 ~ e1@5 ~ e2@2", O: "e1@4 ~@2 e1@2 f#1@3 ~ g#1@2 ~@2",
  P: "a1@5 ~ a1@2 e1@5 ~ e1@2", Q: "f#1@5 ~ c#1@2 c#2@2 a1@2 b1@3 ~", R: "f#1@5 ~ c#1@2 c#2@2 a1@2 b1@2 c#2@2",
  S: "d2@5 ~ d2@2 c#2@5 ~ c#2@2", T: "b1@4 ~@2 b1@2 a1@2 c#2@2 d2 ~ d#2@2", U: "e2@4 ~@2 e2@2 d2@5 ~ d2@2",
  V: "c#2@4 ~@2 c#2@2 b1@4 ~@2 b1 ~", W: "b1@4 ~@2 b1@2 a1@2 g#1@2 a1 ~ a#1@2", X: "b1@5 ~ b1@2 f#1@5 ~ f#1@2",
  Y: "b1@5 ~ b1 ~ f#1@4 b1@3 ~", Z: "[f#1@14 f#2@7 ~@3 c#2@2 ~@2 d#2@2 ~@2]/2", AA: "f#1/2",
})).s("gm_fretless_bass").gain(0.64)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A@12 B C D@3 E F G H@2 I@2 J@2 K L M N O P Q@2 K L M N O R S@2 T@8 U C D@3 E F G H@2 I@2 J@2 K L M N O P Q@2 K L M N O
  R S@2 T@8 U C D@3 E F G H@2 I@2 J@2 K L M N O P Q@2 K L M N O R S@2 T@8 U C D@3 E F G H@2 I@2 J@2 K L M N O P Q@2 K L
  M N O R S@2 A@6 V@2 W@2
>`.pickRestart({
  A: "[[f#3,a#3,c#4]@2 [c#4,f#4] f#4!4 f#4@2 [a#3,c#4,f#4] f#4 ~ a#3@2 [c#4,f#4] f#4, f#2@5 f#2@3, c#3@6 ~@5 f#4@3 ~@2, ~ f#3@2 f#3@2 [f#3,a#3] f#3@2, ~@2 a#3@2 a#3@2 a#3@3 ~ c#4@4 a#3@2]/2", // F# F#5 F# F#5 F#
  B: "[f#3,a#3,c#4]@2 [c#4,f#4] f#4!3 [f#3,a#3,f#4] f#4, f#2@15 ~, c#3@3 ~, ~ f#3@2 ~, ~ a#3!2 ~", // F# F#5 F#
  C: "f#4!4 [b3,d#4,f#4]@2 [d#4,f#4] f#4, b2, [f#3,b3,d#4]!2 f#3@2, ~@3 b3", // B D#m B
  D: "[[f#3,b3,d#4]@4 [d#4,f#4]@2 f#4@2 f#4@2 f#4@2 f#4@2 f#4@4 [a3,d#4,f#4]@2 f#4@2 f#4@2 [a3,d#4,f#4]@4 [d#4,f#4]@2 f#4@4 [a3,d#4,f#4]@2 f#4@2 f#4@2 [a3,d#4,f#4]@4 ~ f#4!2 ~, b2@10 b2@7 b2@7, ~ f#3@2 f#3@2 [f#3,a3,d#4] f#3@3 [f#3,a3,d#4] f#3@2, ~@2 b3@2 b3@2 ~@8 a3@3 ~@5 [a3,d#4]@2]/3", // B D#m D#dim D#m D#dim Adim
  E: "~ e4!3 [g#3,b3,e4]@2 e4!2, b2, [e3,g#3,b3]!2 e3@2, ~@3 [g#3,b3]", // E G#m
  F: "e4!4 [a3,c#4]@2 [c#4,e4]!2, a2, [e3,a3,c#4]!2 e3@2, ~@4 e4 ~ a3@2", // A C#m A
  G: "a4!4 [e3,d4]@2 [e3,a4]!2, d3 [c#3,a3], [f#3,a3,d4]@2 [f#3,a3,d4]@2 a4 ~ d4@2", // E7 A5 F#m D
  H: "[~ f#4!3 [b3,d4,f#4]@2 [d4,f#4] ~@2 f#4!3 [b3,d4,f#4]@2 [d4,f#4] f#4, b2 b2, [f#3,b3,d4]!2 f#3@2 [f#3,b3] [f#3,b3,d4] f#3@2, ~@3 b3 ~@3 b3, ~@7 f#4@2 ~@7]/2", // Bm D Bm D Bm B5 Bm
  I: "[[f#3,a#3,c#4,f#4]@2 [c#4,f#4]!2 f#4!3 [c#4,f#4]@2 [a#3,c#4,f#4] f#4 ~ a#3@2 [c#4,f#4]!2, f#2@5 f#2@3, c#3@4 a#3@2 f#3@4 [f#3,a#3] f#4@3 ~@2, ~ f#3@2 c#3@3 [c#3,f#3]@2, ~@2 a#3@2 c#4@2 a#3@3 ~ c#4@4 a#3@2]/2", // F# F#5 F# F#5 F# F#5
  J: "[[e3,g#3,b3,e4]@2 [b3,e4]!2 e4!3 [b3,e4]@2 [g#3,b3,e4] e4 ~ g#3@2 [b3,e4]!2, e2@5 e2@3, b2@4 g#3@2 e3@4 [e3,g#3] e4@3 ~@2, ~ e3@2 b2@3 [b2,e3]@2, ~@2 g#3@2 b3@2 g#3@3 ~ b3@4 g#3@2]/2", // E E5 E E5 E E5
  K: "[e3,a3,c#4]@2 [c#4,e4] c#4 ~ e4 [c#4,e4]!2, a2, ~ e3@3, ~ a3 [a3,c#4] a3, ~@3 e4@2 ~@3", // A C#m A
  L: "[f#3,a3,c#4]@2 [c#4,f#4]!2 f#4!2 [c#4,f#4]!2, f#2, ~ [f#3,a3]@2 [f#3,a3], ~@2 c#4 ~", // F#m F#5 F#m
  M: "[e3,a3,c#4]@2 [c#4,e4] c#4 ~ e4!2 [c#4,e4], a2, ~ e3@3, ~@2 a3@2 c#4@3 ~, ~@3 e4 a3@2 a3@2", // A C#m
  N: "[f#3,a3,c#4]@2 [c#4,f#4]!2 f#4!3 [c#4,f#4], f#2, ~ [f#3,a3]@2 [f#3,a3], ~@4 c#4@3 ~", // F#m F#5 F#m
  O: "[a3,d4,f#4]@2 f#4!6, d3 c#3, ~ a3@2 [a3,d4], ~ d4!2 ~", // D D5
  P: "[a3,d4,f#4]@2 f#4!2 [d4,f#4]@2 f#4!2, b2, ~ a3@3, ~ d4 ~ d4", // D
  Q: "[[e3,g#3,b3,e4]@2 [b3,e4]!2 e4!3 [b3,e4]@2 [g#3,b3,e4] e4 ~ g#3@2 [b3,e4] ~, b2@3 b2@3 [b2,e3]@2, ~ e3@2 e3@2 [e3,g#3] ~@2, ~@2 g#3@2 b3@3 ~@3 b3@4 g#3@2, ~@4 g#3@2 g#3@3 ~@2 e4@3 ~@2]/2", // E E5 E E5 E
  R: "[a3,d4,f#4]@2 f#4!2 [d4,f#4]@2 f#4!2, d3, ~ a3@3, ~ d4 ~ d4", // D
  S: "[[f#3,b3,d4,f#4]@2 [d4,f#4]!2 f#4!3 [d4,f#4]@2 [b3,d4,f#4] f#4 ~ b3@2 [d4,f#4] ~, b2@3 b2@3 [b2,f#3]@2, ~ f#3@2 f#3@2 [f#3,b3] ~@2, ~@2 b3@2 d4@3 ~@3 d4@4 b3@2, ~@4 b3@2 b3@3 ~@2 f#4@3 ~@2]/2", // Bm D Bm D B5
  T: "[[f#3,a#3,c#4]@2 [c#4,f#4] f#4 ~ f#4!2 f#4@2 [a#3,c#4,f#4] f#4 ~ a#3@2 [c#4,f#4] f#4, f#2@5 f#2@3, ~ f#3@2 f#3@2 [f#3,a#3] f#3@2, ~@2 a#3@2 a#3@2 a#3@3 ~ c#4@4 a#3@2, ~@11 f#4@3 ~@2]/2", // F# F#5 F# F#5 F#
  U: "[f#3,a#3,c#4]@2 [c#4,f#4] f#4 ~ f#4 [f#3,a#3,f#4] f#4, f#2@15 ~, ~ f#3@2 ~, ~ a#3!2 ~", // F# F#5 F#
  V: "[[f#3,a#3,c#4]@2 [c#4,f#4] f#4!4 f#4@2 [a#3,c#4,f#4] f#4 ~ a#3@2 [c#4,f#4] f#4, f#2@10 f#2@5 ~, c#3@6 ~@5 f#4@3 ~@2, ~ f#3@2 f#3@2 [f#3,a#3] f#3@2, ~@2 a#3@2 a#3@2 a#3@3 ~ c#4@4 a#3@2]/2", // F# F#5 F# F#5 F#
  W: "[[f#2,c#3,f#3]@3 ~@29, [c#4,f#4]@15 ~, a#3@7 ~]/2", // F#5
})).s("gm_acoustic_guitar_steel").gain(0.14).pan(0)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
  A@12 B C D@3 ~@3 E@2 ~@20 F@8 G C D@3 ~@3 E@2 ~@20 F@8 G C D@3 ~@3 E@2 ~@20 F@8 G C D@3 ~@3 E@2 ~@20 A@6 H@2 ~@2
>`.pickRestart({
  A: "[f#4@2 ~ c#4 ~@3 c#4@2 ~@6 c#4, ~@4 c#4@3 ~@9, ~@3 c#3@3 c#3@2]/2",
  B: "f#4@2 ~ c#4 ~@3 c#4, ~@4 c#4@3 ~, ~@3 c#3", C: "~@7 d#4",
  D: "[f#4@2 ~ d#4 ~@3 d#4@2 ~@6 d#4@2 ~@7, ~@4 d#4@3 ~@17, ~@2 a3 ~@5]/3", E: "[f#4 ~@6 d4@3 ~@5 d4]/2",
  F: "[f#4@2 ~ c#4 f#4 ~@2 c#4@2 ~@6 c#4, c#3@3 c#3@3 c#3@2, ~@4 c#4@3 ~@9]/2",
  G: "f#4@2 ~ c#4 f#4 ~@2 c#4, c#3@3 c#3, ~@4 c#4@3 ~",
  H: "[f#4@2 ~ c#4 ~@3 c#4@2 ~@3 c#3@3 c#4, ~@4 c#4@3 ~@9, ~@3 c#3@3 ~@2]/2",
})).s("gm_acoustic_guitar_steel").gain(0.08).pan(0)

// chords · piano
const piano = note(`<
  ~@8 A@4 ~ B@3 ~ C D E@2 ~@4 F G H I J@2 K@2 F G L M N@2 O@2 P@2 ~@2 Q R S T@2 U V W@3 X Y Z@2 ~ AA AB AC F G AD M N@2
  K@2 F G AD M N@2 O@2 P@2 ~@3 AE AF AG@2 ~ AH AI AJ@2 X Y Z@2 ~ AA AB AC AK AL AD AM AN@2 AO@2 AK AL AD AM AN@2 AP@2
  ~@5 AE AF AG@2 ~ AH AI AJ@2 X Y Z@2 ~ AA AB AC F G L M N@2 K@2 F G L M N@2 O@2 P@2 ~@9
>`.pickRestart({
  A: "[[e5,g#5]@4 ~@2 [e5,g#5] ~ [d#5,e5,f#5] ~ [d#5,f#5]@3 ~ [c#5,e5]@5 ~@3 [c#5,e5] ~ [b4,d#5] ~ [b4,d#5]@3 ~ [a#4,c#5]@5 ~@3 [a#4,c#5] ~ [g#4,b4] ~ [g#4,b4]@3 ~ [f#4,a#4]@6 ~@12]/4", // E D#m C#m B A#m G#m F#
  B: "[[d#5,f#5]@3 ~@3 [d#5,f#5] ~ [c#5,e5] ~ [c#5,e5]@3 ~ [b4,d#5]@4 ~@6 [b4,d#5] ~ [b4,d#5]@3 ~ [a4,c#5]@6 ~@12]/3", // D#m C#m B A
  C: "~@4 [e5,g#5] ~ [e5,g#5]@2 f#5 ~ [d5,f#5]@2 ~@2 e5@2, ~@14 c#5 ~", // E D
  D: "~@2 [c#5,e5]@4 ~@2 b4@2 ~@2 c#5 ~@3, ~@8 d5 ~@7", // C#m
  E: "[[d5,f#5] ~ [d5,f#5]@3 ~ [c#5,e5]@2 ~@2 [c#5,e5]@3 ~ d5@9 ~@9]/2", F: "~@4 [g#4,b4]@3 ~ [a4,c#5]@3 ~ [b4,d5]@3 ~",
  G: "[c#5,e5]@6 ~@2 c#5@2 [d5,f#5]@3 ~ [c#5,f#5]@2, ~@8 e5 ~@7", H: "~@2 [b4,c#5]@3 ~ [a4,c#5]@4 ~@6",
  I: "[e5,a5]@5 ~ [c#5,e5] ~ [c#5,e5] ~ [d5,f#5]@2 ~@2 c#5@2", // A5 C#m D
  J: "[~@2 [b4,d5]@3 ~ [a4,c#5]@3 ~ [b4,d5]@3 ~ a4@15 ~@3, ~@7 d5@6 ~@3]/2", // Bm A Bm
  K: "[~@8 d5@2 [c#5,e5]@3 ~ b4@11 ~@7, ~@8 f#5 ~@5 e5@9 ~@9]/2", L: "~@2 [b4,c#5]@3 ~ a4@4 ~@6",
  M: "[e5,a5]@5 ~ c#5 ~ [c#5,e5] ~ [d5,f#5]@2 ~@2 c#5@2", // A5 C#m D
  N: "[~@2 b4@3 ~ a4@3 ~ [b4,d5]@3 ~ a4@15 ~@3, ~@7 d5@6 ~@3]/2", // Bm
  O: "[~@6 [d5,f#5]@2 ~@2 [c#5,e5]@3 ~ b4@11 ~@7, ~@14 d5@9 ~@9]/2", P: "[~@6 b4@3 ~ b4@3 ~ [a#4,c#5]@6 ~@12]/2",
  Q: "~@6 g#5 ~, ~@12 e5 ~@3", R: "[e5,g#5]@2 ~@2 [e5,g#5]@2 [d#5,f#5]@2 ~@2 [d#5,f#5]@3 ~ [c#5,e5]@2",
  S: "~@2 c#5 ~@3 [c#5,e5]@2 [b4,d#5]@2 ~@2 [b4,d#5]@2 ~@2", // C#m B
  T: "[[a#4,c#5]@2 ~@2 [b4,d#5]@2 [a#4,c#5]@2 ~@2 b4@2 ~@2 [f#4,a#4]@17 ~, ~@10 g#4 ~@21]/2", // A#m B A#m F#
  U: "~@6 f#5 ~, ~@12 d#5 ~@3", V: "[d#5,f#5]@2 ~@2 [d#5,f#5]@2 [c#5,e5]@2 ~@2 [c#5,e5]@3 ~ [b4,d#5]@2",
  W: "[~@2 [b4,d#5]@4 ~@2 [b4,d#5]@7 [a4,c#5]@23 ~@10]/3", X: "~@4 e5 ~ e5@2 d5@3 ~ d5@2 c#5@2",
  Y: "~@2 c#5@5 ~ b4@3 ~ a4@2 ~@2", Z: "[d5@2 ~@2 d5@2 c#5@3 ~ a4 ~ b4@17 ~@3]/2", AA: "~@4 c#5@7 ~ b4@2 a#4@2",
  AB: "~@4 f#4@3 ~ g#4@3 ~ a#4@2 ~@2", AC: "b4@3 ~ a#4@2 g#4@2 ~@2 f#4 ~ g#4@3 ~", AD: "~ b4 ~ a4@2 ~@3",
  AE: "~@4 [e5,g#5] ~ g#5@2 [d#5,f#5]@2 ~@2 [d#5,f#5]@2 [c#5,e5]@2, ~@6 e5 ~@9", // E D#m C#m
  AF: "~ [c#5,e5] ~ [c#5,e5] [b4,d#5] ~ [b4,d#5] ~", // C#m B
  AG: "[[a#4,c#5] ~ [b4,d#5] [a#4,c#5] ~ [g#4,b4] ~ a#4@7 ~@2, ~@7 f#4@6 ~@3]/2", // A#m B A#m G#m
  AH: "~@4 b3 ~ b3@2 d#4@2 f#4@3 ~ b4@2", AI: "~@2 d#4@2 ~@2 d#4@3 ~ f#4@3 ~@3", AJ: "[b4@2 ~ a4@7 ~@6]/2",
  AK: "~@4 [g#4,b4]@3 ~ a4@3 ~ [b4,d5]@3 ~", AL: "[c#5,e5]@3 ~ c#5 d5 ~ c#5",
  AM: "[e5,a5]@5 ~ c#5 ~ c#5 ~ d5@2 ~@2 c#5@2", AN: "[~@2 b4@3 ~ a4@3 ~ b4@2 ~@2 a4@15 ~@3]/2",
  AO: "[~@8 d5@2 c#5@2 ~@2 b4@11 ~@7]/2", AP: "[~@6 d5@2 ~@2 c#5@2 ~@2 b4@11 ~@7]/2",
})).s("gm_piano").gain(0.36)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@17 A B C@2 ~@7 D ~@6 E F G ~@3 H ~@5 I ~@17 J F G ~@5 J F G ~@3 H ~@21 K L J M N@2 O@2 K L J M N@2 P@2 ~@24 E F G
  ~@5 E F G ~@3 H ~@10
>`.pickRestart({
  A: "~@8 d5 ~@7", B: "~@12 a4 ~@3", C: "[~@14 b4@9 ~@9]/2", D: "~@7 f#5", E: "~@6 c#5@3 ~@7", F: "~@6 e5 ~@7 f#5@2",
  G: "~@2 d5@3 ~ c#5@3 ~@7", H: "~@6 e5@3 ~ d5@3 ~@3", I: "~ e5 ~@6", J: "~@2 c#5@3 ~ c#5@3 ~@7", K: "~@8 c#5@3 ~@5",
  L: "~@8 e5 ~ f#5@3 ~ f#5@2", M: "~@6 e5 ~ e5 ~ f#5@2 ~@2 f#5@2", N: "[~@2 d5@3 ~ c#5@3 ~ d5@3 ~ d5@12 ~@6]/2",
  O: "[~@8 f#5 ~ e5@3 ~ e5@9 ~@9]/2", P: "[~@6 f#5@2 ~@2 e5@3 ~ d5@9 ~@9]/2",
})).s("gm_piano").gain(0.18)

// drums · tambourine
const tambourine = s("tb").struct("<~@26 A@16 ~@22 A@16 ~@22 A@16 ~@22 A@16 ~@10>".pickRestart({
  A: "~ x ~ x",
})).gain(0.64)

// drums · bongos
const bongos = s("bongo:18").struct(`<
  ~@2 A ~@3 A ~@3 A ~@4 A ~@4 A ~@4 A ~@2 A ~@3 A ~@3 A ~@4 A ~@2 A ~@3 A ~@4 A ~@4 A ~@4 A ~@2 A ~@3 A ~@3 A ~@4 A ~@2
  A ~@3 A ~@4 A ~@4 A ~@4 A ~@2 A ~@3 A ~@3 A ~@4 A ~@2 A ~@3 A ~@4 A ~@4 A ~@4 A ~@2 A ~@3 A ~@3 A ~@4 A ~@2 A ~@3 A
  ~@3
>`.pickRestart({
  A: "~@3 x ~@4",
})).gain(0.84)

// drums · congas
const congas = s("conga:13").struct(`<
  A B A B A B A B A B A B A@2 B A B A@2 B A B A@2 B A@2 B A B A B A B A B A B A@2 B A@2 B A B A B A B A@2 B A B A@2 B A
  B A@2 B A@2 B A B A B A B A B A B A@2 B A@2 B A B A B A B A@2 B A B A@2 B A B A@2 B A@2 B A B A B A B A B A B A@2 B
  A@2 B A B A B A B A@2 B A B A@2 B A B A@2 B A@2 B A B A B A B A B A B A@2 B A@2 B A B A B A B ~@2
>`.pickRestart({
  A: "~ x ~@2", B: "~ x",
})).gain(1.79)

// drums · congas · soft notes
const congas_soft = s("conga:13").struct(`<
  ~@3 A ~@3 A ~@3 A ~@4 A ~@4 A ~@7 A ~@3 A ~@3 A ~@7 A ~@3 A ~@4 A ~@4 A ~@7 A ~@3 A ~@3 A ~@7 A ~@3 A ~@4 A ~@4 A ~@7
  A ~@3 A ~@3 A ~@7 A ~@3 A ~@4 A ~@4 A ~@7 A ~@3 A ~@3 A ~@7 A ~@3 A B ~
>`.pickRestart({
  A: "~@7 x", B: "~ x",
})).gain(0.77)

// drums · congas
const congas_2 = s("conga:18").struct(`<
  A B A C A B A C A B A C A@2 B A C A@2 B A C A@2 B A@2 B A C A B A C A B A C A@2 B A@2 B A C A B A C A@2 B A C A@2 B A
  C A@2 B A@2 B A C A B A C A B A C A@2 B A@2 B A C A B A C A@2 B A C A@2 B A C A@2 B A@2 B A C A B A C A B A C A@2 B
  A@2 B A C A B A C A@2 B A C A@2 B A C A@2 B A@2 B A C A B A C A B A C A@2 B A@2 B A C A B A C D ~
>`.pickRestart({
  A: "~@5 x!2 ~", B: "~@2 x!2 ~@2 x!2", C: "~@2 x!2 ~@2 x ~", D: "x",
})).gain(1.79)

// drums · congas · soft notes
const congas_soft_2 = s("conga:18").struct(`<
  ~@3 A ~@3 A ~@3 A ~@4 A ~@4 A ~@7 A ~@3 A ~@3 A ~@7 A ~@3 A ~@4 A ~@4 A ~@7 A ~@3 A ~@3 A ~@7 A ~@3 A ~@4 A ~@4 A ~@7
  A ~@3 A ~@3 A ~@7 A ~@3 A ~@4 A ~@4 A ~@7 A ~@3 A ~@3 A ~@7 A ~@3 A B ~
>`.pickRestart({
  A: "~@5 x ~@2", B: "~ x!7 ~ x!5 ~@2",
})).gain(0.77)

// drums · congas
const congas_3 = s("conga:33").struct(`<
  A B A B A B A B A B A B A@2 B A B A@2 B A B A@2 B A@2 B A B A B A B A B A B A@2 B A@2 B A B A B A B A@2 B A B A@2 B A
  B A@2 B A@2 B A B A B A B A B A B A@2 B A@2 B A B A B A B A@2 B A B A@2 B A B A@2 B A@2 B A B A B A B A B A B A@2 B
  A@2 B A B A B A B A@2 B A B A@2 B A B A@2 B A@2 B A B A B A B A B A B A@2 B A@2 B A B A B A B ~@2
>`.pickRestart({
  A: "x ~@6 x", B: "~ x ~@6",
})).gain(1.79)

// drums · congas · soft notes
const congas_soft_3 = s("conga:33").struct(`<
  ~@2 A ~@3 A ~@3 A ~@4 A ~@4 A ~@4 A ~@2 A ~@3 A ~@3 A ~@4 A ~@2 A ~@3 A ~@4 A ~@4 A ~@4 A ~@2 A ~@3 A ~@3 A ~@4 A ~@2
  A ~@3 A ~@4 A ~@4 A ~@4 A ~@2 A ~@3 A ~@3 A ~@4 A ~@2 A ~@3 A ~@4 A ~@4 A ~@4 A ~@2 A ~@3 A ~@3 A ~@4 A ~@2 A ~@3 A
  ~@3
>`.pickRestart({
  A: "~ x",
})).gain(0.77)

// drums · shaker
const shaker = s("sh").struct(`<
  A B A B A B A B A B A B A B A B A B A B A B A B A C@17 A B A B A B A B A B A B A B A B A B A B A B C@16 A B A B A B A
  B A B A B A B A B A B A B A B C@16 A B A B A B A B A B A B A B A B A B A B A B C@16 A B A B A B A B D ~
>`.pickRestart({
  A: "x ~ x ~ x!4", B: "x!3 ~ x!3 ~", C: "x!8", D: "x",
})).gain(0.32)

// drums · shaker · soft notes
const shaker_soft = s("sh").struct(`<
  A B A B A B A B A B A B A B A B A B A B A B A B A ~@17 A B A B A B A B A B A B A B A B A B A B A B ~@16 A B A B A B A
  B A B A B A B A B A B A B A B ~@16 A B A B A B A B A B A B A B A B A B A B A B ~@16 A B A B A B A B ~@2
>`.pickRestart({
  A: "~ x ~ x ~@4", B: "~@3 x ~@3 x",
})).gain(0.24)

stack(
  bass, acoustic_guitar_steel, acoustic_guitar_steel_2, piano, piano_soft, tambourine, bongos, congas, congas_soft,
// … 2 more lines

More by The Lemonheads