Strudelify
Aspettavo te cover art

1996 · Angiolini

Aspettavo te

Ambra

KeyF♯ majorTempo128 bpm
0:00/0:00
// Aspettavo te — Ambra
// 128 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 117 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(128/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 · synth bass 1
const bass = note(`<
  ~@15 A B C D E F G H I J K L M N O P Q N ~ R S T U V W S U R S T U V W S U@2 C D E F G H I J K L M N O P Q N ~ R S T U
  V W S U R S T U V W S U R S T U V W S U R S T U V W S U R S T U V W S U R S T U ~@5
>`.pickRestart({
  A: "f#1 f#2 ~ f#1 f#2 ~ f#1 f#2 ~ f#1 f#2 ~ a1@2 a2 ~", B: "f#1 f#2 ~ f#1 f#2 ~ f#1 f#2 ~ f#1 f#2 ~ a1 ~ a2 ~",
  C: "f#1 f#2 ~ f#1 f#2 ~ f#1 f#2 ~ f#1 f#2 ~ f#1@2 f#2 ~", D: "d#1 d#2 ~ d#1 d#2 ~ d#1 d#2 ~ d#1 d#2 ~ d#1@2 d#2 ~",
  E: "c#1 c#2 ~ c#1 c#2 ~ c#1 c#2 ~ c#1 c#2 ~ c#1@2 c#2 ~", F: "b0 b1 ~ b0 b1 ~ b0 b1 ~ b0 b1 ~ b0 ~ b1 ~",
  G: "f#1 f#2 ~ f#1 f#2 ~ f#1 f#2 ~ f#1 f#2 ~ f#1 ~ f#2 ~", H: "d#1 d#2 ~ d#1 d#2 ~ d#1 d#2 ~ d#1 d#2 ~ d#1 ~ d#2 ~",
  I: "c#1 c#2 ~ c#1 c#2 ~ c#1 c#2 ~ c#1 c#2 ~ c#1 ~ c#2 ~", J: "c#1 c#2 ~ c#1 c#2 ~ c#1 c#2 ~ c#1 c#2 ~ c#1 ~ d2 ~",
  K: "d#2 ~@3 d#2 ~@2 d#2 ~ d#2!2 ~ d#2@2 d#1 ~", L: "b1@2 ~@2 b1 ~@2 b1 ~ b1!2 ~ b1 ~ b0@2",
  M: "f#2 ~@3 f#2 ~@2 f#2 ~ f#2!2 ~ f#2@2 f#1 ~", N: "c#2 ~@3 c#2 ~@2 c#2 ~ c#2!2 ~ c#2 ~ c#1 ~",
  O: "d#2@2 ~@2 d#2 ~@2 d#2 ~ d#2!2 ~ d#2 ~ d#1 ~", P: "b1@2 ~@2 b1 ~@2 b1 ~ b1!2 ~ b1 ~ b0 ~",
  Q: "f#2 ~@3 f#2 ~@2 f#2 ~ f#2!2 ~ f#2 ~ f#1 ~", R: "f#2 ~@3 f#2 ~@2 f#2 ~ f#2 ~@2 f#2 ~ f#2 ~",
  S: "d#2 ~@3 d#2 ~@2 d#2 ~ d#2 ~@2 d#2 ~ d#2 ~", T: "a#1 ~@3 a#1 ~@2 a#1 ~ a#1 ~@2 a#1 ~ a#1 ~",
  U: "c#2 ~@3 c#2 ~@2 c#2 ~ c#2 ~@2 c#2 ~ c#2 ~", V: "g#2 ~@3 g#2 ~@2 g#2 ~ g#2 ~@2 g#2 ~ g#2 ~",
  W: "b1 ~@3 b1 ~@2 b1 ~ b1 ~@2 b1 ~ b1 ~",
})).s("gm_synth_bass_1").gain(0.5)

// other · brass section
const brass_section = note("<~@99 A B@2 C@2 D E@3 B@2 F@2 D G@3 ~>".pickRestart({
  A: "~@4 c#5 d#5 f#5 g#5", B: "f#5@4 c#5 d#5 f#5 g#5",
  C: "[f5@4 d#5 ~ d#5@6 c#5 ~ c#5@4 d#5@4 ~@2 d#5@2 f5@2 f#5@2 a#5@2]/2", D: "g#5@8 d#5 ~ d#5 ~ f#5@2 a#5@2",
  E: "[g#5@9 ~ g#5 ~ g#5 ~ g#5@4 f#5 ~ f#5@2 d#5 ~ f#5@2 g#5@3 ~ f5@10 c#5 ~ d#5@2 f#5@2 g#5@2]/3",
  F: "[f5@4 d#5 ~ d#5@6 c#5 ~ c#5@4 d#5@5 ~ d#5@2 f5@2 f#5@2 a#5@2]/2",
  G: "[g#5@9 ~ g#5 ~ g#5 ~ g#5@4 f#5 ~ f#5@2 d#5 ~ f#5@2 g#5@4 f5@18]/3",
})).s("gm_brass_section").gain(0.25)

// other · lead 2 sawtooth
const lead_2_sawtooth = note(`<
  ~@7 A B C D E F G H ~@10 I J K L I M K N ~ O P Q R S T U V W U Q R X T U R@2 ~@8 I J K L I M K N ~ O P Q R S T U V W U
  Q R X T U R Y Z AA AB AC AD AE AF Y AG AA AB AH AD AE AI Y Z AA AB AC AD AE AF Y AG AA AB AJ AK AL AM ~
>`.pickRestart({
  A: "f#3 f#4 ~ f#3 f#4 ~ f#3 f#4 ~ f#3 f#4 ~ f#3 ~ f#4 ~", B: "d#3 d#4 ~ d#3 d#4 ~ d#3 d#4 ~ d#3 d#4 ~ d#3@2 d#4 ~",
  C: "a#2 a#3 ~ a#2 a#3 ~ a#2 a#3 ~ a#2 a#3 ~ a#2 ~ a#3 ~", D: "c#3 c#4 ~ c#3 c#4 ~ c#3 c#4 ~ c#3 c#4 ~ c#3@2 c#4 ~",
  E: "g#3 g#4 ~ g#3 g#4 ~ g#3 g#4 ~ g#3 g#4 ~ g#3@2 g#4 ~, g#2", F: "b2 b3 ~ b2 b3 ~ b2 b3 ~ b2 b3 ~ b2@2 b3 ~, b1",
  G: "d#3 d#4 ~ d#3 d#4 ~ d#3 d#4 ~ d#3 d#4 ~ d#3 ~ d#4 ~, d#2",
  H: "c#3 c#4 ~ c#3 c#4 ~ c#3 c#4 ~ c#3 c#4 ~ c#3 ~ c#4 ~, c#2@3 ~",
  I: "[d#4,f#4,a#4] ~@3 [d#4,f#4,a#4] ~@2 [d#4,f#4,a#4] ~@2 [d#4,f#4,a#4] ~@3 [d#4,f#4,a#4] ~, d#2 ~ d#2 ~@5", // D#m
  J: "[d#4,f#4,b4] ~@3 [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~@3 [d#4,f#4,b4] ~, b1 ~ b1 ~@5", // B
  K: "[c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~, f#2 ~ f#2 ~@5", // F#
  L: "[c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~@2 [c#4,f4,g#4] ~@2 [c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~, c#2@2 ~@2 c#2@3 ~@9", // C#
  M: "[d#4,f#4,b4] ~@3 [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~@3 [d#4,f#4,b4] ~, b1@2 ~@2 b1@3 ~@9", // B
  N: "[c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~@2 [c#4,f4,g#4] ~@2 [c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~, c#2 ~ c#2 ~@5", // C#
  O: "~ f#3 ~ f#2 f#3 ~ f#2 f#3 ~ f#2 f#3 ~ f#2@2 f#3 ~", P: "d#2 d#3 ~ d#2 d#3 ~ d#2 d#3 ~ d#2 d#3 ~ d#2!2 d#3 ~",
  Q: "a#1 a#2 ~ a#1 a#2 ~ a#1 a#2 ~ a#1 a#2 ~ a#1 ~ a#2 ~", R: "c#2 c#3 ~ c#2 c#3 ~ c#2 c#3 ~ c#2 c#3 ~ c#2 ~ c#3 ~",
  S: "g#2 g#3 ~ g#2 g#3 ~ g#2 g#3 ~ g#2 g#3 ~ g#2 ~ g#3 ~", T: "b1 b2 ~ b1 b2 ~ b1 b2 ~ b1 b2 ~ b1 ~ b2 ~",
  U: "d#2 d#3 ~ d#2 d#3 ~ d#2 d#3 ~ d#2 d#3 ~ d#2 ~ d#3 ~", V: "c#2 c#3 c#2 ~ c#3 ~ c#2 c#3 ~ c#2 c#3 ~ c#2@2 c#3 ~",
  W: "f#2 f#3 ~ f#2 f#3 ~ f#2 f#3 ~ f#2 f#3 ~ f#2@2 f#3 ~", X: "g#2 g#3 ~ g#2 g#3 ~ g#2 g#3 ~ g#2 g#3 ~ g#2@2 g#3 ~",
  Y: "f#3 ~ f#2 f#3 ~ f#2 f#3 ~ f#2 f#3 ~ f#2@2 f#3 ~ d#2", Z: "d#3 ~ d#2 d#3 ~ d#2 d#3 ~ d#2 d#3 ~ d#2!2 d#3 ~ a#1",
  AA: "a#2 ~ a#1 a#2 ~ a#1 a#2 ~ a#1 a#2 ~ a#1 ~ a#2 ~ c#2", AB: "c#3 ~ c#2 c#3 ~ c#2 c#3 ~ c#2 c#3 ~ c#2 ~ c#3 ~ g#2",
  AC: "g#3 ~ g#2 g#3 ~ g#2 g#3 ~ g#2 g#3 ~ g#2 ~ g#3 ~ b1", AD: "b2 ~ b1 b2 ~ b1 b2 ~ b1 b2 ~ b1 ~ b2 ~ d#2",
  AE: "d#3 ~ d#2 d#3 ~ d#2 d#3 ~ d#2 d#3 ~ d#2 ~ d#3 ~ c#2", AF: "c#3 c#2 ~ c#3 ~ c#2 c#3 ~ c#2 c#3 ~ c#2@2 c#3 ~ f#2",
  AG: "d#3 ~ d#2 d#3 ~ d#2 d#3 ~ d#2 d#3 ~ d#2 ~ d#3 ~ a#1", AH: "g#3 ~ g#2 g#3 ~ g#2 g#3 ~ g#2 g#3 ~ g#2@2 g#3 ~ b1",
  AI: "c#3 ~ c#2 c#3 ~ c#2 c#3 ~ c#2 c#3 ~ c#2 ~ c#3 ~@2", AJ: "~ g#3!3 ~ g#3 g#4 g#3!3 ~ g#3!2 ~ g#4!2, g#2 ~@7",
  AK: "~ b2!3 ~ b2 b3 b2!3 ~ b3 b2!2 b3!2, b1 ~@7", AL: "~ d#3!3 ~ d#3 d#4 d#3!3 ~ d#3!2 ~ d#4!2, d#2 ~@7",
  AM: "c#2@2 c#3!2 ~ c#3 c#4 c#3!3 ~ c#3!2 ~ c#4!2, c#3 ~@15",
})).s("gm_lead_2_sawtooth").gain(0.19).pan(0.4)

// chords · pad sweep
const pad_sweep = note(`<
  ~@7 A@2 B@4 C D ~@10 E@4 F@4 ~ G@2 H@5 I@3 H@5 ~@10 E@4 F@4 ~ G@2 H@5 I@3 H@5 ~ G@2 H@5 I@3 H@5 ~ G@2 H@5 I@3 J@3 K L
  M ~
>`.pickRestart({
  A: "[c#4 d#4, [f#4,a#4]]/2", B: "[[c#4,f4]@2 ~ f#4, g#4@3 ~, ~ [d#4,b4]]/4", C: "[d#4,f#4,a#4]", D: "[c#4,f4,g#4]",
  E: "[a#4 b4 a#4 [f4,g#4], f#4@3 ~, d#4 c#4]/4", F: "[a#4 b4 a#4 g#4, f#4@24 f4@7 ~, d#4 c#4]/4",
  G: "[c#3 d#3, [f#3,a#3]]/2", H: "[[c#3,f3]@2 ~@2 a#3, g#3@3 f#3@2, ~@2 d#3@3, ~@2 b3@2 ~]/5",
  I: "[[f3,g#3] ~ d#3, c#3@2 ~, ~ [f#3,a#3]@2]/3", // Fm F#
  J: "[[c#3,f3]@16 [g#4,b4] ~ [g#4,b4] ~ [g#4,b4] ~ [g#4,b4] ~, g#3, ~@32 d#4 ~@3 d#4 ~@3 d#4 ~@3 d#4 ~@3]/3", // C# G#m
  K: "[d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~", // B
  L: "[d#4,f#4,a#4] ~ [d#4,f#4,a#4] ~ [d#4,f#4,a#4] ~ [d#4,f#4,a#4] ~", // D#m
  M: "[c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~", // C#
})).s("gm_pad_sweep").gain(0.09).pan(0.3)

// other · synth drum
const synth_drum = note(`<
  A@2 B A@3 C D ~@3 A@3 C A@4 B A@3 B E A@2 B A@3 B@2 F A@2 B A@3 B@2 A@2 B A@3 B G H I A@2 B A@2 B@2 C ~@3 C ~@2 J C
  A@2 B A@3 B K A@2 B A@3 B@2 A@2 B A@3 B K A@2 B A@3 B C A@2 B A@3 B@2 C ~@3 C ~@3 C
>`.pickRestart({
  A: "g1 ~@3 g1 ~@3 g1 ~@3 g1 ~@3", B: "g1 ~@3 g1 ~@3 g1 ~@3 g1 ~ g1 ~", C: "g1 ~@15", D: "g2 ~@15",
  E: "g1 ~@3 g1 ~@3 g1!5 ~ g1!2", F: "g1 ~@3 g1 ~@3 [g1,a6] ~ [g1,a6] ~ [g1,a6] ~ [g1,a6] ~", G: "g1 ~@13 g1 ~",
  H: "g1 ~@9 g6!2 f6 ~ f6!2", I: "[g1,f6] ~@3 g1 ~@3 g1 ~@3 g1 ~@3", J: "~@14 g1 ~",
  K: "g1 ~@3 g1 ~@3 g1 ~ c7 ~ [g1,c7] ~ g1 ~", // C5
})).s("gm_synth_drum").gain(0.29)

// chords · synth strings 1
const synth_strings_1 = note(`<
  ~@34 A@2 B@5 C@3 B@5 D@2 ~@17 A@2 B@5 C@3 B@5 E A@2 B@5 C@3 B@5 E A@2 B@5 C@3 B@5 E ~
>`.pickRestart({
  A: "[c#5 d#5, [f#5,a#5]]/2", B: "[[c#5,f5]@2 ~@2 a#5, g#5@3 f#5@2, ~@2 d#5@3, ~@2 b5@2 ~]/5",
  C: "[[f5,g#5] ~ d#5, c#5@2 ~, ~ [a#4,f#5]@2]/3", D: "[[c#5,f5,g#5]@13 ~@3]/2", E: "[c#5,f5,g#5]",
})).s("gm_synth_strings_1").gain(0.15).pan(0.4)

// other · string ensemble 2
const string_ensemble_2 = note(`<
  ~@34 A@2 B C D E F D A@2 B C D E F ~@19 A@2 B C D E F D A@2 B C D E F ~ A@2 B C D E F D A@2 B C D E F ~ G@2 H I@2 J K
  L@3 M@2 D E F N ~
>`.pickRestart({
  A: "[f#5,f#6]/2", B: "[f5,f6]", C: "[c#5,c#6]", D: "[g#5,g#6]", E: "[f#5,f#6]", F: "[d#5,d#6]",
  G: "[f#7 d#7, [f#5,f#6]]/2", H: "[f5,f6,c#7]", I: "[[c#5,c#6] [g#5,g#6], g#7]/2", J: "[f#5,f#6,f#7]",
  K: "[d#5,d#6,d#7]", L: "[[g#5,g#6] ~ d#7, c#7@11 ~@5, ~ [f#5,f#6]@2]/3", M: "[[f5,f6] [c#5,c#6], c#7@31 ~]/2",
  N: "f6",
})).s("gm_string_ensemble_2").gain(0.07).pan(0.7)

// chords · piano
const piano = note(`<
  ~@7 A B C@2 D E B F ~@19 G H I@2 J K H I G H I@2 J K H L M ~@17 G H I@2 J K H I G H I@2 J K H ~ G H I@2 J K H I G H
  I@2 J K H N O P I@2 J K H I G H I@2 ~@5
>`.pickRestart({
  A: "[c#4,f#4,a#4]@7 ~", B: "[d#4,f#4,a#4]@7 ~", C: "[c#4,f4,g#4]@7 ~", D: "[d#4,g#4,b4]@7 ~", E: "[d#4,f#4,b4]@7 ~",
  F: "[c#4,f4,g#4]", G: "~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~",
  H: "~@2 [d#4,f#4,a#4] ~@2 [d#4,f#4,a#4] ~@2 [d#4,f#4,a#4] ~@2 [d#4,f#4,a#4] ~@2 [d#4,f#4,a#4] ~", // D#m
  I: "~@2 [c#4,f4,g#4] ~@2 [c#4,f4,g#4] ~@2 [c#4,f4,g#4] ~@2 [c#4,f4,g#4] ~@2 [c#4,f4,g#4] ~", // C#
  J: "~@2 [d#4,g#4,b4] ~@2 [d#4,g#4,b4] ~@2 [d#4,g#4,b4] ~@2 [d#4,g#4,b4] ~@2 [d#4,g#4,b4] ~", // G#m
  K: "~@2 [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~", // B
  L: "c#3 ~ [c#4,f4,g#4] ~ c#3 [c#4,f4,g#4] c#3 ~ [c#4,f4,g#4] ~ c#3 [c#4,f4,g#4] ~@2 [c#3,c#4,f4,g#4] ~", // C#
  M: "c#3 ~ [c#4,f4,g#4] ~ c#3 [c#4,f4,g#4] ~ c#3 [c#4,f4,g#4] ~ c#3 [c#4,f4,g#4] ~@2 [c#3,c#4,f4,g#4] ~", // C#
  N: "c#3 ~ [c#4,f4,g#4] ~ c#3 [c#4,f4,g#4] c#3 ~ [c#4,f4,g#4] ~ c#3 [c#4,f4,g#4] f#4@2 [c#3,c#4,f4,g#4] ~, ~@5 d#4 ~@2", // C#
  O: "f#4@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] f#4 ~ [c#4,f#4,a#4] ~, ~@5 d#4 ~ g#4", // F#
  P: "f#4 ~ [d#4,f#4,a#4] ~@2 [d#4,f#4,a#4] ~@2 [d#4,f#4,a#4] ~@2 [d#4,f#4,a#4] ~@2 [d#4,f#4,a#4] ~", // D#m
})).s("gm_piano").gain(0.25)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@34 A B C@2 D E B C A B C@2 D E B C@2 ~@17 A B C@2 D E B C A B C@2 D E B ~ A B C@2 D E B C A B C@2 D E B C F B C@2 D
  E B C A B C@2 ~@5
>`.pickRestart({
  A: "~@3 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4]", // F#
  B: "~@3 [d#4,f#4,a#4] ~@2 [d#4,f#4,a#4] ~@2 [d#4,f#4,a#4] ~@2 [d#4,f#4,a#4] ~@2 [d#4,f#4,a#4]", // D#m
  C: "~@3 [c#4,f4,g#4] ~@2 [c#4,f4,g#4] ~@2 [c#4,f4,g#4] ~@2 [c#4,f4,g#4] ~@2 [c#4,f4,g#4]", // C#
  D: "~@3 [d#4,g#4,b4] ~@2 [d#4,g#4,b4] ~@2 [d#4,g#4,b4] ~@2 [d#4,g#4,b4] ~@2 [d#4,g#4,b4]", // G#m
  E: "~@3 [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~@2 [d#4,f#4,b4]", // B
  F: "~@3 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] ~@2 [c#4,a#4] ~@2 [c#4,f#4,a#4]", // F#
})).s("gm_piano").gain(0.13)

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

// drums · clap
const clap = s("cp").struct("<A@14 ~@3 A@16 ~ A@15 ~@10 A@8 ~ A@31 ~ A@12 ~@5>".pickRestart({
  A: "~ x ~ x",
})).gain(0.48)

// drums · clap · soft notes
const clap_soft = s("cp").struct("<~@55 A@3 B C ~ C ~ C ~ C ~@51>".pickRestart({
  A: "~ x ~ x", B: "~@2 x ~@2 x!2 ~", C: "~@5 x ~@2",
})).gain(0.32)

// drums · snare
const snare = s("sd").struct("<A@6 B A@7 ~@3 A@16 B A@15 ~@10 A@8 B A@15 B A@15 B A@12 ~@5>".pickRestart({
  A: "~@9 x ~@2 x ~@2 x", B: "x!16",
})).gain(0.32)

// drums · pedal hat
const pedal_hat = s("hh").struct("<A@6 B C A@6 ~ C ~ A@16 ~ A@15 ~@2 A@3 D A@12 ~ C A@30 ~ A@8 C A@3 ~@5>".pickRestart({
  A: "x!4", B: "x", C: "~ x!3", D: "x ~ x ~ x ~ x!2",
})).gain(0.48)

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

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

// drums · tambourine
const tambourine = s("tb").struct("<~@42 [x!16]!7 ~@27 [x!16]!23 ~ [x!16]!12 ~@5>").gain(0.24)

stack(
  bass, brass_section, lead_2_sawtooth, pad_sweep, synth_drum, synth_strings_1, string_ensemble_2, piano, piano_soft,
  kick, clap, clap_soft, snare, pedal_hat, open_hat, crash, tambourine
)

More by Ambra