Strudelify
Overdose (d'amore) cover art

Latin Masters: Con Le Mani

Overdose (d'amore)

Zucchero

KeyC majorTempo90 bpm
0:00/0:00
// Overdose (d'amore) — Zucchero
// 90 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 103 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.

// chords · string ensemble 2
const string_ensemble_2 = note("<~@42 A@5 B@4 ~@16 C@5 D@4 ~@27>".pickRestart({
  A: "[a#3@3 ~@11 f4@2, f4@3 e4 ~, d4@32 c4@31 ~ [a#3,d4]@15 ~, ~@16 a3@32 ~ g4@21 ~@10]/5", // A#
  B: "[g4@7 f4@9 [g3,e4]@24 c2@18 ~@6, c4@5 ~@3, a3@15 ~@49]/4", // C
  C: "[a#3@15 ~@33 e4@16 ~@6 f4@10, f4@47 ~ g4@23 ~@9, d4@32 c4@31 ~@17, ~ a3@2 ~ [a#3,d4]]/5", // A#
  D: "[g4@6 f4@9 ~ [g3,e4]@23 c2@14 ~@11, c4@39 ~@25, a3@13 ~@51]/4", // C
})).s("gm_string_ensemble_2").gain(0.11)

// bass · electric bass finger
const bass = note(`<
  ~@6 A B A C A B A D A B A E F G H I F G H J A B K L A B A E F G H M N G H O P Q R S T U V W@2 X ~ A B A Y A E F G H M
  N G H O P Q R S T U V W@2 X ~ A B A B Z AA F G H M N G H O F G H M N G H O F AB@2
>`.pickRestart({
  A: "c1!2 c1@5 g1 c2 g1 c2@4 g1 f#1", B: "f1!2 f1@4 ~ f1 ~ f1 a1@2 a#1@2 b1@2",
  C: "f1!2 f1@2 f1@3 f1@2 f1 a1@2 a#1@2 b1 ~", D: "f1!3 ~ f1@2 ~ f1 ~ f1 a1@2 a#1@2 b1@2",
  E: "f1!2 f1@2 f1@3 f1@2 f1 a1@2 a#1@2 b1@2", F: "c1 ~ c1 ~ c1@3 c2 ~ c2 c1@2 g1@2 f#1@2",
  G: "f1 ~ f1 ~ f1@2 ~ f1 ~ f1 a1@2 a#1@2 b1@2", H: "c1 ~ c1 ~ c1@3 c2 ~ c2 c1@2 g1@2 f#1 ~",
  I: "f1 ~ f1 ~ f1@2 ~ f1@2 a1@2 f1 a#1@2 b1@2", J: "f1 ~ f1 ~ f1@2 ~ f1 ~ f1!2 ~ f1 ~@3",
  K: "c1!2 c1@4 ~ g1 c2 g1 c2@3 ~ g1 f#1", L: "f1!3 ~ f1 ~ c3@2 f3 c3 e3 d#3@4 ~",
  M: "f1!2 f1@2 ~ c2 g2 f#2 f2 a1 a#1 b1 c2 f1 c1 f1", N: "c1!2 c1@2 c1@3 c2 ~ c2 c1@2 g1 ~ f#1 ~",
  O: "f1 ~ f1 ~ f1@2 ~ f1 ~ f1!2 ~ f1 ~ f1 ~", P: "a#1 ~ a#1@5 f2 a#2 f2 a#2@5 ~", Q: "d1 ~ d1@5 a1 d2 a1 d2@5 ~",
  R: "f1 ~ f1@5 c2 f2 c2 f2@6", S: "c1 ~ c1@5 g1 c2 g1 c2@2 c1@2 c2@2", T: "a#1 ~ a#1@5 f2 a#2 f2 a#2@6",
  U: "f1 ~ f1@5 c2 f2 c2 f2@2 f1@2 f2 ~", V: "c1 ~ c1@5 g1 c2 ~ c2@6", W: "[c1@2 ~ c1@2 ~ c1 ~ c1@16 ~@8]/2",
  X: "c1@15 ~", Y: "f1!3 ~ f2@3 ~ d#3 e3 f3@2 f3 f#3 g3@2", Z: "c1@2 c1 ~ c1@2 ~ g1 c2 g1 c2@3 ~ g1 f#1",
  AA: "f1!3 ~ f1@2 c3 d#3 f3 c3 d#3 d3 c3@2 ~@2", AB: "[f1 ~@2 f1@2 ~ c1@18 ~@8]/2",
})).s("gm_electric_bass_finger").gain(0.45)

// chords · percussive organ
const percussive_organ = note("<~@45 A B C@3 ~@20 A B D@4 E F G H I J K@2 ~@17 L@2>".pickRestart({
  A: "~ d6 c6 a5, ~@4 c#6 ~@11", B: "a#5", C: "[c6@5 ~]/3", D: "[c6@27 ~@5]/4", E: "~@15 a#3",
  F: "[a#2,b2,c3,c4,d4,d#4,f4,g4] [g#3,a3,a#3,c4,d4] [a#2,c3,d3,d#3,f3,g3] [f2,g2,a2,c#4] [f2,g2,c4] [a2,a#2] [g#2,c3,d3,d#3,f3,g3] [a2,c3,d#3,f3,a3,a#3] [a2,a#2,c3,d3,a#3,b3,c4,d4,d#4] [a2,a#2,c#3,d3,d4,d#4,f4] [c3,d3,f3,f#4,g4,a4] [f3,g3,a#4,c5,d5] [f#3,g3,g#3,a3,d#5,f5,g5] [f3,f#3,g#3,a3,g#5,a5] [g3,b3,c4,a#5,c6,d6,d#6,f6] [g3,g#3,a#3,b3,c4,c#4,d4,c6,e6,f#6]", // Cm7 Faug Fsus2 A#maj7 G#maj7 F7 A#maj7 D7 …
  G: "[c6,g6]@7 ~ [c6,f6,f#6] [d#6,f6] c6 [d#6,f6,f#6] [d#6,f6] [c6,d#6,f6] [f6,f#6] [c6,d#6]", // C5 F D#sus2 D#m D#sus2 F7 F#maj7 Cm
  H: "a#5 [f#5,g5] [d5,f5] [f#5,g5] [d#5,f5,f#5] [a#4,c5] [c5,d#5] [g4,a#4] [d#4,f4,f#4] [c4,d4,d#4,f#4] [g4,a#4] [a#4,c5] [c5,d5,d#5,f5] [d5,d#5,f5,f#5] [g5,a5] [g5,a#5,c6]", // Gmaj7 Dm Gmaj7 D#m A#sus2 Cm Gm D#m …
  I: "[g5,c6,d#6]@2 ~ [c6,d#6]@2 g5 [c6,d#6]@2 g5 [c6,d#6]@2 g5 [b5,d6,d#6] g5 [g5,a#5,c6,d#6] [a5,a#5,c6,d6], [b5,d6] ~ g5@2 ~@12, ~@3 [b5,d6] ~@2 [b5,d6] ~@2 [b5,d6] ~@2 c6@2 ~@2", // Cm B Cm7 D7 Bm
  J: "[d6,d#6,f6,a6] ~@5 [f6,g6,a6] d6 [d#6,e6,g6] [a#5,c6,d#6,f6] [g5,a5,c6,d#6] f#5 [d5,d#5,f5] [a#4,c5] [f4,g4,a4,c5] [d#4,f4], [g6,a#6]@3 ~@5", // Dm F D# A#sus4 Am7b5 Dm A#sus2 F …
  K: "[[f5,f#5,a#5] g5!3 [g5,c6] g5 [g5,c6]!4 g5!6 g5@2 f5 [a#4,c5,d5,d#5] [d4,d#4,f4,g4,a4] [a#3,c4] ~@10, [c4,c6] c6 ~@3 c6@4 ~@7]/2", // F#maj7 C5 Cm7 Dm A#sus2 C
  L: "[[c5,f5]@3 [c5,f5]@3 [c5,e5]@16 [e3,f3] [g2,a2,b2,c3,d3] [c2,d2,e2,f2] ~@7]/2", // F5 C Fmaj7 G Dm7
})).s("gm_percussive_organ").gain(0.32)

// chords · electric guitar muted
const electric_guitar_muted = note(`<
  A B C D E F G H I J K L M N G H I J K L M N G H I O K L M N G H I J K L M N K L M N P Q R S T U V W@2 X Y M N G H I J
  K L M N K L M N P Q R S T U V W@2 X Y M N G H I J K L M N K L M N K L M N K L M N K Z@2
>`.pickRestart({
  A: "g4@4 [c4,g4]@2 ~ [c4,g4] ~ [c4,g4] a#3@2 [c4,g4]@4, a#3@3 ~@5", // C5
  B: "f3@4 c4@2 ~ [c4,g4] f3 c4 f3@2 [c4,g4]@3 c4, c4@3 ~@13", // C5
  C: "[c4,g4]@4 g4@2 ~ [c4,g4] ~ [c4,g4] ~@4 a#3 ~, a#3@7 ~@5 [c4,g4]@4", // C5
  D: "[f3,g4]@4 [c4,g4]@2 ~ [c4,g4] ~ [c4,g4] ~@2 [c4,g4]@3 ~, ~@5 f3@3", // Fsus2 C5
  E: "[c4,g4]@4 [c4,g4]@2 ~ g4 ~ c4 a#3@2 ~@2 a#3 ~, a#3@7 ~@5 [c4,g4]@4", // C5
  F: "[c4,g4]@6 f3 [c4,g4] f3 [c4,g4] ~@2 [c4,g4]@3 ~, f3@2 ~@3 f3@2 ~", // C5
  G: "[c4,g4]@3 ~ [c4,g4]@2 ~ [c4,g4] ~ [c4,g4] ~ a#3 [c4,g4]@4, a#3@9 ~@7", // C5
  H: "[c4,g4]@3 ~ [c4,g4]@2 ~ [c4,g4] ~ [c4,g4] ~@2 [c4,g4]@4, a3@7 ~@9", // C5
  I: "[c4,g4]@3 ~ [c4,g4]@2 ~ [c4,g4] ~ [c4,g4] ~@2 [c4,g4]@4, a#3@9 ~@7", // C5
  J: "a3@4 [c4,g4]@2 ~ [c4,g4] ~ [c4,g4] ~@2 a3@2 a3 ~, g4 ~@7, c4 ~@11 [c4,g4]@4", // C5
  K: "[c4,g4]@3 ~ [c4,g4]@2 ~ [c4,g4] ~ [c4,g4]@2 ~@3 a#3@2, a#3@6 ~@5 a#3@3 ~@2, ~@3 [c4,g4]", // C5
  L: "[c4,g4]@3 ~ [c4,g4]@2 ~ [c4,g4] ~ [c4,g4] ~ a3 ~@2 a3 ~, a3 ~@2 [c4,g4]", // C5
  M: "[c4,g4]@2 c4@2 [c4,g4]@2 ~ [c4,g4] ~ [c4,g4] ~@4 a#3@2, a#3@9 ~@3 [c4,g4]@4", // C5
  N: "[c4,g4]@2 c4 ~ [c4,g4]@2 ~ [c4,g4] ~ [c4,g4] ~@2 [c4,g4]@4, a3@9 ~@7", // C5
  O: "[c4,g4]@2 ~@2 [c4,g4]@2 ~ [c4,g4] ~ [c4,g4] a3 ~ [c4,g4] ~@3, a3 ~@3", // C5
  P: "[d4,f4] ~ [d4,f4] a#3 [d4,f4]@2 ~ [d4,f4] a#3 [d4,f4] ~@2 [d4,f4]@2 a#3 ~", // Dm
  Q: "[f4,a4]@2 [f4,a4] ~ [f4,a4]@2 ~ [f4,a4] d4 [f4,a4]@3 [f4,a4]@3 ~", // F
  R: "[f4,a4]@2 [f4,a4] ~ [f4,a4]@2 ~ [f4,a4] ~ [f4,a4] c4 ~ [f4,a4]@3 ~", // F
  S: "[e4,g4] ~ [e4,g4] ~ [e4,g4]@2 ~ [e4,g4] ~ [e4,g4] c4@2 [e4,g4]@2 c4 ~", // Em
  T: "[d4,g4] ~ [d4,g4] ~ [d4,g4]@2 a#3 [d4,g4] a#3 [d4,g4] a#3 ~ g4@2 d4 ~, ~@12 d4 ~@3", // G5
  U: "[c4,g4] ~ [c4,g4] ~ [c4,g4]@2 f3 [c4,g4] f3 [c4,g4] f3 ~ [c4,g4]@2 c4 ~", // C5
  V: "[e4,g4] ~ [e4,g4] ~ [e4,g4]@2 ~ [e4,g4] ~ [e4,g4] c4 ~ [e4,g4]@3 ~", // Em
  W: "[[e4,g4] ~@2 [e4,g4]@2 ~ [e4,g4] ~ [c3,g3]@16 ~@8]/2", X: "c3@7 ~",
  Y: "[a3,c4] ~@3 [a3,c4] ~ [a3,c4] ~ [a3,c4,g4] ~ f3 [a3,c4,g4] f3 [a3,c4,g4] ~@2, f3@9 ~@7", // Am Am7
  Z: "[[c4,f4]@2 ~ [c4,f4]@2 ~ [c4,e4]@15 ~@11]/2", // F5 C
})).s("gm_electric_guitar_muted").gain(0.24).pan(0.4)

// chords · electric guitar muted · soft notes
const electric_guitar_muted_2 = note(`<
  A B C D E F G H I J K L M N O P I J K L M N G P I Q K L M N O P I J K L M N K L M N R S T U ~@5 V W M N G P X J K L M
  N K L M N R S T U ~@5 V W M N O P Y J K L M N K L M N K L M N K L M N K ~@2
>`.pickRestart({
  A: "c4@2 c4@2 ~@2 a#3 ~ a#3 ~@5 a#3 ~", B: "g4@4 g4@2 f3 ~@2 g4 ~@4 f3@2", C: "~@4 c4@2 ~@4 a#3@3 ~@3",
  D: "c4@4 ~@2 f3 ~ f3 ~@7", E: "~@7 c4 a#3 g4 ~@6", F: "~@2 f3 ~@5", G: "~@10 a#3 ~@3 a#3 ~",
  H: "~@8 a3 ~@2 a3@2 ~ a3 ~", I: "~@11 a#3 ~@2 a#3 ~", J: "~@2 c4 ~@3 a3 ~ a3 ~@2 a3 ~@4", K: "~@6 a#3 ~ a#3 ~@7",
  L: "~@6 a3 ~ a3 ~ a3 ~@5", M: "~@11 a#3@2 ~@3", N: "~@10 a3!2 ~@2 a3 ~", O: "~@2 c4 ~@7 a#3 ~@3 a#3 ~",
  P: "~@2 c4 ~@5 a3 ~@2 a3@2 ~ a3 ~", Q: "~@2 [c4,g4] ~@3 a3 ~ a3 ~@7", R: "~@10 a#3 ~@5", S: "~@6 d4 ~@9",
  T: "~@8 c4 ~@5 c4 ~", U: "~@8 c4 ~@7", V: "g3@7 ~", W: "~@2 [a3,c4] ~@11 f3 ~", X: "~@10 a#3!2 ~@2 a#3 ~",
  Y: "~@14 a#3 ~",
})).s("gm_electric_guitar_muted").gain(0.14).pan(0.4)

// chords · slap bass 1
const slap_bass_1 = note(`<
  A B C D E F G H I J K L M N G H I J K L M N G H I ~ K L M N G H I J K L M N K L M N ~@11 M N G H I J K L M N K L M N
  ~@11 M N G H I J K L M N K L M N K L M N K L M N K ~@2
>`.pickRestart({
  A: "c4@2 c3@2 [c4,g4] ~ c3 [c4,g4] c3 [c4,g4] c3 c4 [c4,g4]!2 c3 [c4,g4], c3 ~@15", // C5
  B: "f3@2 f3@2 [c4,g4]!2 f3 [c4,g4] f3 [c4,g4] ~ c4 c4@2 f3 [c4,g4], ~@12 g4 ~@3", // C5
  C: "~ [c4,g4] ~ [c4,g4] g4@2 c3 [c4,g4] c3 [c4,g4] ~ [c4,g4]!3 c3 ~, c3@2 c3@2 c4 ~@11", // C5
  D: "f3@2 f3@2 [c4,g4]@3 [c4,g4] f3 [c4,g4,c5] f3@2 c4@2 ~ [c4,g4], ~@12 g4 ~@3", // C5
  E: "c3@2 c3@2 c4@2 c3 [c4,g4] c3 [c4,g4] c3 ~ [c4,g4]!2 c3 ~, ~@4 g4 ~@11", // C5
  F: "f3@2 f3@2 c4@2 f3 [c4,g4] f3 [c4,g4] f3 ~ [c4,g4] c4 f3 [c4,g4], ~@4 g4 ~@11", // C5
  G: "c4@2 ~@2 [c4,g4] ~@4 [c4,g4] ~ c4 ~ [c4,g4] ~ [c4,g4], g4 ~@15", // C5
  H: "~@5 [c4,g4] ~ [c4,g4] ~ [c4,g4] ~ c4 ~@3 [c4,g4]", // C5
  I: "~ [c4,g4] ~ [c4,g4] ~@3 [c4,g4] ~ [c4,g4] ~ [c4,g4] ~ [c4,g4] ~ c4", J: "~@4 [c4,g4]@3 ~@2 [g4,c5] ~@6",
  K: "~@4 c4@2 ~ [c4,g4] ~ [c4,g4] ~@3 [c4,g4] ~ c4, ~@4 g4 ~@11", L: "~@4 c4@2 ~ [c4,g4] ~ [c4,g4] ~@3 c4 ~ [c4,g4]",
  M: "~ [c4,g4] ~ [c4,g4] ~@3 [c4,g4] ~ [c4,g4] ~ [c4,g4] ~@2 c5@2", N: "~@4 c5 ~@2 c5 ~ [g4,c5] ~ g4 ~ [g4,c5] ~ c4",
})).s("gm_slap_bass_1").gain(0.24).pan(0.6)

// chords · slap bass 1 · soft notes
const slap_bass_1_soft = note(`<
  ~ A B C D E F G H I J K L M F G H I J K L M F G H ~ J K L M F G H I J K L M J K L M ~@11 L M F G H I J K L M J K L M
  ~@11 L M F G H I J K L M J K L M J K L M J K L M J ~@2
>`.pickRestart({
  A: "~@10 f3 ~@5", B: "~@5 c4 ~@9 c4", C: "~ c4 ~ c4 ~@10 f3 ~", D: "~@11 c4 ~@3 c4", E: "~@11 c4 ~ g4 ~@2",
  F: "~@7 [c4,g4] ~@8", G: "~ c4 ~ c4 ~@12", H: "~@5 c4 ~@10", I: "~ c4 ~ c4 ~@3 [g4,c5] ~@8", J: "~@11 c4 ~@4",
  K: "~ c4 ~@9 c4 ~ g4 ~@2", L: "~@5 c4 ~@8 g4@2", M: "~@4 g4 ~@11",
})).s("gm_slap_bass_1").gain(0.12).pan(0.6)

// other · brass section
const brass_section = note("<~@85 A@2 B ~ C@2 B ~ A@2 B ~ C@2 B ~ D@2>".pickRestart({
  A: "[~@8 [a3,a4] ~ [c4,c5] ~ [d4,d5] [c4,c5]@15 [f4,a#4]@4]/2", B: "[d#4,a4] ~@15",
  C: "[~@8 [a3,a4] ~ [c4,c5] ~ [d4,d5] [c4,c5]@14 ~ [f4,a#4]@4]/2", D: "[[c4,f4]@2 ~ [c4,f4]@2 ~ [c4,e4]@14 ~@12]/2",
})).s("gm_brass_section").gain(0.38)

// other · synth drum
const synth_drum = note(`<
  ~@6 A B@2 C B@2 A B A B@2 C B@2 A B A B@2 D B@2 A B A B@2 C B@2 A B@3 A B@3 A B A B@2 ~@4 A B A B@2 C B@2 A B@3 A B@3
  A B A B@2 ~@4 A B A B@2 C B@2 A B@3 A B@3 A B@3 A B@2 ~@2
>`.pickRestart({
  A: "g#4!2 c5!2 g#4 ~ c4 g#4 ~ g#4 c5!2 g#4 ~@2 c4", B: "g#4!2 c5!2 g#4 ~@2 g#4 ~ g#4 c5!2 g#4 ~@2 c4",
  C: "g#4!2 c5!2 g#4 ~ c4 g#4 c4 g#4 c5!2 g#4 ~@3", D: "g#4!2 c5!2 g#4 ~ c4 g#4 c4 g#4 c5!2 ~@4",
})).s("gm_synth_drum").gain(0.35)

// other · tenor sax
const tenor_sax = note("<~@85 A@2 B ~ A@2 B ~ A@2 B ~ C@2 B ~@3>".pickRestart({
  A: "[~@8 a3 ~ c4 ~ d4 c4@14 ~ d4@4]/2", B: "c4 ~@15", C: "[~@8 a3 ~ c4 ~ d4 c4@11 ~@4 d4@4]/2",
})).s("gm_tenor_sax").gain(0.29)

// other · string ensemble 1
const string_ensemble_1 = note("<~@83 [~@6 c4 d#4 f4 c4 d#4 d4 c4 ~@3] ~@19>").s("gm_string_ensemble_1").gain(0.4)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note("<A B C D C E ~@45 F@2 ~@50>".pickRestart({
  A: "[g3,a#3]@7 ~, g4", B: "[f3,a3,g4]", C: "[g3,a#3,g4]@15 ~", D: "[f3,a3,g4]@15 ~", E: "[f3,c4,g4], a3@7 ~",
  F: "[~ [a3,c4], ~@15 [f4,g4]@17]/2", // Am Fsus2
})).s("gm_acoustic_guitar_steel").gain(0.12)

// drums · kick
const kick = s("bd").struct("<~@6 A@19 B A@23 C ~ D ~ A@21 C ~ D ~ A@23 E ~>".pickRestart({
  A: "x!2 ~@2 x!2 ~@2", B: "x ~ x ~@4 x ~ x!2 ~@5", C: "x!2 ~@2 x ~@3", D: "x", E: "x ~@2 x ~@2 x ~@9",
})).gain(0.72)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@6 A@19 ~ A@23 ~@4 A@21 ~@4 A@23 ~@2>".pickRestart({
  A: "~@13 x ~@2",
})).gain(0.4)

// drums · snare
const snare = s("sd").struct("<~@6 A@11 B A@7 C A@3 D A@3 B A@15 E ~@3 A@21 E ~@3 A@23 ~@2>".pickRestart({
  A: "~@4 x ~@2 x ~ x ~@2 x ~@2 x", B: "~@2 x ~ x ~@2 x ~ x ~ x!5", C: "~@4 x ~@2 x ~ x ~@2 x ~@3",
  D: "~@4 x ~@2 x ~ x ~@2 x ~ x!2", E: "~@4 x ~@2 x ~@8",
})).gain(0.4)

// drums · hihat
const hihat = s("hh").struct("<~@6 A@11 B A@7 C A@16 D@7 E ~@3 A@14 D@7 F ~@3 A@23 ~@2>".pickRestart({
  A: "x!4 ~ x!7 ~ x!3", B: "x!2 ~ x ~ x!7 ~@2 x!2", C: "x!4 ~ x!7 ~@4", D: "x!4 ~ x!5 ~ x ~ x!3", E: "x!4 ~ x!4 ~@7",
  F: "x!4 ~ x!3 ~@8",
})).gain(0.32)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@9 A ~@11 A ~@15 B ~@14 C ~ D ~@3 E ~@3 C ~@3 C ~@16 F ~@3 D ~@7 D ~@3 D ~@3
>`.pickRestart({
  A: "~@14 x!2", B: "~@13 x ~ x", C: "~@6 x!2", D: "~@3 x", E: "~@12 x ~ x!2", F: "~@5 x!3",
})).gain(0.64)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@9 A ~@11 B ~@15 C ~@3 D ~@10 E ~ B ~@3 F ~@3 G ~@3 H ~@10 I ~@5 J ~@3 H ~@3 K ~@3 L ~@3 M ~@3
>`.pickRestart({
  A: "~@10 x!2 ~ x ~@2", B: "~@12 x!2 ~@2", C: "~@6 x!2 ~ x!4 ~ x ~", D: "~@9 x ~@2 x ~@3", E: "~@11 x!2 ~@3",
  F: "~@4 x!2 ~ x!5 ~ x ~@2", G: "~@4 x!2 ~ x ~ x ~ x ~@4", H: "~@9 x ~ x ~@4", I: "~@9 x ~ x!2 ~ x ~",
  J: "~@2 x ~ x!2 ~ x!3 ~ x ~@4", K: "~@7 x ~ x!2 ~ x ~@3", L: "~@4 x ~@2 x ~ x!2 ~@5", M: "~@11 x ~@4",
})).gain(0.48)

// drums · open hat
const open_hat = s("oh").struct("<~@49 A ~ B ~@22 A ~ B ~@24 C ~>".pickRestart({
  A: "~ x", B: "x", C: "x ~@2 x ~@2 x ~@9",
})).gain(0.4)

// drums · high tom
const high_tom = s("ht").struct("<~@9 [~@7 x ~ x ~@6] ~@11 [~@9 x ~ x ~@4] ~@30 [~@3 x] ~@50>").gain(0.48)

// drums · crash
const crash = s("cr").struct(`<
// … 26 more lines

More by Zucchero