Strudelify
Cacao meravigliao cover art

1988 · Discao meravigliao

Cacao meravigliao

Renzo Arbore

KeyE♭ majorTempo115 bpm
0:00/0:00
// Cacao meravigliao — Renzo Arbore
// 115.1 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 119 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 24.
// note: The whole transcription plays 14 ms behind the beat; the grid follows it, so its parts stay together.
setcpm(115.1/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.

// bass · electric bass finger
const bass = note(`<
  ~@2 A B C D E D F G H I D F J K D C J L M N H O M N H I D@3 J@4 P D@2 Q F@2 D H R D@3 J@4 P D@2 Q F@2 D E D S T S U V
  W X Y Z S AA AB AC S AA AB AD AE AF Y X AE AG AH AI S@3 AB@4 AJ S@2 V AA@2 S AK AI S@3 AB@4 AL S@2 V AA@2 S Y S@2 AM
>`.pickRestart({
  A: "~@3 eb2 g2@2 ~@5 eb2 bb1@2 bb1@2", B: "~@3 eb2 g2@2 ~@3 eb2 c2@2 g1@2 bb1@2",
  C: "ab1@2 ~ ab1 eb2@3 ~ ab1@2 ~ ab1 eb2@2 eb2 ~", D: "eb2@2 ~ eb2 bb1@3 ~ eb2@2 ~ eb2 bb1@2 bb1@2",
  E: "f1@2 ~ f1 c2@3 ~ bb1@2 ~ bb1 f1@2 f1 ~", F: "ab1@2 ~ ab1 eb2@3 ~ ab1@2 ~ ab1 eb2@2 eb2@2",
  G: "eb2@2 ~ eb2 bb1@3 ~ eb2@2 ~ eb2 bb1@2 bb1 ~", H: "f1@2 ~ f1 c2@3 ~ bb1@2 ~ bb1 f1@2 f1@2",
  I: "eb2@2 ~ eb2 bb1@3 ~ bb1@2 ~ bb1 f1@2 f1@2", J: "bb1@2 ~ bb1 f1@3 ~ bb1@2 ~ bb1 f1@2 f1@2",
  K: "bb1 eb2 ~ eb2 bb1@2 bb1 ~ bb1@2 ~ bb1 f1@2 f1@2", L: "bb1@2 ~ bb1 f1@3 ~ eb2@2 ~ eb2 bb1@2 bb1@2",
  M: "ab1@2 ~ ab1 eb2@3 ~ bb1@2 ~ bb1 f1@2 f1@2", N: "g1@2 ~ g1 d2@3 ~ c2@2 ~ c2 g1@2 g1@2",
  O: "eb2@2 ~ eb2 bb1@3 ~ eb2 ~@2 eb2 bb1@2 bb1@2", P: "g1@2 ~ g1 d2@3 ~ f1@2 ~ f1 bb1@2 f1@2",
  Q: "eb2@2 ~ eb2 bb1@2 ~@2 eb2@2 ~ eb2 bb1@2 bb1 ~", R: "eb2@2 ~ eb2 bb1@3 bb1 bb1@2 ~ bb1 f1@2 f1@2",
  S: "eb2@2 ~ eb2 bb1@2 ~ bb1 eb2@2 ~ eb2 bb1@2 bb1@2", T: "eb2 ab1 ~ ab1 eb2@2 ~ eb2 ab1@2 ~ ab1 eb2@2 eb2@2",
  U: "f1@2 ~ f1 c2@2 ~ c2 bb1@2 ~ bb1 f1@2 f1 ~", V: "eb2@2 ~ eb2 bb1@2 ~ eb2 eb2@2 ~ eb2 bb1@2 bb1@2",
  W: "[ab1,eb2] ~@2 ab1 eb2@2 ~ eb2 ab1@2 ~ ab1 eb2@2 eb2@2", X: "eb2@2 ~ eb2 bb1@2 ~ bb1 eb2@2 ~ eb2 bb1@2 bb1 ~",
  Y: "f1@2 ~ f1 c2@2 ~ c2 bb1@2 ~ bb1 f1@2 f1@2", Z: "eb2@2 ~ eb2 bb1@2 ~ bb1 bb1@2 ~ bb1 f1@2 f1 ~",
  AA: "ab1@2 ~ ab1 eb2@2 ~ eb2 ab1@2 ~ ab1 eb2@2 eb2@2", AB: "bb1@2 ~ bb1 f1@2 ~ f1 bb1@2 ~ bb1 f1@2 f1@2",
  AC: "eb2@2 ~ eb2 bb1 ~@2 f1 bb1@2 ~ bb1 f1@2 f1@2", AD: "bb1@2 ~ bb1 f1@2 ~ f1 eb2@2 ~ eb2 bb1@2 bb1@2",
  AE: "ab1@2 ~ ab1 eb2@2 ~ eb2 bb1@2 ~ bb1 f1@2 f1@2", AF: "g1@2 ~ g1 d2@2 ~ d2 c2@2 ~ c2 g1@2 g1@2",
  AG: "[g1,bb1] ~@2 g1 d2@2 ~ d2 c2@2 ~ c2 g1@2 g1@2", AH: "f1@2 ~ f1 c2@2 ~ c2 f1@2 ~ bb1 f1@2 f1@2",
  AI: "eb2@2 ~ eb2 bb1@2 ~ bb1 bb1@2 ~ bb1 f1@2 f1@2", AJ: "g1@2 ~ g1 d2@2 ~ d2 f1@2 ~ f1 bb1@2 f1@2",
  AK: "f1@2 ~ f1 c2@2 ~ bb1 bb1@2 ~ bb1 f1@2 f1@2", AL: "g1@2 ~ g1 d2@2 ~ f1 f1@2 ~ f1 bb1@2 f1@2",
  AM: "eb2 ~ eb2 ~@2 eb2!3 ~@8",
})).s("gm_electric_bass_finger").gain(0.22).pan(0.6)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  ~ A B@2 C D E F G D H I J G K L M N K O P Q H R P Q H S J@3 K@4 T J@2 U G V J W X J@3 K@4 T J@2 U G V J Y J@2 Z AA AB
  AC Z AA AB AD J G K AE J G K O P Q H AF P AG AH AI J@3 K@4 T J@2 F G V J W AJ J@3 K@4 AK J@2 AC G V D E J B AL
>`.pickRestart({
  A: "~@15 [eb4,g4,bb4,eb5]", // Eb
  B: "[eb4,g4,bb4,eb5]!2 [eb4,g4,b4,eb5]!2 [eb4,g4,c5,eb5]!3 [eb4,g4,bb4,eb5]!2 [eb4,g4,b4,eb5]!2 [eb4,g4,c5,eb5]!3 [eb4,g4,b4,eb5]!2", // Eb Ebaug Cm Eb Ebaug Cm Ebaug
  C: "[eb4,ab4] [eb4,ab4,c5,eb5]!14 [eb4,g4,bb4,eb5]", D: "[eb4,g4,bb4,eb5]!15 [db4,gb4,bb4,eb5]",
  E: "[c4,eb4,ab4,c5]!7 [c4,eb4,a4,c5] [d4,f4,ab4,d5]!8", F: "[eb4,g4,bb4,eb5]!7 [db4,g4,bb4,db5]!9",
  G: "[eb4,ab4,c5,eb5]!16", H: "[c4,eb4,ab4,c5]!8 [d4,f4,ab4,d5]!8",
  I: "[eb4,g4,bb4] [eb4,g4,bb4,eb5]!6 [db4,g4,bb4,eb5] [d4,f4,ab4,d5]!8", J: "[eb4,g4,bb4,eb5]!16",
  K: "[d4,f4,ab4,d5]!16", L: "[d4,f4,bb4,d5] [eb4,g4,bb4,eb5]!5 [d4,f4,ab4,d5]!10", M: "[eb4,g4] [eb4,g4,bb4,eb5]!15",
  N: "[eb4,ab4,c5,eb5]!15 [eb4,gb4,c5,eb5]", O: "[db4,f4,bb4,db5]!8 [eb4,g4,bb4,eb5]!8",
  P: "[eb4,ab4,c5,eb5]!8 [d4,f4,ab4,d5]!8", Q: "[d4,f4,bb4,d5]!8 [bb3,e4,g4,bb4]!8",
  R: "[eb4,g4,bb4,eb5]!8 [eb4,g4,bb4,db5] [db4,g4,bb4,db5]!7", S: "[eb4,g4,bb4,eb5]!8 [d4,f4,ab4,d5]!8",
  T: "[d4,f4,bb4,d5]!8 [c4,eb4,ab4,c5]!4 [d4,f4,ab4,d5]!4", U: "[eb4,g4,bb4,eb5]!7 [db4,g4,bb4,db5]!8 [eb4,g4,bb4,db5]",
  V: "[eb4,ab4,c5,eb5]!8 [eb4,ab4,b4,eb5]!8", W: "[c4,eb4,ab4,c5]!7 [d4,f4,ab4,d5]!9",
  X: "[f4,ab4,db5,f5]!7 [d4,f4,ab4,d5]!9", Y: "[c4,eb4,ab4,c5]!7 [d4,f4,ab4,d5]!8 [eb4,g4,bb4,eb5]",
  Z: "[eb4,g4,bb4,eb5] [eb4,ab4,c5,eb5]!15", AA: "[eb4,g4,bb4,eb5]!15 [db4,g4,bb4,eb5]",
  AB: "[c4,eb4,a4,c5]!8 [d4,f4,ab4,d5]!8", AC: "[eb4,g4,bb4,eb5]!6 [eb4,g4,bb4,db5] [db4,g4,bb4,db5]!9",
  AD: "[eb4,g4,bb4,eb5]!7 [d4,f4,ab4,d5]!9", AE: "[eb4,g4,bb4,eb5]!6 [d4,f4,ab4,d5]!10",
  AF: "[eb4,g4,bb4,eb5]!8 [db4,g4,bb4,db5]!7 [eb4,g4,bb4,db5]", // Eb Gdim Eb7
  AG: "[db4,f4,ab4,db5] [d4,f4,bb4,d5]!7 [bb3,e4,g4,bb4]!8", AH: "[c4,eb4,ab4,c5]!10 [d4,f4,ab4,d5]!6",
  AI: "[eb4,g4,bb4,eb5]!6 [eb4,g4,bb4,db5] [d4,f4,ab4,d5]!9", // Eb Eb7 Ddim
  AJ: "[eb4,g4,bb4,eb5]!7 [db4,g4,bb4,eb5] [d4,f4,ab4,d5]!8", AK: "[d4,f4,bb4,d5]!7 [c4,eb4,ab4,c5]!5 [d4,f4,ab4,d5]!4",
  AL: "[eb4,g4,bb4,eb5] ~ [eb4,g4,bb4,eb5] ~ [eb4,g4,bb4,eb5]!4 ~@8", // Eb
})).s("gm_acoustic_guitar_nylon").gain(0.02).pan(1)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon_2 = note(`<
  A@2 B@2 ~@2 C D ~@2 C E ~@2 F G ~@2 F ~ E H C I E H C E ~@3 F@4 J ~@2 D ~@3 K L ~@3 F@4 J ~@2 D ~@3 K ~@4 C D ~@2 C G
  ~@2 F G ~@2 F ~ E H C I E M N G ~@3 F@4 J ~@2 D ~@3 K E ~@3 F@4 O ~@2 D ~@3 C ~ P@2
>`.pickRestart({
  A: "~ bb3 [eb4,g4,bb4] bb3 [eb4,g4,bb4] ~ bb3 eb3@2 [eb4,g4,bb4] bb3 [eb4,g4,bb4] eb3 ~@3, eb3 ~@7", // Eb
  B: "~@2 bb4 bb3 bb4 ~ bb3 ~@2 bb4 bb3 bb4 ~@4", C: "f2@2 ~@5 f2 ~@4 bb2 ~@3", D: "~@7 eb3@2 ~@3 eb3 ~@3",
  E: "~@12 bb2 ~@3", F: "bb2@2 ~@5 bb2@2 ~@3 bb2 ~@3", G: "~@7 bb2@2 ~@3 bb2 ~@3", H: "g2@2 ~@5 g2 ~@4 c3 ~@3",
  I: "~@12 eb3 ~@3", J: "g2@2 ~@5 g2 ~@4 bb2 ~@3", K: "f2@2 ~@5 bb2@2 ~@3 bb2 ~@3", L: "eb3@2 ~@5 bb2@2 ~@3 bb2 ~@3",
  M: "bb2 ~@6 g2 ~@4 c3 ~@3", N: "f2@2 ~@5 f2@2 ~@3 bb2 ~@3", O: "g2@2 ~@5 f2@2 ~@3 bb2 ~@3",
  P: "[~@2 bb4 bb3 bb4 ~ bb3 ~@2 bb4 bb3 bb4 ~@3 bb3@2 ~@15]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.17).pan(0.1)

// chords · acoustic guitar nylon · soft notes
const acoustic_guitar_nylon_3 = note("<A B C@2 ~ D ~@3 D ~@7 E ~@96 D ~@2 F ~>".pickRestart({
  A: "~@13 [eb4,g4,bb4] bb3 [eb4,g4,bb4]", B: "~@13 [eb4,g4,bb4] bb3 ~", C: "~@13 bb4 bb3 bb4", D: "~@15 g4",
  E: "~@15 ab4", F: "~@13 bb4 bb3 ~",
})).s("gm_acoustic_guitar_nylon").gain(0.08).pan(0.1)

// chords · synth strings 1
const synth_strings_1 = note(`<
  ~@4 A B C D A B C E B A F G B A F H I J K L M J C E N O@2 P@4 Q O@2 R S T O U V O@3 P@4 Q O@2 W S T O U O X Y Z AA AB
  AC Z AA AD Z AE AF AG Z AE AF AH AI AJ AK AL AI AM AN AO X@3 AP@4 AQ X@2 AR AS AT AU AV AW X@3 AP@4 AX X@2 AY AS AZ X
  BA X@2 ~
>`.pickRestart({
  A: "[c4,eb4,ab4]@15 ~", B: "[bb3,eb4,g4]@15 ~", C: "[ab3,c4,eb4]@7 [ab3,d4,f4]@8 ~",
  D: "[bb3,eb4,g4]@7 [bb3,db4,g4]@9", E: "[bb3,eb4,g4]@7 [ab3,d4,f4]@8 ~", F: "[ab3,d4,f4]",
  G: "[bb3,d4,f4] [bb3,eb4,g4]@5 [ab3,d4,f4]@10", H: "[bb3,db4,f4]@7 ~ [bb3,eb4,g4]@8",
  I: "[c4,eb4,ab4]@7 ~ d4@8, ~@7 [ab3,f4]@8 ~", J: "[bb3,d4,f4]@7 ~ [g3,bb3,e4]@8", K: "[ab3,c4,eb4]@7 ~ [ab3,d4,f4]@8",
  L: "[bb3,eb4,g4]@8 [bb3,db4,g4]@7 ~", M: "[c4,eb4,ab4]@7 ~ [ab3,d4,f4]@8", N: "[eb4,g4,bb4], bb3 ~@15",
  O: "[eb4,g4,bb4]", P: "[d4,f4,ab4]", Q: "[d4,f4,bb4]@7 [c4,eb4,ab4]@4 ~ [d4,f4,ab4]@4",
  R: "[eb4,g4,bb4]@6 ~ [db4,g4,bb4]@9", S: "[eb4,ab4,c5]", T: "[eb4,ab4,c5]@7 ~ [eb4,ab4,b4]@8",
  U: "[c4,eb4,ab4]@7 [d4,f4,ab4]@9", V: "[f4,ab4,db5]@7 [d4,f4,ab4]@9", W: "[eb4,g4,bb4]@6 [db4,g4,bb4]@9 ~",
  X: "[eb4,bb4,g5]", Y: "[bb3,g4,eb5] [c4,ab4,eb5]@15", Z: "[bb3,g4,eb5]@15 ~", AA: "[a3,eb4,c5]@7 [ab3,f4,d5]@8 ~",
  AB: "[bb3,g4,eb5]@6 [bb3,g4,db5]@9 ~", AC: "[c4,ab4,eb5]@15 ~, [bb3,g4] ~@15", AD: "[bb3,g4,eb5]@6 ~ [ab3,f4,d5]@9",
  AE: "[c4,ab4,eb5]", AF: "[ab3,f4,d5]@15 ~", AG: "[bb3,g4,eb5]@5 [ab3,f4,d5]@10 ~", AH: "[bb3,f4,db5] [bb3,g4,eb5]",
  AI: "[c4,ab4,eb5]@7 ~ [ab3,f4,d5]@8", AJ: "[bb3,f4,d5] [g3,e4,bb4]", AK: "[ab3,eb4,c5]@7 ~ [ab3,f4,d5]@8",
  AL: "[bb3,g4,eb5]@7 ~ [g4,db5]@8, ~@7 bb3@8 ~", AM: "[bb3,f4,d5]@7 ~ [g3,e4,bb4]@8, [ab3,db5] ~@15",
  AN: "[ab3,eb4,c5]@9 ~ [f4,d5]@6, ~@9 ab3@6 ~", AO: "[bb3,g4,eb5]@6 [ab3,f4,d5]@9 ~", AP: "[d4,ab4,f5]",
  AQ: "[d4,bb4,f5]@7 [c4,ab4,eb5]@4 ~ [ab4,f5]@4, ~@11 d4@4 ~", AR: "[eb4,bb4,g5]@7 [db4,bb4,g5]@9", AS: "[eb4,c5,ab5]",
  AT: "[eb4,c5,ab5] [eb4,b4,ab5]", AU: "[eb4,bb4,g5]@15 ~", AV: "[c4,ab4,eb5]@7 [d4,ab4,f5]@9",
  AW: "[eb4,bb4,g5]@7 [d4,ab4,f5]@8 ~", AX: "[d4,bb4,f5]@7 [c4,ab4,eb5]@5 [d4,ab4,f5]@4",
  AY: "[eb4,bb4,g5]@6 [db4,bb4,g5]@9 ~", AZ: "[eb4,c5,ab5]@7 [eb4,b4,ab5]@8 ~", BA: "[c4,ab4,eb5]@7 [d4,ab4,f5]@8 ~",
})).s("gm_synth_strings_1").gain(0.02).pan(0.6)

// drums · kick
const kick = s("bd").struct(`<
  ~@2
  [~@3 x!2 ~@4 x ~ x!2 ~@3]
  [~@3 x!2 ~@6 x ~@2 x ~]
  [x!4]!113
  [x!3 ~]
  [x ~ x ~@4 x ~@8]
>`).gain(0.35)

// drums · snare
const snare = s("sd").struct("<~ A B C D@7 E D@15 E A@15 F A@16 G H@23 G I@15 J I@16 K L>".pickRestart({
  A: "~@15 x", B: "~@7 x ~@7 x", C: "~@7 x ~ x ~@6", D: "~@11 x ~@4", E: "~@9 x ~ x!5", F: "~@9 x ~ x!2 ~@3",
  G: "x ~ x ~ x ~@2 x ~ x ~ x!5", H: "x ~ x ~ x ~@2 x ~ x ~ x!2 ~@2 x", I: "x ~ x ~@4 x ~ x ~ x ~@3 x",
  J: "x ~ x ~@4 x ~ x ~ x!5", K: "x ~ x ~@4 x ~ x ~@3 x ~ x", L: "x ~ x ~@2 x!3 ~@8",
})).gain(0.14)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@11 A ~@15 B ~@32 C D@23 C E@15 F E@16 G ~>".pickRestart({
  A: "~@4 x!2 ~@2", B: "~@5 x ~@2", C: "~ x ~ x ~ x!2 ~ x ~ x ~@5", D: "~ x ~ x ~ x!2 ~ x ~ x ~@2 x!2 ~",
  E: "~@5 x!2 ~@6 x ~@2", F: "~@5 x!2 ~ x ~ x ~@5", G: "~@5 x!2 ~@9",
})).gain(0.07)

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

// drums · low tom
const low_tom = s("lt").struct("<A B@10 C B@15 C B@15 D B@16 ~@25 B@15 C B@16 E F>".pickRestart({
  A: "~@3 x", B: "~ x ~@3 x ~@2", C: "~ x ~@6", D: "~ x ~@3 x ~ x", E: "~ x ~@3 x!2 ~", F: "x ~ x ~@4 x ~@8",
})).gain(0.14)

// drums · mid tom
const mid_tom = s("mt").struct("<~@3 A ~@7 B ~@15 B ~@15 C ~@16 B ~@23 B ~@15 B ~@16 D E>".pickRestart({
  A: "~@3 x ~@3 x", B: "~@9 x ~ x!2 ~@3", C: "~@13 x ~@2", D: "~@11 x ~@3 x", E: "x ~ x ~@4 x ~@8",
})).gain(0.35)

// drums · mid tom · soft notes
const mid_tom_soft = s("mt").struct("<~@3 [~@5 x ~@2 x!2 ~@6] ~@39 [~ x] ~@75>").gain(0.17)

// drums · open hat
const open_hat = s("oh").struct("<~@3 [~@7 x] ~@24 [~@11 x ~@4]!15 ~ [~@11 x ~@4]!16 ~@59>").gain(0.35)

// drums · crash
const crash = s("cr").struct("<~@4 A ~@7 A ~@15 A ~@15 A ~@16 A ~@23 A ~@15 A ~@17>".pickRestart({
  A: "x",
})).gain(0.24)

// drums · ride
const ride = s("rd").struct(`<
  ~@43
  [~@9 x ~@6]
  ~@41
  [x ~ x ~ x ~@2 x ~ x ~ x ~@2 x ~]!15
  [x ~ x ~ x ~@2 x ~@8]
  [x ~ x ~ x ~@2 x ~ x ~ x ~@2 x ~]!16
  [x ~ x ~ x ~@2 x ~ x ~@6]
  ~
>`).gain(0.21)

// drums · tambourine
const tambourine = s("tb").struct("<~@2 A B@25 ~@15 C ~@16 B@25 D@15 E D@17 F>".pickRestart({
  A: "~@14 x!2", B: "x ~ x!3 ~ x!3 ~ x!3 ~ x!2", C: "~@8 x ~ x!3 ~ x!2", D: "~ x ~ x ~ x ~ x",
  E: "~@2 x ~@3 x ~ x ~ x!3 ~ x!2", F: "x ~ x ~@4 x ~@8",
})).gain(0.28)

// drums · tambourine · soft notes
const tambourine_soft = s("tb").struct("<~@2 A B@25 ~@15 C ~@16 B@25 ~@15 C ~@18>".pickRestart({
  A: "~@13 x ~@2", B: "~ x ~@3 x ~@3 x ~@3 x ~@2", C: "~@9 x ~@3 x ~@2",
})).gain(0.14)

// drums · congas
const congas = s("conga:13").struct("<[~@3 x ~@6 x!2 ~@4]!118 [x ~ x ~@4 x ~@8]>").gain(0.45)

// drums · congas · soft notes
const congas_soft = s("conga:13").struct("<[~@7 x ~@8]!118 ~>").gain(0.11)

// drums · congas
const congas_2 = s("conga:18").struct("<[~@2 x ~@2 x!2 ~@6 x ~@2]!117 [~@5 x!2 ~@6 x ~@2] [x ~@6 x ~@8]>").gain(0.45)

// drums · congas · soft notes
const congas_soft_2 = s("conga:18").struct("<[x!2 ~@6 x!2 ~@5 x]!3 [x!2 ~@6 x!2 ~@6] [x!2 ~@6 x!2 ~@5 x]!114 ~>")
  .gain(0.11)

// drums · congas
const congas_3 = s("conga:33").struct("<[~@7 x]!118 [~@5 x!2 ~@9]>").gain(0.45)

// … 56 more lines

More by Renzo Arbore