Strudelify
In vacanza con me cover art

1997 · Mangio Troppa Cioccolata

In vacanza con me

Giorgia

KeyE♭ majorTempo110 bpm
0:00/0:00
// In vacanza con me — Giorgia
// 110 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 16 piano (copy of ch 5 synth choir)
// note: Full arrangement: all 100 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(110/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 · electric bass finger
const bass = note(`<
  ~@2 A B C D A B C E F G H I J K L M N O P Q R S T U A B V W X Y Z AA AB AC V AD AE AF AG@2 F AH AI AJ AK AL AM I AN O
  P Q R S T U A B V W X Y AG@2 AO AP AQ AR AS AT AU AV U A B V W X Y AW@2 A B C D A B C D A B C D A B C AX AY
>`.pickRestart({
  A: "eb2@3 eb3 ~@2 eb2@3 eb3 ~ bb1 eb2@3 eb3 ~ eb2 g2@2 ~ g2@2 c2",
  B: "c2@3 c3 ~@2 c2@3 c3@3 c2@2 ~ c3 ~@2 c2@3 c2@2 f1", C: "f1@3 f2 ~@2 f1@3 f2@2 ~ f1@2 ~ f2 ~@2 f1@3 f2@2 a1",
  D: "bb1@3 bb2 ~@2 bb1@2 ~ bb2@2 ~ bb1@3 bb2 ~@2 c2@3 c3@3", E: "bb1@9 bb2@7 ~ f2 bb1@5 ~",
  F: "eb2@7 ~@2 bb1@3 eb2@4 ~ bb1 f2@3 g2@2 c2", G: "c2@6 ~@3 g1@3 c2@4 ~ g1 g1@5 ~",
  H: "ab1@6 ~@2 ab2 eb2@3 ab1@9 ab1 ~ ab1", I: "bb1@6 ~@2 f2 bb2@3 bb1@6 bb2@3 bb1@2 c2",
  J: "eb2@7 ~@2 bb1@3 eb2@4 ~ eb2 bb1@2 ~ b1@2 g1", K: "c2@6 ~@2 c2 g1@3 c2@6 g1@6",
  L: "ab1@6 ~@2 ab2 eb2@3 ab2@9 ab2 ~ ab1", M: "bb1@6 ~@2 f2 bb2@2 f2 bb1@6 c2@5 bb1", N: "eb2@7 ~@2 bb1@3 eb2@11 ~",
  O: "c2@7 ~ c2 g1@3 c2@9 c2@2 eb2", P: "ab1@6 ~@2 eb2 ab2@3 ab1@9 ab1 ~ ab1",
  Q: "bb1@6 ~@2 f2 bb2@3 bb2@5 f2 bb1@3 f2@2 bb1", R: "eb2@6 ~@2 bb1 c2@3 eb2@5 g1 c2@5 g1",
  S: "db2@7 ~ db3 ab2@3 db2@11 ~", T: "ab2@3 ab2@2 ab1 ab1@2 ~ g1@6 ~@3 f1@6", U: "~ ab2 eb2 ab2 eb2 f2 bb2@2",
  V: "ab1@3 ab2 ~@2 ab1@3 ab2@2 eb1 ab1@3 ab2 ~@2 ab1@3 ab2@2 ab1",
  W: "bb1@3 bb2 ~@2 bb1@2 ~ bb2@2 ~ bb1@2 ~ bb1 ~@2 c2@2 ~ bb1 ~ c2",
  X: "eb2@3 eb3 ~@2 eb2@3 eb3 ~ bb1 eb2@3 eb3 ~ eb2 g2@2 ~ g3@3", Y: "c2@3 c3 ~@2 c2@3 c3@2 g1 c2@3 c3@2 ~ c2@3 c3@3",
  Z: "ab1@3 ab2 ~@2 ab1@3 ab2@2 ~ ab1@3 ab2 ~@2 ab3@5 ~", AA: "~ ab2 eb2 f2 ab2 a2 bb2@2",
  AB: "eb2@3 eb3 ~@2 eb2@3 eb3 ~ bb1 eb2@3 eb3 ~@2 d2@3 d3@2 g1", AC: "c2@3 c3@3 c2@3 c3 ~@2 c2@3 c3@2 c3 c2@3 c3@2 ~",
  AD: "bb1@3 bb2 ~@2 bb1@3 bb2@2 ~ bb1@2 ~ bb2 ~ bb2 bb1@3 c2@3",
  AE: "eb2@3 eb3 ~@2 eb2@3 eb3@2 bb1 eb2@3 eb3@2 bb1 d2@3 d3@2 g1", AF: "c2@3 c3@3 c2@3 c3@3 c2@3 c3@3 c2@3 c2@2 ~",
  AG: "[ab2@3 ab2@2 ab1 ab1@2 ~ g1@6 ~@3 f1@16 ~ f1 bb1@6 bb2@6]/2", AH: "c2@6 ~@2 c2 g1@3 c2@4 ~ g1 f1@3 g1@3",
  AI: "ab1@6 eb2@4 ~ ab1 ab1@2 ~ ab1@3 eb2@3 ab1@2 ~", AJ: "bb1@5 ~ f2@4 ~ f2 bb2@3 f2@3 bb1@3 f2@2 bb1",
  AK: "eb2@7 ~ eb2 bb1@3 eb2@4 ~ eb2 bb1@3 b1@3", AL: "c2@6 ~@2 g2 bb2@3 c3@5 g2 c2@3 g2@3",
  AM: "ab1@6 ~@2 ab2 eb2@3 ab2@11 ab1", AN: "eb2@7 ~@2 eb2@3 eb2@3 eb3@3 eb2@3 eb3@2 bb1",
  AO: "f2@3 f3 ~@2 f2@3 f3 ~ c2 f2@3 f3@2 ~ f2@2 ~ f3@2 g1", AP: "g1@3 g2 ~@2 g1@3 g2@2 g2 g1@3 g2@3 g1@3 g2@3",
  AQ: "ab1@3 ab2 ~@2 ab1@3 ab2@3 ab1@3 ab2@3 ab1@3 ab2@3", AR: "g1@3 g2@3 g1@2 ~ g2@2 ~ c2@2 ~ c2@3 eb2@3 c2@3",
  AS: "f1@3 f2 ~@2 f1@3 f2 ~ c1 f1@3 f2@2 ~ f1@2 ~ f2@2 g0", AT: "g1@3 g2 ~@2 g1@3 g2@2 g1 g1@3 g2@3 g1@3 g2@3",
  AU: "ab1 ab2 ab1 ab2 ab1 ab2 ab1 ab2", AV: "bb1@3 bb1@3 bb1@3 f2@3 bb2@10 ~@2",
  AW: "[ab2@3 ab2@2 ab1 ab1@2 ~ g1@6 c2@3 f2@9 c2@3 eb2@3 f2@2 f1 bb1@3 bb2@3 c2@3 c3@3]/2",
  AX: "bb1 ab2 eb2 ab2 eb2 f2 bb2@2", AY: "eb1 ~@5",
})).s("gm_electric_bass_finger").gain(0.73)

// chords · rock organ
const rock_organ = note("<~ A B@3 ~@77 C D ~@16>".pickRestart({
  A: "~@18 [eb2,e2,gb2,ab2,bb2] [b2,db3,eb3,e3,gb3] [gb3,ab3] [ab3,bb3] [b3,db4,eb4] [e4,gb4,ab4], ~@10 [eb3,e3] ~", // Ebm B Gbsus2 Absus2 B E Emaj7
  B: "[bb4 ~@2 bb5 [gb5,ab5] eb5 [b4,db5] [gb4,ab5,bb5] [e4,db5,eb5] b3 ~@62, bb6@11 ~, ~@5 e5@2 ~@65]/3", // Gbsus2 Bsus2 Gb Dbm
  C: "~@21 bb4 [b4,db5,eb5] [e5,gb5,ab5]", D: "bb6@19 ~@5, bb5 ~@23",
})).s("gm_rock_organ").gain(0.31).pan(0.4)

// chords · electric guitar muted
const electric_guitar_muted = note(`<
  ~@6 A@2 B@2 ~@8 C ~ D ~@9 A@2 E@2 ~@4 A@2 ~@10 C ~ D ~@9 A@2 ~@2 F G F G F G F G ~@5 A@2 H@2 I ~ J ~ K ~ L ~ I ~ J ~ K
  ~ L ~ M
>`.pickRestart({
  A: "[~@3 f4@9 g4@22 ~@14]/2", B: "[~@3 g4@9 eb4@11 ~ [eb4,g4]@23 ~, ~@23 ab3@22 ~@3]/2",
  C: "~@3 bb4@5, ~@3 f4@19 ~@2, ~@6 eb4@11 ~@7", D: "~@3 bb3@5, ~@3 f4@13 ~@8, ~ eb4@3",
  E: "[~@3 g4@9 eb4@11 ~ eb4@23 ~, ~@23 ab3@22 ~@3]/2",
  F: "[eb4,bb4]@4 ~ [eb4,bb4] ~@3 g3 ~ g3 [eb4,bb4]@2 ~@4 [eb4,bb4]@2 ~@4", // Eb5
  G: "[eb4,bb4]@4 ~ [eb4,bb4] ~@2 g3!2 ~@2 [eb4,bb4]@4 ~@2 [eb4,bb4]@2 ~@3 g3", // Eb5
  H: "[[g4,eb5]@8 ~ [bb4,d5]@9 [g4,c5]@17 ~@13]/2", I: "~@3 bb4@5, ~@3 f4@7 ~@14, ~@2 eb4@5 ~",
  J: "~@3 bb3@5, ~@3 f4@7 ~@14, ~ eb4@3", K: "~@9 bb4@14 ~, ~ f4@6 ~, ~@3 eb4@4 ~@5",
  L: "~@3 bb3@5, ~ f4@2 ~@5, ~ eb4@3", M: "[bb3,eb4]@13 ~@11",
})).s("gm_electric_guitar_muted").gain(0.4).pan(0.3)

// chords · epiano1
const epiano1 = note(`<
  ~@10 A B C D E@2 C D A B C D A F G@2 ~@7 H ~@6 I@2 A B C D E@2 C D A B C D A F G@2 ~@6 I@2 ~@8 H ~@6 I@2 ~@15 H J
>`.pickRestart({
  A: "[bb3,d4,f4]@3 [bb3,eb4,g4]@5", B: "[bb3,d4,f4]", C: "[ab3,eb4,g4]@23 ~", D: "[eb4,g4]@3 f4@5, [ab3,c4]",
  E: "[[bb3,d4,f4]@9 [bb3,eb4,g4]@14 ~ [d4,f4,d5,bb5]@24, ~@23 f5@19 ~@6]/2", F: "[ab3,db4,eb4,g4]",
  G: "[[ab3,g4,c5,eb5]@9 [g3,f4,bb4,d5]@9 [eb4,ab4,c5]@9 [c4,ab4] ~@2 [bb3,eb4] ~@2 [c4,eb4,ab4]@2 ~ [bb3,eb4,g4]@3 [c4,eb4,ab4]@3 [d4,f4,bb4]@4 ~@2, ~@18 f3@7 ~@2 eb4@2 ~ g4@2 ~@16]/2", // Abmaj7 Gm7 Ab Fm Eb5 Ab Eb Ab …
  H: "~@3 [c4,ab4] ~@2 [bb3,eb4] ~@2 [c4,eb4,ab4]@2 ~ [bb3,eb4,g4]@3 [c4,eb4,ab4]@3 [d4,f4,bb4]@4 ~@2, ~@3 eb4@2 ~ g4@2 ~@16", // Fm Eb5 Ab Eb Ab Bb
  I: "[[ab3,g4,c5,eb5]@3 [g3,f4,bb4,d5]@2 ~ [f3,eb4,ab4,c5]@6 [bb3,ab4,c5,eb5]@4]/2", J: "[bb3,eb4,g4] ~@5",
})).s("gm_epiano1").gain(0.33)

// other · trumpet
const trumpet = note(`<
  ~@8 A@2 B ~@12 C ~ D ~@2 E@3 ~@2 D ~@2 F@3 ~@2 G@2 ~@12 C ~ D ~@2 E@3 ~@2 G@2 ~@2 H I@2 J K D ~@2 E@3 ~@2 G@2 ~@3 L@3
  ~@4 M L@3 N O
>`.pickRestart({
  A: "[~@12 c4@3 eb4 ~@2 c5@3 bb4@16 ~@2 c5 ~@2 g4@2 f4 eb4@3, ~@18 b4 ~@23 gb4 ~@5]/2", B: "eb4", C: "bb4",
  D: "~@3 ab4 ~@2 g4 ~@2 ab4@2 ~ eb4@3 f4@2 ~ bb4@3 ~@3",
  E: "[~@12 c4@3 eb4 ~@2 c5@3 bb4@19 ~ f4 g4 ~@2 bb4@15 ~@12, ~@18 bb4 ~@53]/3",
  F: "[~@12 c4@3 eb4 ~@2 c5@3 bb4@19 ~@2 eb5@3 bb4@22 ~@5, ~@18 bb4 ~@53]/3",
  G: "[~@12 bb4@2 ~ c5 ~@2 gb4 ~ f4 eb4@9 ~@18]/2", H: "eb4@6 f4@5 ~ g4@6 bb4@5 ~", I: "[c5@20 ~ eb5@24 ~@3]/2",
  J: "ab5 bb5", K: "c6 eb6", L: "[~@12 c4@3 eb4 ~@2 c5@3 bb4@19 ~@2 g4@3 bb4@27, ~@18 bb4 ~@23 f4 ~@29]/3",
  M: "~@9 g4 ~@2 f4@4 eb4@8", N: "~@3 ab5 ~@2 g5 ~@2 ab5@2 ~ eb5@3 f5@2 ~ bb5@3 ~@3", O: "eb6 ~@7",
})).s("gm_trumpet").gain(0.52).pan(0.3)

// other · alto sax
const alto_sax = note(`<
  ~@21 A B@2 ~@4 C@3 ~@5 D@3 ~@2 E@2 ~@10 A B@2 ~@4 C@3 ~@2 E@2 ~@2 F G@2 H I ~@3 C@3 ~@2 E@2 ~@3 J@3 ~@4 K J@3 L M
>`.pickRestart({
  A: "~@2 g4 ab4", B: "[bb4@18 g4@3 ~@3 bb4@23 ~, ~@7 f4@6 ~@3]/2",
  C: "[~@12 c4@3 eb4 ~@2 c5@3 bb4@19 ~ f4 g4 ~@2 bb4@15 ~@12, ~@18 bb4 ~@53]/3",
  D: "[~@12 c4@3 eb4 ~@2 c5@3 bb4@19 ~@2 eb5@3 bb4@20 ~@7, ~@18 bb4 ~@53]/3",
  E: "[~@12 bb4@3 c5 ~@2 gb4@2 f4 eb4@7 ~@20, ~@18 f4 ~@29]/2", F: "eb3@5 ~ f3@6 g3@6 bb3@5 ~",
  G: "[c4@20 ~ eb4@22 ~@5]/2", H: "ab4@12 bb4@11 ~", I: "c5 eb5",
  J: "[~@12 c4@3 eb4 ~@2 c5@3 bb4@19 ~@2 g4@3 bb4@27, ~@18 bb4 ~@23 f4 ~@29]/3", K: "~@9 g4 ~@2 f4@5 eb4@7",
  L: "~@3 ab3@2 ~ g3@3 ab3 ~@2 eb3@3 f3@2 ~ bb3@3 ~@3", M: "eb4 ~@7",
})).s("gm_alto_sax").gain(0.41).pan(0.8)

// chords · synth brass 1
const synth_brass_1 = note(`<
  ~@2 A B C D A E F G H I J K H I J K H I J K ~@3 L M N O P A E F L M N O P A E Q@2 H I J K H I J K H I J K ~@3 L M N O
  P M N Q@2 ~@5 R S T L M N O P M N Q@2 A B C D A E F D A B C D A E F U ~
>`.pickRestart({
  A: "~@3 [f4,bb4,d5,f5]@3 ~@2 f4@4 [g4,bb4,eb5,g5]@3 ~ [g4,bb4,eb5,g5]@3 ~@2 [g4,bb4,eb5,g5]@3, ~@7 [bb4,d5,f5]@3 ~@14", // Bb Eb Bb
  B: "~@3 [c4,bb4,d5,f5]@4 ~ [c4,bb4,d5,f5]@4 [g3,g4,c5,eb5]@4 [g3,g4,c5,eb5]@3 ~@2 [g3,eb5]@3, ~@20 [g4,c5]@3 ~", // Bb Cm C5
  C: "~@3 [bb3,c5,eb5,g5]@4 ~ [bb3,eb5]@4 [c4,c5,f5,ab5]@4 [c4,c5,f5,ab5]@3 ~@2 [c4,c5,f5,ab5]@3, ~@7 [c5,g5]@4 ~@13", // Cm7 Eb5 Fm C5
  D: "~@3 [ab3,c5,eb5,g5]@4 ~ [ab3,c5,eb5,g5]@3 ~ [ab3,ab4,d5,f5]@4 [ab3,ab4,d5,f5]@3 ~ [ab3,ab4,d5,f5]@3 ~", // Abmaj7 Ddim
  E: "~@3 [g4,eb5,bb5,d6]@4 ~ [g4,bb5,d6]@3 ~ [d4,eb4,g5,bb5]@3 ~@2 [d4,eb4,bb5]@3 ~ [d4,eb4,g5,bb5]@2 ~, ~@7 eb5@3 ~@6 g5@3 ~@5", // Ebmaj7 Gm Ebmaj7
  F: "~@3 [c5,eb5,g5]@4 ~ eb5@4 [ab4,c5,eb5]@3 ~ [ab4,c5,eb5]@3 ~@2 [ab3,ab4,c5,eb5]@3, ~@3 bb3@9 ab3@7 ~@5, ~@7 [c5,g5]@4 ~@13", // Cm Ab C5
  G: "[bb3,ab4,eb5,g5]", H: "[d4,f4]@3 [eb4,g4]@5", I: "[d3,d4,f4]", J: "[ab3,eb4,g4]", K: "[eb4,g4]@3 [c4,f4]@5",
  L: "~@3 c4@2 ~ bb3@2 ~ c4@2 ~ g4@2 ~ ab4@3 bb4@3 ~@3, ~@3 ab4 ~@2 g4 ~@2 ab4 ~@14",
  M: "~@3 [f4,bb4,d5]@3 ~@2 f4@4 [g4,bb4,eb5]@3 ~ [g4,bb4,eb5]@3 ~@2 [g4,bb4,eb5]@3, ~@7 [bb4,d5]@3 ~@14", // Bb Eb Bb
  N: "~@3 [c4,bb4,d5]@4 ~ [c4,bb4,d5]@4 [g3,g4,c5,eb5]@4 [g3,g4,c5,eb5]@3 ~@2 [g3,eb5]@3, ~@20 [g4,c5]@3 ~", // Gm Cm C5
  O: "~@3 [bb3,c5,eb5]@3 ~@2 [bb3,eb5]@4 [c4,c5,f5]@4 [c4,c5,f5]@3 ~@2 [c4,c5,f5]@3, ~@7 c5@4 ~@13", // Cm7 Eb5 F5
  P: "~@3 [ab3,c5,eb5]@4 ~ [ab3,c5,eb5]@3 ~ [ab3,ab4,d5]@4 [ab3,ab4,d5]@3 ~ [ab3,ab4,d5,f5]@3 ~", // Ab Abdim Ddim
  Q: "[[g4,c5]@7 ~@2 [f4,bb4]@2 ~@7 [ab4,c5]@18 [ab4,c5,eb5]@12]/2", R: "~@6 g5@3 bb5 ~@2",
  S: "[eb5,ab5]@12 [eb5,g5]@11 ~", T: "[ab4,c5] [c5,eb5]",
  U: "~@3 [c4,ab4] ~@2 bb3@2 ~ c4@2 ~ [eb4,g4]@3 [f4,ab4]@3 [f4,bb4]@4 ~@2, ~@6 g4 ~@2 ab4 ~@14", // Fm Eb Fm Bb5
})).s("gm_synth_brass_1").gain(0.35)

// other · string ensemble 1
const string_ensemble_1 = note(`<
  ~@2 A@8 B@2 ~@14 A@4 C@3 ~ A@4 D@4 B@2 ~@14 A@4 D@4 E F G H I@2 J K ~ A@4 D@4 A@12 L@4 M
>`.pickRestart({
  A: "[bb5@7 c6]/4", B: "[bb5@23 ~]/2", C: "[bb5@71 ~]/3",
  D: "[~@48 g5@9 [d5,f5]@7 ~@2 eb5@18 ~@12, bb5@71 ~@25, ~@22 g5@5 ~@5]/4", E: "f3", F: "g3@23 ~", G: "ab3@23 ~",
  H: "g3@5 ~@19", I: "[eb6@47 ~]/2", J: "ab5 bb5", K: "c6 eb6", L: "[bb5@14 c6 bb5]/4", M: "[eb5,eb6] ~@5",
})).s("gm_string_ensemble_1").gain(0.39)

// drums · kick
const kick = s("bd").struct("<~@2 A@22 B A@15 B A@15 B A@7 B A C@8 D A@6 B A@16 D E>".pickRestart({
  A: "x!2", B: "x ~@2 x!2 ~@3", C: "x!2 ~@2 x!2 ~@2", D: "x ~@3 x!2 ~@2", E: "x",
})).gain(0.65)

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

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

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@2 A ~@3 A ~@3 A ~@7 A ~@7 A ~@3 A ~@3 A ~@3 A ~@3 A ~@7 A ~@7 A ~@3 A ~@3 A ~ A ~ A ~ A ~@2 A ~@3 A ~@3 A ~@3 A ~@3
  A ~@3 A ~@2 B ~
>`.pickRestart({
  A: "~@7 x", B: "x",
})).gain(0.51)

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

// drums · ride
const ride = s("rd").struct("<~ [~@3 x!20 ~] ~@98>").gain(0.36)

// drums · ride · soft notes
const ride_soft = s("rd").struct("<~ [x!3 ~@21] ~@98>").gain(0.22)

stack(
  bass, rock_organ, electric_guitar_muted, epiano1, trumpet, alto_sax, synth_brass_1, string_ensemble_1, kick, snare,
  hihat, open_hat, crash, ride, ride_soft
)

More by Giorgia