Strudelify
Hey Man cover art

1987 · Blue's

Hey Man

Zucchero

KeyG majorTempo70 bpm
0:00/0:00
// Hey Man — Zucchero
// 70 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 72 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(70/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(`<
  ~@3 A B C D E B C D E D F B G D H I@2 B C D E B C D E D F B G D H I J K L M N O B C D P B Q R P S T U G V H W X Y Z AA
  G AB AC W J AD AE AF AE AF AG@2
>`.pickRestart({
  A: "~@12 d2@3 ~", B: "g1 f#1", C: "e1 d2", D: "c2 b1", E: "a1 d2", F: "f1 e1", G: "g1@6 a1@2 b1@7 ~", H: "a#1 a1",
  I: "g1 d2", J: "g1@4 ~ g1 a1 b1", K: "c2 b1 a1 g1", L: "f1@7 c2", M: "d2@7 a1", N: "f1@14 c2 c#2", O: "d2",
  P: "a1@6 b1 c2 d2@8", Q: "e1@8 d2@7 d2", R: "c2@6 g1 c2 b1@7 b1", S: "c2@6 g1 c2 b1@8", T: "f1@6 c2 f1 e1@8",
  U: "g1@6 d2@2 f#1@7 f#1", V: "c2@5 c2 g1 c2 b1@8", W: "g1@7 g1 d2@8", X: "g1@7 a1 b1@8", Y: "c2@7 c2 b1@8",
  Z: "f1@7 d2 e2@7 a1", AA: "g1@7 g1 f#1@7 f#1", AB: "c2@5 c2 g1 c2 b1@7 b1", AC: "a#1@7 a#1 a1@7 a1", AD: "c2 b1 a1 ~",
  AE: "g1 g1@3 f#1@4", AF: "e1 e1@3 f#1@4", AG: "[g1@13 ~@3]/2",
})).s("gm_fretless_bass").gain(0.36)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@3 A ~ B ~ C D E ~ F@2 G H I J K L M ~ N ~ O P Q R S T G H I J K U V W X Y Z AA AB AC AD AE AB AC AD AF AG G AH AI AJ
  K L AK T G H AI J K L AL AM AN AO AN AP AQ ~
>`.pickRestart({
  A: "~@13 g3!2 a3, ~@6 e3 ~", B: "~@8 e4 ~@2 b3@5, ~ g4, ~@9 e4@7, ~@5 d4@3", C: "~@13 d4 ~ e4, ~@7 a4", D: "d4 ~",
  E: "~@9 [d3,g3]!4 [e3,a3]@3", // G5 A5
  F: "[~@11 d4 g4 a4 b4 ~@8 c3 ~@7 g2, ~@15 g4@9 ~@3 d4@5, ~@16 c3@6 g3@2 g2@7 ~, ~@17 g3@4 c4@3 ~ g3@5 g3@2, ~@18 c4 e4@5 ~@2 b3@3 b3@3]/2",
  G: "~@7 d3 ~@7 a2, d3@7 ~ a2@7 ~, ~ f3@5 f3@2 ~ e3@5 e3@2, ~@2 a3@3 a3@3 ~@2 a3@3 a3@3, ~@3 c4@5 ~@3 c4@5",
  H: "~@7 g2 ~@7 d3, g2@7 ~@4 d4@5, ~ g3@5 g3@2 d3@7 ~, ~@2 b3@3 b3@3 ~ f#3@5 f#3@2, ~@3 d4@5 ~@2 a3@3 a3@3",
  I: "~@7 d3 ~@7 d3, g2!2, ~ g3@5 g3@2 ~ g3@5 g3@2, ~@2 b3@3 b3@3 ~@2 b3@3 b3@3, ~@3 d4@5 ~@3 f4@5",
  J: "~@7 e3 ~@7 d3, c3 g2, ~ e3@5 g3@2 ~ d3@5 g3@2, ~@2 g3@3 c4@3 ~@2 g3@3 b3@3, ~@3 e4@5 ~@3 d4@5",
  K: "~@7 d3 ~@7 c3, a#2 f2, ~ d3@5 f3@2 ~ c3@5 f3@2, ~@2 f3@3 a#3@3 ~@2 f3@3 a3@3, ~@3 d4@5 ~@3 c4@5",
  L: "~@7 g2 ~@7 d3, g2@6 g3@2 ~ f#3@5 f#3@2, ~ d3@7 d3@7 ~, ~@2 g3@3 b3@3 ~@2 a3@3 a3@3, ~@3 d4@5 ~@3 d4@5",
  M: "~@6 g3 d3 [d3,f#3,a3,d4]@6 ~@2, g2@7 ~@9, ~ d3@6 ~@9, ~@2 g3@3 b3@2 ~@9, ~@3 d4@4 ~@9", // D
  N: "~@9 d4@7, ~@7 g4@9, ~ e4", O: "~ a4 ~@5 g4@2 d4 [d4,b4] g4 b4 e4 g4 a4, ~ e5 d5 b4 ~@4, ~@3 b4@2 a4@3 ~@8",
  P: "g4@3 ~@5", Q: "~@2 [d5,g5] e5 d5 c5 b4 ~ [d5,g5] e5 d5 c5 b4 ~@3", R: "b4@9 ~@7",
  S: "~ [a4,b4] ~@4 g4 e4 ~@2 [g4,b4] e4 g4 a4 g4 ~, ~@2 e5@5 ~@9, ~@3 d5@4 ~@9, ~@4 b4@3 ~@9, ~@5 a4@2 ~@9", // Asus2 G
  T: "~@7 e3 ~@7 g2, c3@8 g2@7 ~, ~ e3@5 g3@2 ~ g3@5 g3@2, ~@2 g3@3 c4@3 ~@2 b3@3 b3@3, ~@3 e4@5 ~@3 d4@5",
  U: "~@7 g2 ~@7 d3, g2@6 g3@2 ~ a3@5 a3@2, ~ d3@7 d3@7 ~, ~@2 g3@3 b3@3 ~@3 f#4@5, ~@3 d4@5 ~@2 d4@3 d4@3",
  V: "~@7 d3@2 ~ g2@2 a2@2 b2@2, g2@9 ~@7, ~ d3@5 g3@3 ~@7, ~@2 g3@3 b3@4 ~@7, ~@3 d4@6 ~@7",
  W: "~@3 c4 ~@3 c4 ~@3 c4 ~@3 c4, c3 b2 a2 g2, ~ e3@3 ~ e3@3 ~ e3@3 ~ e3@3, ~ g3 ~ g3 ~ g3 ~ g3", X: "[f2,e3,g3,c4] ~",
  Y: "[f3,a3,c4,e4]@8 [d4,g4] ~ [d4,g4] ~ [d4,g4] ~ [d4,g4] ~, ~@2 [a3,c4]!2", Z: "[a3,c4,e4,g4]@3 ~",
  AA: "[f3,a3,c4,e4]@5 ~@3", // Fmaj7
  AB: "~@7 b2 ~@7 a2, g2 f#2, ~ b2@5 d3@2 ~ a2@5 d3@2, ~@2 d3@3 g3@3 ~@2 d3@3 a3@3, ~@3 b3@5 ~@3 b3@5",
  AC: "~@7 b2 ~@7 b2, e2 g2, ~ b2@5 d3@2 ~ b2@5 d3@2, ~@2 d3@3 g3@3 ~@2 d3@3 g3@3, ~@3 b3@5 ~@3 b3@5",
  AD: "~@7 c3 ~@7 d3, c3@7 ~ g2@8, ~ e3@5 e3@2 ~ d3@5 g3@2, ~@2 g3@3 g3@3 ~@2 g3@3 b3@3, ~@3 c4@5 ~@3 d4@5",
  AE: "~@7 c3 ~@7 a3, c3@7 ~ d3@5 d3@3, ~ e3@5 e3@2 ~@3 a3@4 ~, ~@2 g3@3 g3@3 ~ f#3@3 f#3@2 f#3@2, ~@3 c4@5 ~@2 d4@6",
  AF: "~@7 c3 ~@7 d3, c3@7 ~ d3@7 ~, ~ e3@5 e3@2 ~@3 d4@5, ~@2 g3@3 g3@3 ~ f#3@5 f#3@2, ~@3 c4@5 ~@2 a3@3 a3@3",
  AG: "~@7 e3 ~@7 g2, c3@8 g2@7 ~, ~ e3@5 g3@2 ~ g3@5 g3@2, ~@2 g3@3 c4@3 ~@2 b3@3 b3@3, ~@3 e4@5 ~@3 g4@5",
  AH: "~@7 g2 ~@7 d3, g2@7 ~@4 d4@5, ~ g3@5 g3@2 d3@7 ~, ~@2 b3@3 b3@3 ~ f#3@5 f#3@2, ~@3 g4@5 ~@2 a3@3 a3@3",
  AI: "~@7 d3 ~@7 d3, g2!2, ~ g3@5 g3@2 ~ f3@5 f3@2, ~@2 b3@3 b3@3 ~@2 b3@3 b3@3, ~@3 d4@5 ~@3 d4@5",
  AJ: "~@7 e3 ~@7 d3, c3 g2, ~ e3@5 g3@2 ~ d3@5 g3@2, ~@2 g3@3 c4@3 ~@2 g3@3 b3@3, ~@3 e4@5 ~@3 g4@5",
  AK: "~@7 d3 ~@7 d3, g2!2, ~ d3@5 g3@2 ~ f3@5 f3@2, ~@2 g3@3 b3@3 ~@2 b3@3 b3@3, ~@3 g4@5 ~@3 d4@5",
  AL: "~@7 d3 ~@2 g2@2 a2@2 b2@2, g2 ~, ~ d3@5 g3@2 ~@8, ~@2 g3@3 b3@3 ~@8, ~@3 d4@5 ~@8",
  AM: "~@3 c4 b2@4 a2@4 ~@4, c3 ~@3, ~ e3@3 ~@12, ~ g3 ~@6",
  AN: "~@7 b2 ~@7 d3, g2 f#2, ~ d3@5 d3@2 ~@3 b3@5, ~@2 g3@3 g3@3 ~ a3@5 a3@2, ~@3 b3@5 ~@2 g3@3 g3@3",
  AO: "~@7 b2 ~@7 d3, e2 f#2, ~ b2@5 d3@2 ~@3 b3@5, ~@2 d3@3 g3@3 ~ a3@5 a3@2, ~@3 b3@5 ~@2 g3@3 g3@3",
  AP: "~@7 b2 ~@6 a3 d3, e2@8 f#2@7 ~, ~ b2@5 d3@2 ~@3 b3@4 ~, ~@2 d3@3 g3@3 ~ a3@5 ~@2, ~@3 b3@5 ~@2 g3@3 g3@2 ~",
  AQ: "[g2,d3,g3,b3]", // G
})).s("gm_electric_guitar_clean").gain(0.3).pan(0.2)

// other · soprano sax
const soprano_sax = note("<~@37 A B@2 C D ~@30>".pickRestart({
  A: "~@2 c6@3 b5 ~ e5 a5@2 g5@4 e5@2, ~@2 c5 ~@3 g5@2 ~@8",
  B: "[~@5 e4 g4 a4 b4 d5 e5 g5 a5 b5 d6@7 b5@2 a5!2 g5@5 e5@2]/2",
  C: "~@3 a5 b5 [e5,g5,a5] [g5,a5] e5 g5 [e5,g5] [g5,a5] [d5,e5] b4 [g4,a4] g4 b4", D: "g5@9 ~@7",
})).s("gm_soprano_sax").gain(0.45).pan(0.6)

// chords · electric guitar clean
const electric_guitar_clean_2 = note(`<
  ~@12 A B C D A E C@3 F A G C F A G A B C D A E C H ~@5 C F A G C F A G A B C D A E C D A B C D A E C H ~@7
>`.pickRestart({
  A: "~@4 [c4,e4,g4] ~@7 [b3,d4,g4] ~@3", B: "~@4 [a3,d4,f4] ~@7 [c4,e4,a4] ~@3",
  C: "~@4 [b3,d4,g4] ~@7 [a3,d4,f#4] ~@3", D: "~@4 [b3,d4,g4] ~@7 [b3,d4,f4,g4] ~@3",
  E: "~@4 [a#3,d4,f4] ~@7 [a3,c4,f4] ~@3", F: "~@4 [b3,d4,g4] ~@7 [b3,d4,g4] ~@3",
  G: "~@4 [c4,e4,g4] ~@7 [c4,e4,g4] ~@3", H: "~@4 [b3,d4,g4] ~@11",
})).s("gm_electric_guitar_clean").gain(0.38).pan(0.8)

// chords · percussive organ
const percussive_organ = note(`<
  ~@12 A@2 B@4 C@2 ~@8 A@2 D@4 E@2 F G ~@2 H I@4 J@6 K@3 L M@2 A@2 N@4 O@2 ~@7
>`.pickRestart({
  A: "[[c5,e5,c6,e6] [b4,b5] [a4,f5,a5,f6] [c5,e5,a5,c6,e6,a6], [g5,g6] ~, ~ [d5,d6]@2 ~]/2", // C B Dm Am G D
  B: "[[b4,d5,g5,b5,g6] [a4,f#5,a5,f#6] [b4,g5] [d5,f5] [c5,e5,c6,e6] [b4,d5,b5] [a#4,d5,a#5] [a4,c5,a5,c6], d6@4 ~ d6@2 ~, ~ g6@2 ~, ~@16 b5@15 ~ g5@15 ~ [f5,f6]@16]/4", // G D Em Dm C Bm A# Am …
  C: "[[g4,b4,g5,b5] [f#4,a4,f#5,a5] [g4,b4,g5,b5] [f#4,a4,f#5,a5], [d5,d6]@15 ~]/2", // G F#m G F#m D
  D: "[[b4,d5,g5,b5,g6]@8 [a4,f#5,a5,f#6]@8 [b4,g5]@8 [d5,f5]@7 [c5,d5,e5,f5] [d4,e4,f4,g4,a4,b4] ~@7 [b4,d5,b5]@8 [a#4,d5,a#5]@8 [a4,c5,a5,c6]@8, d6@4 ~ d6@2 ~, ~ g6@2 ~, ~@16 b5@15 ~ [c6,e6]@8 ~@8 [f5,f6]@16]/4", // G D Em Dm Dm7 Em7 Bm A# …
  E: "[[g4,b4,g5,b5]@8 [f#4,a4,f#5,a5]@8 [g4,b4,g5,b5]@9 ~ [b4,g5]@2 [c5,g5]@2 [d5,g5]@2, [d5,d6]@25 ~@7]/2", // G F#m G Em C5 G5 D
  F: "[c5,g5] [d5,g5] [c5,g5] [d5,g5]", G: "[c5,g5]", H: "~ [e6,g6]",
  I: "[[b4,g5,b5] [a4,f#5,a5] [b4,b5]@2 [c5,e5,e6] [b4,d5,b5,d6] [c5,e5,e6]@2, [d5,d6] ~, ~ g5@3]/4", // Em D B C Bm C D
  J: "[[b4,g5,b5] [a4,f#5,a5] [b4,b5]@2 [c5,e5,e6] [b4,d5,b5,d6] [c5,e5,e6]@3 [b4,b5] [a4,f5,f6] [c5,e5,c6,e6,a6], [d5,d6]@4 ~@5 [d5,d6]@2 ~, ~@16 g5@64 a5@15 ~]/6", // Em D B C Bm C B Dm …
  K: "[[b4,g5,b5,g6]@8 [a4,f#5,a5,f#6]@8 g5@8 f5@7 ~ [c5,e5,c6,e6]@8 [b4,d5,b5,d6]@8, [d5,d6]@32 g5@15 ~, ~ g6@2, ~ [b4,b5] ~]/3", // Em D C Bm D B
  L: "[a#4,d5,a#5,d6] [a4,c5,a5,c6], [f5,f6]", // A# Am F
  M: "[[b4,d5,g5,b5,g6]@8 [a4,f#5,a5,f#6]@8 g5@8 f5@4 [e5,f5] [g4,a4,b4,c5,d5] [a3,b3,c4,d4,e4,f4] [d3,e3,f3,g3], d6, ~@8 d5@21 ~@3, ~ [b5,g6], ~@16 b4@13 ~@3]/2", // G D Fmaj7 G Dm7 Em7 Em
  N: "[[b4,d5,g5,b5,g6]@8 [a4,f#5,a5,f#6]@8 g5@8 f5@7 ~ [c5,e5,c6,e6]@8 [b4,b5]@8 [a#4,a#5]@8 [a4,c5,a5,c6]@8, d6 ~, ~@8 d5@24 g5@15 ~ [f5,f6]@16, ~ g6@2 ~, ~@2 [b4,b5]@2 ~ [d5,d6]@2 ~]/4", // G D C B A# Am F B …
  O: "[[b4,g5,b5,g6]@4 [a4,f#5,a5,f#6]@4 [b4,g5,b5,g6]@5 ~@3, [d5,d6]@13 ~@3]/2", // Em D Em D
})).s("gm_percussive_organ").gain(0.12).pan(0.3)

// chords · percussive organ
const percussive_organ_2 = note(`<
  A B C@2 D@8 E@2 F G H I J@2 K@2 L@6 E@2 F M H I N@2 O P ~ Q R S@2 T@2 S@2 U@2 E@2 V W X@2 Y@2 Z@2 Y@2 X@2 AA@2 AB A B
  AC@4
>`.pickRestart({
  A: "b4 a4", B: "g4 a4", C: "[[b4,d5] [a4,c5] [g4,b4] [a4,c5], d4]/2",
  D: "[b5@4 a5@4 ~@8 e5@4 d5@4 c5@4 e5@4 ~@6 a5 f#5 ~@8 e5@4 d5@4 e5@8, d5 ~ d5 ~, a#5 ~@15 g5@60 ~@4 g5@48]/8",
  E: "[e5 ~ [a4,f5] [c5,a5], g5 ~, ~ d5@2 ~]/2", F: "[b4,g5] [d5,f#5]", G: "~ [d5,f5], [b4,g5]", H: "e5 d5, g5",
  I: "a#4 a4, f5", J: "[b4@8 a4@8 b4@8 a4@7 ~, d5]/2",
  K: "[b5@8 e6@4 ~@4 b4@7 ~@3 c6@2 b5@2 a5@2, d5@15 ~ g5@12 ~@4, ~@6 d6@7 ~@3, ~@3 d5]/2",
  L: "[e5@8 d5@8 e5@14 d5 c5 ~@8 a5@4 f#5 g5 a5 f#5 ~@16 e5@8 d5@8 e5@15 ~, g5@40 ~@8 g5@47 ~, ~ d5 ~]/6",
  M: "~@4 [d5,f5]@3 ~, [b4,g5]", N: "[b4@8 a4@8 b4@9 ~ [b4,g5]@2 [c5,g5]@2 [d5,g5]@2, d5@25 ~@7]/2",
  O: "[e5,g5] [d5,g5] [e5,g5] [d5,g5]", P: "[e5,g5]", Q: "[e5,g5]@6 e5 c6", R: "g5", S: "[g5@8 a5@7 f#5 g5@16, d5]/2",
  T: "[e5@8 d5@8 e5@9 [e5,g5] [e5,g5]@2 [e5,g5]@2 [e5,g5]@2, g5@25 ~@7]/2", U: "[e5 d5 e5@2, g5]/2",
  V: "[b4,g5] [d5,f#5,a5]", W: "d5 [d5,f5], [g5,b5]", X: "[[e5,c6] b5 a#5 [c5,a5], g5 f5, ~ d5@2 ~]/2",
  Y: "[[b4,g5] [f#5,a5] ~ [d5,f5], d5@3 ~, ~ [g5,b5]]/2", Z: "[[e5,c6] b5 f5 [c5,e5], g5 a5, ~ d5@2 ~]/2",
  AA: "[[b4,g5]@4 [f#5,a5]@4 [g5,b5]@5 b4 c5 d5, d5@13 ~@3]/2", AB: "[c5,e5]@2 [g4,d5]@2 [c5,e5]@3 ~",
  AC: "[b4 a4 g4 a4 b4@4, d4]/4",
})).s("gm_percussive_organ").gain(0.3).pan(0.7)

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

// drums · rim
const rim = s("rim").struct("<~@20 [~ x ~ x]!7 [~ x ~@2] ~@39 [~@9 x ~@6] ~@4>").gain(0.32)

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

// drums · hihat
const hihat = s("hh").struct("<~@4 A@7 B A@7 C D E D E D@3 F G D@2 E D@3 F H D@3 ~@25 I D E@2 D ~@2>".pickRestart({
  A: "x!4", B: "x ~ x ~ x!4", C: "x ~ x ~ x!3 ~", D: "x!8", E: "x!7 ~", F: "x!6 ~@2", G: "~ x!7",
  H: "~@2 x!3 ~ x!3 ~ x!3 ~ x ~", I: "~ x!2 ~@3 x ~",
})).gain(0.4)

// drums · low tom
const low_tom = s("lt").struct("<~@19 A ~@20 B ~@19 C ~@4 D ~@2 E F ~@2>".pickRestart({
  A: "~@11 x ~@4", B: "~@2 x ~@10 x!2 ~", C: "~@7 x", D: "~@5 x ~ x ~@8", E: "~@3 x", F: "x",
})).gain(0.56)

// drums · mid tom
const mid_tom = s("mt").struct("<~@27 A ~@7 A ~@4 B ~@7 A ~@3 A ~@7 C ~@3 D E ~@2 F G ~@2>".pickRestart({
  A: "~@7 x", B: "~@4 x ~@4 x!2 ~@5", C: "~@10 x ~@2 x ~@2", D: "~@14 x!2", E: "~ x ~@2", F: "~@9 x ~@6",
  G: "~@13 x!2 ~",
})).gain(0.56)

// drums · open hat
const open_hat = s("oh").struct("<~@15 A ~@3 A ~ A ~ A ~@7 A ~@3 B ~@20 C ~@5 A ~@2 A ~ A@2 ~@3>".pickRestart({
  A: "~@7 x", B: "~@3 x", C: "~@9 x ~@6",
})).gain(0.4)

// drums · crash
const crash = s("cr").struct("<~@28 A ~@7 B A@3 C A ~@7 A ~@3 A ~@3 A ~@3 A ~@3 B ~@6>".pickRestart({
  A: "x", B: "x!2", C: "x ~@13 x!2",
})).gain(0.4)

// drums · high tom
const high_tom = s("ht").struct("<~@27 A ~@12 B ~@7 A ~@20 C ~@2>".pickRestart({
  A: "~@13 x ~@2", B: "~ x ~@6", C: "~@11 x!2 ~@3",
})).gain(0.56)

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

// drums · tambourine
const tambourine = s("tb").struct("<~@28 [~ x ~ x]!38 [~@3 x ~@3 x]!4 ~@2>").gain(0.56)

// drums · bongos
const bongos = s("bongo:4").struct("<~@4 [~@3 x ~@4]!32 ~@5 [~@3 x ~@4]!23 ~@2 [~@3 x ~@4]!4 ~@2>").gain(1.05)

// drums · bongos
const bongos_2 = s("bongo:18").struct("<~@66 [~ x ~@2]!4 ~@2>").gain(0.63)

// drums · claves
const claves = s("clave:2").struct("<~@4 [~ x ~ x]!8 ~@60>").gain(1.57)

stack(
  bass, electric_guitar_clean, soprano_sax, electric_guitar_clean_2, percussive_organ, percussive_organ_2, kick, rim,
  snare, hihat, low_tom, mid_tom, open_hat, crash, high_tom, ride, tambourine, bongos, bongos_2, claves
)

More by Zucchero