Strudelify
Sotto la pioggia cover art

1987 · Sotto La Pioggia

Sotto la pioggia

Antonello Venditti

KeyF♯ majorTempo82 bpm
0:00/0:00
// Sotto la pioggia — Antonello Venditti
// 82 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 5 "BASS 2" fretless bass (copy of ch 2 "BASS" electric bass finger)
// 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(82/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 · piano
const piano = note(`<
  ~@18 A B C D E D F G H I C D E D F G H I C J@2 ~@8 K C D L@2 M N O P L@4 Q R O P L S@2 ~@8 K C D L@2 Q R L@2 Q R L@2 Q
  R L@2 Q R L@2 Q R L@2 Q R ~
>`.pickRestart({
  A: "~@3 [d#3,f#3,b3]", B: "[f#2,c#3,f#3,a#3]@3 [d#3,f#3,b3], f#1@15 ~",
  C: "[c#3,f#3,a#3]@3 [d#3,f#3,b3], [f#1,f#2]@15 ~", D: "[f#2,c#3,f#3,a#3]@12 ~@2 f#2 ~, f#1@15 ~, ~@3 [d#3,f#3,b3]",
  E: "[c#3,f#3,a#3]@11 f#2 ~@2 f#2 ~, f#1@15 ~, f#2@5 ~ [d#3,f#3,b3]@2", F: "[c#2,g#2,c#3,f3,g#3]@3 [f#2,c#3,f#3,a#3]",
  G: "[c#3,f3,g#3]@3 [c#3,f3,g#3], c#2@15 ~", H: "[d#2,d#3,f#3,a#3]@3 [d#2,d#3,f#3,a#3]",
  I: "[g#2,d#3,g#3,c4]@4 [c#2,c#3,f3,g#3] ~@3", // G# C#
  J: "[[f#2,c#3,f#3,a#3]@12 ~@2 f#2 ~ [d#2,f#3,a#3]@16, f#1@15 ~@17, ~@3 d#3@5, ~@3 [f#3,b3] ~@4]/2", // F# D#m B5
  K: "~@3 [f#2,d#3,f#3,b3]", L: "[c#3,f#3,a#3]@3 [d#3,f#3,b3], f#1@15 ~", M: "[c#3,f3]@3 [c#3,f#3,a#3]",
  N: "[c#3,f3,g#3]@12 [c#3,f3,g#3]@3 ~", O: "[d#3,f#3,a#3]@3 [d#3,f#3,a#3]", P: "[d#3,g#3,c4]@4 [c#3,f3,g#3] ~@3",
  Q: "[c#3,f3,g#3]@3 [c#3,f#3,a#3]", R: "[c#3,f3,g#3]@3 [c#3,f3,g#3]",
  S: "[[c#3,f#3,a#3]@3 [f#3,b3] [f#3,a#3]@4, f#1@15 ~@17, ~@3 d#3@5]/2", // F# B5 F#
})).s("gm_piano").gain(0.56)

// bass · electric bass finger · "BASS"
const bass = note(`<
  A@6 B@2 C D A@3 E B F C D A@3 G A E B F C D A@3 E B F C D A@2 H I J E H K J L M N A E A E B F C D A@3 E B F C D A@2 H
  I J E H K J L M N A E A E B F A E B F A E B F A E B F A E B F A E B F ~
>`.pickRestart({
  A: "f#1@15 ~", B: "c#2@15 ~", C: "d#2", D: "g#1@8 c#2 ~@7", E: "f#1", F: "c#2", G: "f#1@7 ~",
  H: "d#2 ~ d#2@5 ~ d#2 ~ d#2@6", I: "g#1 ~ g#1@5 ~ g#1 ~ g#1@5 ~", J: "c#2 ~ c#2@5 ~ c#2 ~ c#2@6",
  K: "g#1 ~ g#1@5 ~ g#1 ~ g#1@6", L: "f#1@3 e2", M: "d#2@3 c#2", N: "b1@8 c#2 ~@7",
})).s("gm_electric_bass_finger").gain(0.48).pan(0.3)

// chords · pad warm · "SYNTH PAD"
const pad_warm = note("<~@22 A@4 B@2 C@2 A@4 B@2 C@2 D@8 ~@2 E F A@4 G@2 C@2 A@4 H@2 C@2 D@8 ~@4 A@24 ~>".pickRestart({
  A: "[[f#3,a#3] [f3,g#3], c#4]/4", B: "[[f#3,a#3]@8 [g#3,c4]@4 [g#3,c#4,f4] ~@3, d#4@3 ~]/2", C: "[f#3,a#3,c#4]/2",
  D: "[[a#3,f#4]@2 c4@2 f4@2 [f#4,a#4] ~, d#4@4 c#4@3 ~, ~ g#4@2 ~]/4", E: "~@3 b4", F: "a#4@3 ~",
  G: "[a#3@16 [g#3,c4]@8 [g#3,c#4,f4] ~@7, d#4@3 ~]/2", H: "[[f#3,a#3]@16 [g#3,c4]@8 [g#3,c#4,f4] ~@7, d#4@3 ~]/2",
})).s("gm_pad_warm").gain(0.18).pan(0)

// other · electric guitar muted · "MT. GUIT R"
const electric_guitar_muted = note("<A@8 B C A@6 B C A@4 ~@24 D E ~@26 D E ~@27>".pickRestart({
  A: "~@2 c#4 ~ c#4 ~ c#4 ~ c#4 ~ c#4 ~@5", B: "~@2 d#4 ~ d#4 ~ d#4 ~ d#4 ~ d#4 ~@5", C: "~@2 c4 ~ c4 ~ c4 ~ c#4 ~@7",
  D: "~@2 d#4 g#4 d#4 g#4 c#4 f#4 d#4 ~ f#4 ~@5", E: "~@2 d#4 g#4 d#4 f#4 d#4 ~ f4 ~@7",
})).s("gm_electric_guitar_muted").gain(0.11).pan(1)

// other · electric guitar muted · "MT. GUIT L"
const electric_guitar_muted_2 = note(`<
  A@6 B@2 C D A@4 B@2 C D A@4 E F G@2 H I F@4 G@2 H I F@2 ~@8 J K ~@2 E F G@2 H I F@2 E F G@2 H I F@2 ~@8 J K ~@2 E F
  G@2 E F G@2 E F G@2 E F G@2 E F G@2 E F G@2 ~
>`.pickRestart({
  A: "~@2 c#3 f#3 c#3 f#3 c#3 f#3 c#3 ~ f#3 ~@5", B: "~@2 c#3 f3 c#3 f3 c#3 f3 c#3 ~ f3 ~@5",
  C: "~@2 d#3 f#3 d#3 f#3 d#3 f#3 d#3 ~ f#3 ~@5", D: "~@2 d#3 g#3 d#3 g#3 d#3 g#3 c#3 ~@7",
  E: "~@6 c#3 f#3 c#3 f#3 c#3 g#3 ~ g#3 f#3 ~", F: "~@2 c#3 f#3 c#3 f#3 c#3 f#3 c#3 f#3 c#3 g#3 ~ g#3 f#3 ~",
  G: "~@2 c#3 f3 c#3 f3 c#3 f3 c#3 f3 c#3 a#3 ~ a#3 g#3 ~",
  H: "~@2 d#3 f#3 d#3 f#3 d#3 f#3 d#3 f#3 d#3 g#3 ~ g#3 f#3 ~", I: "~@2 d#3 f#3 d#3 f#3 d#3 f#3 g#3 ~@7",
  J: "~@2 d#3 f#3 d#3 f#3 c#3 f#3 d#3 ~ f#3 ~@5", K: "~@2 b2 f#3 d#3 f#3 b2 ~ c#3 ~@7",
})).s("gm_electric_guitar_muted").gain(0.29).pan(0)

// other · overdriven guitar · "OV. GUIT R"
const overdriven_guitar = note(`<
  ~@22 A@2 B@2 C D E F@3 B@2 C D E G H ~@2 I@2 J K L ~@4 A@2 B@2 C D E F@3 B@2 C D E@2 H ~@2 M@2 J K L ~@4 A@2 B@2 A@2
  B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 ~
>`.pickRestart({
  A: "[~@2 f#3!2 ~ f#3 ~ f#3 c#3 d#3 f#3 g#3 a#3 c#4 d#4 f#4@2 ~ f#3 ~@2 f#3 ~ f#3 c#3 d#3 f#3 g#3 a#3 c#4 d#4 f#4]/2",
  B: "~@2 c#3 ~@2 c#3 ~@2 c#3 d#3 f3 g#3 a#3 c#4 d#4 c#4", C: "~@2 d#3 ~@2 d#3 ~ d#3 c#3 d#3 f#3 g#3 a#3 c#4 d#4 f#4",
  D: "~@2 f#3 ~@2 f#3 ~ c#3@2 ~@7", E: "~@2 f#3 ~@2 f#3 ~ f#3 c#3 d#3 f#3 g#3 a#3 c#4 d#4 f#4",
  F: "[~@2 f#3 ~@2 f#3 ~ f#3 c#3 d#3 f#3 g#3 a#3 c#4 d#4 f#4@2 ~ f#3!2 ~ f#3 ~ f#3 c#3 d#3 f#3 g#3 a#3 c#4 d#4 f#4@2 ~ f#3 ~@2 f#3 ~ f#3 c#3 d#3 f#3 g#3 a#3 c#4 d#4 f#4]/3",
  G: "~@9 d#4 f#4 g#4 [g#4,a#4] f#4 g#4 d#4", H: "f#4@2 d#4 f#4@3 d#4 ~@9",
  I: "[~@2 g#4!11 f#4 g#4 f#4@4 ~@7 [g#3,d#4] ~@2 [g#3,d#4]@2 g#3]/2", // G#5
  J: "~@2 [g#3,d#4] ~@2 d#4 g#3!2 d#4 ~ g#3 a#3@2 g#3 d#4 ~", K: "~@2 c#4 ~@2 c#4 ~ g#3 d#4 ~ g#3 c#4 ~ g#3 b3@2",
  L: "a#3 a#3@4 ~@3", M: "[~@2 g#4!11 f#4 g#4 f#4@5 ~@6 [g#3,d#4] ~@2 [g#3,d#4]@2 g#3]/2",
})).s("gm_overdriven_guitar").gain(0.27).pan(1)

// other · overdriven guitar · "OV. GUIT L"
const overdriven_guitar_2 = note("<~@37 A B C ~ D@2 E F G ~@19 A B C ~ H@2 E F I ~@29>".pickRestart({
  A: "~@9 d#4 f#4 g#4 [g#4,a#4] f#4 g#4 d#4", B: "f#4@2 d#4 f#4@3 d#4 ~@9", C: "~@5 c#4 d#4 g#4@7 ~@2",
  D: "[~@2 c#5!11 a#4 c#5 a#4@4 ~@7 [g#3,d#4] ~@2 [g#3,d#4]@2 ~]/2", E: "~@2 g#3 ~@2 d#4 ~@2 d#4 ~@2 a#3@2 ~@3",
  F: "~@2 c#4 ~@2 c#4 ~@2 d#4 ~@2 c#4 ~@2 b3@2", G: "a#3 ~",
  H: "[~@2 c#5!11 a#4 c#5 a#4@5 ~@6 [g#3,d#4] ~@2 [g#3,d#4]@2 ~]/2", I: "a#3@7 ~@9",
})).s("gm_overdriven_guitar").gain(0.27).pan(0)

// other · overdriven guitar · "OV. GUIT L" · soft notes
const overdriven_guitar_soft = note("<~@42 A B C ~@25 A B C ~@30>".pickRestart({
  A: "~@15 g#3", B: "~@2 d#4 ~@3 g#3!2 ~@2 g#3 ~@2 g#3 d#4 ~", C: "~@7 g#3 ~@2 g#3 ~@2 g#3 ~@2",
})).s("gm_overdriven_guitar").gain(0.17).pan(0)

// chords · electric guitar clean · "STRATOCAST"
const electric_guitar_clean = note("<~@38 A@2 B ~ C@2 D E ~@20 A@2 B ~ C@2 D E ~@29>".pickRestart({
  A: "[~@5 f#4@4 ~@4 g#4@3, ~@7 [f#3,a#3,d#4]@10 ~@6 [g#3,c4,d#4]@9]/2", B: "~@5 g#4@3, ~@7 [g#3,c#4,f4]@9",
  C: "[~@5 f#4@4 ~@4 g#4@3, ~@7 [f#3,a#3,d#4]@11 ~@5 [g#3,c4,d#4]@9]/2", // D#m G#
  D: "~@5 g#4@2 ~, ~@7 [c#4,f4]@9, ~@7 g#3@7 ~@2", E: "[a#3,f#4] ~@15",
})).s("gm_electric_guitar_clean").gain(0.27)

// chords · acoustic guitar steel · "AC. GUITAR"
const acoustic_guitar_steel = note(`<
  ~@48 A B C D E F G H I J K L E M N O J N ~@10 K@4 P Q K@2 R@2 K S R@2 K@2 T R K@2 R@2 K U R V ~
>`.pickRestart({
  A: "~@10 [d#3,f#3,b3]!2 [d#3,f#3,b3]@2 [d#3,f#3,a#3]!2, ~@5 f#2@3", // B D#m
  B: "[d#3,f#3]@10 [d#3,f#3,b3]!2 [d#3,f#3,b3]@2 [d#3,f#3,a#3]!2, [f#2,a#3]@15 ~", // D#m B D#m F#
  C: "[f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4]!2 [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@4 [f#3,a#3,c#4,f#4]!2, [f#2,d#3]", // F# D#m
  D: "[f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4]!2 [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@4 [f#3,a#3,c#4,f#4] ~, f#2@15 ~", // F#
  E: "[c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5]!2 [c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5] [c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5] [c#4,f4,g#4,c#5]@4 [c#4,f4,g#4,c#5]!2, c#3", // C#
  F: "[c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5]!2 [c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5] [c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5] [c#4,f4,g#4,c#5]@4 [c#4,f4,g#4,c#5] c#4, c#3@15 ~", // C#
  G: "[f#3,a#3,d#4,f#4]@2 [f#3,a#3,d#4,f#4]!2 [f#3,a#3,d#4,f#4]@2 [f#3,a#3,d#4,f#4] [f#3,a#3,d#4,f#4]@2 [f#3,a#3,d#4,f#4] [f#3,a#3,d#4,f#4]@4 [f#3,a#3,d#4,f#4] f#3, f#2@3 ~", // D#m
  H: "[f#3,a#3,d#4,f#4]@2 [f#3,a#3,d#4,f#4]!2 [f#3,a#3,d#4,f#4]@2 [f#3,a#3,d#4,f#4] ~ [c#2,f3,g#3,c#4,f4]@2 ~@6, g#2 ~", // D#m C#
  I: "[f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4]!2 [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@4 [f#3,a#3,c#4,f#4] ~, f#2@3 ~", // F#
  J: "[f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4]!2 [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@4 [f#3,a#3,c#4,f#4]!2, f#2@7 ~", // F#
  K: "[f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4]!2 [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@4 [f#3,a#3,c#4,f#4] f#3, f#2@7 ~", // F#
  L: "[f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4]!2 [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@4 [f#3,a#3,c#4,f#4] [f#3,a#3], f#2@7 ~", // F#
  M: "[c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5]!2 [c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5] [c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5] [c#4,f4,g#4,c#5]@4 [c#4,f4,g#4,c#5] [c#4,f4,c#5], c#3@7 ~", // C#
  N: "[f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4]!2 [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@4 [f#3,a#3,c#4,f#4]!2, f#2", // F#
  O: "[f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4]!2 [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] ~ [c#2,f3,g#3,c#4,f4]@2 ~@6, g#2 ~", // F# C#
  P: "[c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5]!2 [c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5] [c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5] [c#4,f4,g#4,c#5]@4 [c#4,f4,g#4,c#5] c#5, c#3@7 ~", // C#
  Q: "[c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5]!2 [c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5] [c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5] [c#4,f4,g#4,c#5]@4 [c#4,f4,g#4,c#5] c#4, c#3@7 ~", // C#
  R: "[c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5]!2 [c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5] [c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5] [c#4,f4,g#4,c#5]@4 [c#4,f4,g#4,c#5] [c#4,c#5], c#3@7 ~", // C#
  S: "[f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4]!2 [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@4 [f#3,a#3,c#4,f#4] [f#3,a#3], f#2@3 ~", // F#
  T: "[c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5]!2 [c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5] [c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5] [c#4,f4,g#4,c#5]@4 [c#4,f4,g#4,c#5] [c#4,c#5], c#3@13 ~@3", // C#
  U: "[f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4]!2 [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4,f#4]@4 [f#3,a#3,c#4,f#4] ~, f#2@7 ~", // F#
  V: "[c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5]!2 [c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5] [c#4,f4,g#4,c#5]@2 [c#4,f4,g#4,c#5] [c#4,f4,g#4,c#5]@4 [c#4,f4,g#4,c#5]!2, c#3@7 ~", // C#
})).s("gm_acoustic_guitar_steel").gain(0.15)

// drums · kick
const kick = s("bd").struct("<~@19 A B@18 C@3 D C@3 A ~@2 A@2 B@5 E B@10 C@3 A C@3 A ~@2 A ~ B@24 ~>".pickRestart({
  A: "x", B: "x!2", C: "x!2 ~@2 x!2 ~@2", D: "x ~@10 x ~ x ~@2", E: "x ~@3 x ~@2 x",
})).gain(0.64)

// drums · snare
const snare = s("sd").struct(`<
  ~@20 A@7 B A C A@5 D A C A@3 E A@3 ~@4 F A@5 C A C A@7 G A@3 E A@3 ~@5 A@24 ~
>`.pickRestart({
  A: "~ x ~ x", B: "~ x ~@2", C: "~@4 x ~@7 x!2 ~@2", D: "~@4 x ~@9 x!2", E: "~@3 x", F: "~@12 x!2 ~ x",
  G: "~@4 x ~@5 x!3 ~ x!2",
})).gain(0.72)

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

// drums · low tom
const low_tom = s("lt").struct("<~@63 [~@3 x] ~ [~@14 x!2] ~@37>").gain(0.4)

// drums · mid tom
const mid_tom = s("mt").struct("<~@29 A ~@7 A ~@19 A ~@11 B ~@33>".pickRestart({
  A: "~@5 x ~@2", B: "~@7 x",
})).gain(0.72)

// drums · open hat
const open_hat = s("oh").struct("<~@27 A ~ B ~@5 A ~ B ~@3 C ~@13 D ~ B ~@5 A ~ B ~@3 E ~@33>".pickRestart({
  A: "~@3 x ~@4", B: "~@7 x", C: "~@9 x ~@6", D: "~@3 x ~@3 x", E: "~@11 x ~@4",
})).gain(0.72)

// drums · high tom
const high_tom = s("ht").struct("<~@69 [~@13 x ~@2] ~@33>").gain(0.72)

// drums · crash
const crash = s("cr").struct(`<
  ~@20 A ~ A ~@5 A ~ A ~@5 A ~ A ~@3 A ~@7 A ~@5 A ~@7 A ~ A ~@3 A ~@5 A ~ A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@4
>`.pickRestart({
  A: "x",
})).gain(0.4)

// drums · crash · soft notes
const crash_soft = s("cr").struct("<~@20 x ~@82>").gain(0.24)

// drums · ride
const ride = s("rd").struct("<~@38 [~ x!7] [x!8]!2 x [~ x!7] [x!8]!2 x ~@57>").gain(0.4)

stack(
  piano, bass, pad_warm, electric_guitar_muted, electric_guitar_muted_2, overdriven_guitar, overdriven_guitar_2,
  overdriven_guitar_soft, electric_guitar_clean, acoustic_guitar_steel, kick, snare, hihat, low_tom, mid_tom, open_hat,
  high_tom, crash, crash_soft, ride
)

More by Antonello Venditti