Strudelify

Quando finisce un amore

Cocciante

KeyF♯ majorTempo80 bpm
0:00/0:00
// Quando finisce un amore — Cocciante
// 80 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 97 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(80/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(`<
  A@6 B@6 C@8 D@2 E@2 F G H@2 I J K L M N@2 O@2 P Q R S T U V W X Y Z AA AB Y Z AA AB AC AD AE AF AC AD AE AF AC AD AE
  AF AG ~@3 AH@2 AI@3 AJ@4 AK@4 AL AM AN AO AL AM AN AO AP AM AN AO AQ ~
>`.pickRestart({
  A: "[~@11 d5, c4@3 d4@2 ~ c4@3 d4@3, ~ d6@3 c6@2 ~ d6@2 ~ c6@2, ~@2 c5@2 ~ d5@2 ~ c5@2 ~@2]/6",
  B: "[~@11 d5, c4 d4 c4 d4, ~ d6@2 ~ c6@2 ~ d6@2 ~ c6@2, ~@2 c5@2 ~ d5@2 ~ c5@2 ~@2]/6",
  C: "[~@360 d4@23 ~, c4@3 d4@3 c4@3 d4@3 c4@3 ~, ~ d6@2 ~ c6@2 ~ d6@2 ~ c6@2 ~ d6@2 ~, ~@2 c5@2 ~ d5@2 ~ c5@2 ~ d5@2 ~ c5@2]/8",
  D: "[~@48 d#4@24 ~ f6@23, d#4 f4 ~ f4, ~ d#5@46 ~ d#5@46 ~@2, ~@25 f6@47 ~@24]/2",
  E: "[~ [f4,f5] [d#4,d#5] [f4,f6], d#4 ~@3, ~ d#6@69 ~@26]/2", F: "[f#4,f#5] [g#4,g#5]",
  G: "f#4 [g#4,g#5], f#6@37 ~@11", H: "[f#4 g#4 f#4 g#4, f#5@41 ~@7 f#5@42 ~@6, ~@24 g#6@41 ~@31]/2",
  I: "[a4,a6] [b4,b5]", J: "a4 [b4,b6]", K: "[a4,a5] b4", L: "[a4,a5]@24 [b4,b6]@23 ~", M: "[b4,b5] [c#5,c#7]",
  N: "[b4,b5] [c#5,c#6]", O: "[b4@2 ~@2 [f#2,a#2,c#3]!4, b5@3 ~@5, ~@8 c#5@23 ~]/2", P: "[b4,b5] [c#5,c#6], b2",
  Q: "[b4,b5] [c#5,c#6], g#2", R: "[b4,b5]@24 [c#5,c#6]@23 ~, e2", S: "[b4,b5] [c#5,c#6], f#2@23 ~", T: "d5 e5, d3",
  U: "d5 e5, b2", V: "d5@24 e5@23 ~, g2", W: "d5 e5, a2@23 ~", X: "b2@12 b2@11 ~ b2@11 ~ b2@11 ~, f#5@15 ~",
  Y: "~ b4@11 ~ e5@11 ~ f#5@11 ~ b4@11, e2, b3 e4 f#4 b3", Z: "~ e5@11 ~ f#5@11 ~ c#5@11 ~ e5@11, c#2, e4 f#4 c#4 e4",
  AA: "~ f#5@11 ~ c#5@11 ~ e5@11 ~ f#5@11, a1, f#4 c#4 e4 f#4",
  AB: "~ c#5@11 ~ e5@11 ~ f#5@11 ~ b4@11, b1, c#4 e4 f#4 b3", AC: "~@3 e2 ~@2 f#4@6, e4@23 ~@25",
  AD: "e4@24 f#4@23 ~, ~@6 c#2 ~@5", AE: "e4@6 ~@3 a1 ~@2, a1 ~@5 f#4@6", AF: "e4 f#4, ~@6 b1 ~@5",
  AG: "~@3 c#2 ~@2 [c#2,g#4]@6, g#4@23 ~@25", AH: "[~ f#5, ~@47 f#4@48 ~]/2",
  AI: "[~@4 f#5 f5, f#6@24 f#4@23 ~@25, ~@8 g#5@16 g#6@23 ~]/3",
  AJ: "[~@7 g#5, f#6@8 f#4@8 f#5@8 f#6@7 ~, ~ g#5@2 g#6@2 g#4@2 ~]/4",
  AK: "[~@7 g#6, f#5@8 f#4@8 f#6@8 f#5@7 ~, ~ g#6@2 g#5@2 g#4@2 ~]/4",
  AL: "~ c#5@11 ~ f#5@11 ~ g#5@11 ~ c#5@11, f#2, c#4 f#4 g#4 c#4",
  AM: "~ f#5@11 ~ g#5@11 ~ d#5@11 ~ f#5@11, d#2, f#4 g#4 d#4 f#4",
  AN: "~ g#5@11 ~ d#5@11 ~ f#5@11 ~ g#5@11, b1, g#4 d#4 f#4 g#4",
  AO: "~ d#5@11 ~ f#5@11 ~ g#5@11 ~ c#5@11, c#2, d#4 f#4 g#4 c#4",
  AP: "~@13 f#5@11 ~ g#5@11 ~ c#5@11, f#2, ~ f#4 g#4 c#4", AQ: "~ f#5@47, [f#2,f#4]@47 ~",
})).s("gm_piano").gain(0.61).pan(0.7)

// bass · electric bass finger · "BASSO"
const bass = note(`<
  ~@20 A B C D E A F G H I J K L M N O P Q R S T U Q V W X Y Z AA AB Y Z AA AB AC AD AE AF AC AD AE AF AC AD AE AF AG AH
  AI AJ Z AK AL M AM AN AO M AP AN AO M AP AN AO M AP AN AO M AP AN AO M AP AQ ~
>`.pickRestart({
  A: "d#2", B: "c2", C: "g#1", D: "a#1", E: "f#2", F: "b1", G: "c#2@47 ~", H: "a1@14 ~@4 a1@2 ~@4 a1@23 ~",
  I: "f#1@15 ~@3 f#1@3 ~@3 f#1@23 ~", J: "d2@15 ~@3 d2@2 ~@4 d2@21 ~@3", K: "e2@15 ~@3 e2@2 ~@4 e2@23 ~",
  L: "f#2@15 ~@3 f#2@2 ~@4 f#2@11 ~ f#1@11 ~", M: "b1@5 ~ b1 ~ b1@8", N: "g#1@8 ~ g#1 ~@2 g#1@12",
  O: "e1@16 ~@2 e1@3 ~@3 e1@23 ~", P: "f#1@10 ~@2 f#1@10 ~@2 f#1@10 ~@2 f#1@9 ~@3", Q: "b1@14 ~@4 b1@3 ~@3 b1@24",
  R: "g#1@14 ~@4 g#1@3 ~@3 g#1@24", S: "e1@7 ~@2 e1 ~@2 e1@12", T: "f#1@8 ~ f#1 ~@2 f#1@11 ~",
  U: "d2@14 ~@4 d2@3 ~@3 d2@24", V: "g1@7 ~@2 g1 ~@2 g1@12", W: "a1@8 ~ a1 ~@2 a1@11 ~",
  X: "b1@14 ~@4 b1@2 ~@4 b1@11 ~ f#2@11 ~", Y: "e2@16 ~@2 e2@3 ~@3 e2@24", Z: "c#2@16 ~@2 c#2@3 ~@3 c#2@24",
  AA: "a1@5 ~ a1 ~ a1@8", AB: "b1@14 ~@4 b1@3 ~@3 b1@23 ~", AC: "~@4 e2 ~@11", AD: "~@8 c#2 ~@7", AE: "a1 ~@11 a1 ~@3",
  AF: "~@8 b1 ~@7", AG: "~@4 c#2 ~@3 c#2@8", AH: "f#2@16 ~@2 f#2@5 ~ f#2@24", AI: "d#2@8 ~ d#2@2 ~ d#2@12",
  AJ: "b1@17 ~ b1@4 ~@2 b1@24", AK: "f#2@16 ~@2 f#2@3 ~@3 f#2@24", AL: "d#2@5 ~ d#2 ~ d#2@8",
  AM: "c#2@16 ~@2 c#2@3 ~@3 c#2@23 ~", AN: "~@6 f#2 ~ f#2@8, f#1@11 ~", AO: "~@6 d#2 ~ d#2@8, d#1@15 ~",
  AP: "c#2@16 ~@2 c#2@2 ~@4 c#2@23 ~", AQ: "f#1@11 ~",
})).s("gm_electric_bass_finger").gain(0.55)

// chords · pad warm · "TAPPETO"
const pad_warm = note("<~@16 A@3 B@4 C@8 D@5 E@4 F@5 G@7 H@2 ~@12 I@8 J@8 K@8 L@6 ~>".pickRestart({
  A: "[c3@47 a2@48 f2@48 g2]/3",
  B: "[~@47 [d#3,a#3]@48 c3@48 [g#2,g#3]@48 [a#2,g#3,a#3,d#4], ~@47 d#4@144 ~, ~@47 g3@96 ~@49, ~@95 c4@96 ~]/4", // D#5 G# D#sus4
  C: "[~@23 d4@24 [f#2,c#4]@48 d#2@48 [b1,b3]@48 f#4@24 f4@24 [a2,e4]@48 [f#2,e4,f#4]@48 [d2,d4,f#4]@48 e2, ~@47 f#3@144 [c#2,g#3,c#4]@48 ~@145, ~@47 a#3@96 ~@96 a3@145, ~@95 d#4@96 ~@48 c#4@97 ~@48]/8", // F#5 B A5 F#7 D C#5
  D: "[~@23 b3@24 ~@24 a#4@24 [b2,f#4]@48 g#2@48 [e2,b3,e4]@48 [c#4,f#4,a#4], ~@23 g#4@48 ~@24 b4@144 ~, ~@47 [f#2,c#4,f#4]@48 d#4@95 ~@50, ~@143 g#4@96 ~]/5", // B5 E5 F# F#5
  E: "[~@47 f#4@48 ~@48 e4@48 [c#4,f#4,b4], ~@47 b4@144 ~, ~@47 d#4@95 ~@50, ~@95 g#4@96 ~]/4", // F#sus4
  F: "[~@23 a#4@24 f#4@46 ~@2 f#4@48 [g4,b4]@48 ~@24 c#4@24 [f#4,b4], ~@47 [d4,a4]@96 d4@72 ~@25, ~@191 [e4,a4]@49]/5", // G B5 D5 A5
  G: "[~@23 d#4@24 b3@48 ~@120 d#4@24 b3@48 c#4@48 g#4, ~@47 e4@168 ~@24 [e4,g#4]@97, ~@47 g#4@120 f#4@72 ~@97, ~@95 c#4@96 b4@48 ~@97]/7", // E
  H: "[~@23 f#4@23 ~ e4@36 d#4@11 ~@2, ~@47 f#4@48 ~, ~@47 b4@44 ~@5]/2",
  I: "[~@23 c#3@24 [a#3,c#4]@96 [b3,d#4]@48 f#4@24 f4@24 c#4@48 ~@48 b3@48 [c#4,f#4], ~@11 [c#4,f4,g#4]@35 ~ f#3@144 [g#3,c#4]@48 f#3@144 ~, ~@239 a#3@96 ~@49, ~@287 d#4@96 ~]/8", // A#m B F#5 C# C#5
  J: "[~@23 f4@24 c#4@48 ~@120 [g#3,f4]@24 c#4@48 ~@48 [b3,f#4]@48 c#4, ~@47 [a#3,f#4]@96 [b3,f#4]@72 ~@24 [a#3,f#4]@96 ~@49, ~@95 d#4@96 c#4@47 ~@49 d#4@96 ~]/8", // C# B5 D#m B5 D#m
  K: "[~@23 [g#3,f4]@24 c#4@48 ~@120 [g#3,f4]@24 c#4@48 ~@48 [f#4,b4]@48 [b3,a#4], ~@47 [a#3,f#4]@96 [b3,f#4]@72 ~@72 d#4@96 ~, ~@95 d#4@96 c#4@47 ~ [f#4,a#4]@96 ~@49]/8", // C# B5 Bmaj7 D#m B5 F#
  L: "[~@23 [c#4,f4,g#4]@24 c#4@48 ~@48 b4@48 d#4@24 [c#4,f4,g#4]@24 [f#4,a#4]@48 ~, ~@47 [f#4,a#4]@96 f#4@72 ~@73, ~@95 d#4@94 ~@2 c#5@96 ~]/6", // C# F#
})).s("gm_pad_warm").gain(0.33).pan(0.4)

// chords · string ensemble 2 · "SLOWSTRIN"
const string_ensemble_2 = note("<~@33 A@2 B@7 C@2 D@5 E@5 ~@12 F@4 G@8 H@4 I@5 J@7 K@2 ~>".pickRestart({
  A: "[b4@23 c#5@24 b4@24 c#5@24 b4]/2",
  B: "[~@23 c#5@72 ~@96 e5@47 ~ [e5,g#5,b5]@24 [f#5,a#5]@24 d6@24 e6@24 b5, ~@95 b5@142 ~@99, ~@95 d#5@96 ~@145, ~@143 g#5@93 ~@51 [f#5,a5]@49]/7", // E F# F#m
  C: "[~@47 [g5,d6]@47 ~ [g5,b5]]/2", // G5 G
  D: "[~@23 [e5,a5]@24 e6@24 d#6@24 b5@24 d#6@24 c#6@24 b5@24 [a5,c#6]@48 [b5,e6], ~@47 [f#5,b5]@48 g#5@96 ~@49, ~@143 e6@93 ~@4]/5", // A5 A E5 B5
  E: "[~@23 d#6@24 ~@24 d#6@24 c#6@24 b5@24 a5@47 ~ [b5,e6]@47 ~@2, ~@47 g#5@96 c#6@83 ~@14, ~@47 b5@48 e6@95 ~@50]/5", // E5
  F: "[~@22 g#4@25 c#4@48 d#4@96 c#4, ~@18 c#4@29 ~@145, ~@19 f4@27 ~ f#4@145]/4",
  G: "[~@24 f4@23 ~@24 g#4@24 a#4@48 b4@36 a#4@12 g#4@12 ~@12 g#4@23 ~ f#4@24 g#4@24 f#4@24 g#4@24 f#4@24 ~@12 a#4@12 [f#4,g#4], ~@47 f#4@168 ~@24 a#4@96 b4@36 ~@13, ~@47 c#4@48 d#4@96 c#4@48 ~@145, ~@203 c#5@84 ~@72 g#4@24 ~]/8", // F#sus2
  H: "[~@47 f#5@24 g#5@24 ~@24 g#5@24 f#5@24 g#5@24 f#5, ~@23 [g#4,c#5]@72 f#5@24 ~@73, ~@96 d#5@95 ~]/4", // C#5
  I: "[~@23 g#5@24 ~@48 d#5@96 ~@24 f5@24 ~, c#5@95 ~@96 c#5@49, ~@48 f#5@167 ~@25]/5",
  J: "[~@47 d#5@96 ~@24 f5@24 f#5@24 g#5@24 ~@25 c#6@23 ~@36 a#5@12 g#5, f#5@167 ~@73 a#5@47 d#6@48 ~, ~@143 c#5@96 d#5@72 b4@24 ~, ~@288 b5@35 ~@13]/7",
  K: "[~@48 a#5@47 ~, [c#5,c#6], ~@47 f#5@48 ~]/2", // C#
})).s("gm_string_ensemble_2").gain(0.25).pan(0.6)

// other · string ensemble 2 · "SLOWSTRIN"
const string_ensemble_2_2 = note("<~@36 A@3 B@3 C@4 D E F G@3 H I ~@29 J K L M@3 N O J K L P Q ~>".pickRestart({
  A: "[~@36 f#5@46 ~@2 c#6@24 b5@29 ~ f#6@5 ~]/3",
  B: "[~ f#6@11 ~ e6@11 ~ g#5@11 ~ b5@23 e6@12 ~@13 f#6@23 ~ a5@11 ~ e6@23, ~@72 c#6@23 ~@49]/3",
  C: "[~ d6@11 ~ a5@11 ~@12 b5@23 ~ d6@24 ~@24 g5@12 ~@12 b5@12 c#6@24 f#6@24, ~@25 e6@23 ~@37 e6@47 ~@60, ~@5 a5@3]/4",
  D: "~ e6@23 ~ f#6@23", E: "~ g#6@47", F: "~ a6@35 g#6@12", G: "[~ f#6@35 ~ b5@23 ~ e6@23 ~ f#6@23 ~ g#6@35]/3",
  H: "~ a6@23 ~ g#6@11 ~ e6@11", I: "~ f#6@11 b6@24 b5@9 ~@3", J: "f#6@23 ~ g#6@23 ~", K: "a#6@47 ~",
  L: "b6@35 ~ a#6@12", M: "[g#6@35 ~ c#6@23 ~ f#6@23 ~ g#6@23 ~ a#6@35 ~]/3", N: "b6@23 ~ a#6@11 ~ f#6@11 ~",
  O: "g#6@11 ~@2 c#7@35", P: "g#6@37 ~@11", Q: "~ f#6@47",
})).s("gm_string_ensemble_2").gain(0.47).pan(0.4)

// other · french horn · "FRENCHORN"
const french_horn = note("<~@37 A@4 B@4 C D E F G H I F G ~@29 J K L M N O P Q J K L R S ~>".pickRestart({
  A: "b3 c#4", B: "~ d4@23 ~ e4@23", C: "~ f#4@43 ~@4", D: "~ e4@19 ~@5 f#4@20 ~@3, b3@13 ~@35",
  E: "~ e4@12 ~@12 e4@19 ~@4, c#4@5 ~@7", F: "f#4@22 ~@3 c#4@20 ~@3", G: "~ e4@21 ~@3 f#4@19 ~@4",
  H: "~ e4@22 ~@2 f#4@19 ~@4", I: "c#4@23 ~@2 e4@19 ~@4", J: "~ f#4@20 ~@4 g#4@20 ~@3", K: "d#4@22 ~@3 f#4@20 ~@3",
  L: "g#4@22 ~@3 d#4@20 ~@3", M: "~ f#4@21 ~@3 g#4@20 ~@3", N: "c#4@17 ~@7 f#4@21 ~@3", O: "g#4@11 ~ d#4@10 ~@2",
  P: "~ f#4@22 ~@2 g#4@20 ~@3", Q: "d#4@21 ~@4 f#4@20 ~@3", R: "~ f#4@21 ~@3 g#4@18 ~@5", S: "~ f#4@46 ~",
})).s("gm_french_horn").gain(0.54).pan(0.6)

// bass · trombone
const bass_2 = note("<~@54 A B C D A B C D A B C D E ~@30>".pickRestart({
  A: "~@6 e2 ~@17", B: "~@12 c#2 ~@11", C: "a1 ~@17 a1 ~@5", D: "~@12 b1 ~@11", E: "~@6 c#2 ~@5 c#2@10 ~@2",
})).s("gm_trombone").gain(0.58).pan(0.4)

// chords · ocarina
const ocarina = note("<~@54 A@8 B@2 C@3 ~@30>".pickRestart({
  A: "[[g#4,b4]@96 a4@96 g#4@96 a4@46 ~@2 a4@47 ~, [c#5,e5], ~ b4@2 b4]/8", B: "[g#4,b4]/2",
  C: "[~@36 f#5@12 [f5,g#5]@19 ~@5, b4@67 ~@5, a4@2 ~, ~@72 c#5@65 ~@7]/3", // Fm
})).s("gm_ocarina").gain(0.14).pan(0.4)

// drums · kick
const kick = s("bd").struct(`<
  ~@24 A@4 B@7 A C B@3 D E F G H I B J@2 K B J@2 L M N O N M N O N M N O N M B@9 P Q R E S T I B J@2 K B J@2 U B J@2 V A
  ~
>`.pickRestart({
  A: "x", B: "x ~@2 x!2 ~@3", C: "x!4", D: "x ~ x ~@4 x!2 ~@2 x ~@4", E: "x ~@2 x ~@3 x!2 ~@2 x ~@3 x",
  F: "x ~ x ~@4 x!2 ~@2 x ~@2 x ~", G: "x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~", H: "x ~@2 x ~@3 x ~@3 x ~@2 x!2",
  I: "~@2 x!2 ~@2 x!2 ~@8", J: "x ~@5 x ~ x ~@2 x ~ x ~ x", K: "x ~@2 x ~ x ~ x!2 ~@2 x ~@2 x ~",
  L: "x ~@2 x ~ x ~ x!2 ~@2 x ~@4", M: "~ x ~@2", N: "~ x", O: "x ~@2 x", P: "x ~@5 x ~ x ~@6 x",
  Q: "x ~@2 x ~@4 x ~@2 x ~ x ~ x", R: "x ~@5 x ~ x ~@2 x ~@3 x", S: "x ~@2 x ~@2 x ~ x ~@2 x ~@3 x",
  T: "x ~@2 x ~@2 x ~ x ~@2 x ~ x ~ x", U: "x ~@2 x ~ x ~ x!2 ~@2 x ~@3 x", V: "x ~@2 x ~ x ~ x ~@3 x ~@4",
})).gain(0.48)

// drums · rim
const rim = s("rim").struct("<~@67 [~ x ~ x]!8 ~@22>").gain(0.48)

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

// drums · low tom
const low_tom = s("lt").struct("<~@45 A ~@20 B ~@11 B ~@3 C ~@11 D ~@2>".pickRestart({
  A: "~@15 x", B: "~@7 x", C: "~@22 x!2", D: "~@5 x ~@2",
})).gain(0.55)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@11 A ~@12 B@4 C@7 ~@2 D E@2 F G H@2 I J ~@8 K ~@12 L C@7 D E@2 M G H@2 J ~@14
>`.pickRestart({
  A: "~@12 x!2 ~@2", B: "~ x ~ x", C: "x!4", D: "~ x!7", E: "x!8", F: "x!7 ~", G: "~ x ~ x!3 ~ x", H: "x!2 ~ x!3 ~ x",
  I: "~ x ~ x ~ x ~ x", J: "~ x ~ x ~@4", K: "x", L: "~ x!3", M: "~ x ~ x ~ x ~@2",
})).gain(0.41)

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

// drums · open hat
const open_hat = s("oh").struct("<~@36 A ~@3 B C@3 D E ~@7 B ~@24 F C@3 E ~@14>".pickRestart({
  A: "~ x", B: "~@7 x", C: "~ x ~ x", D: "x!4", E: "x!3 ~", F: "~ x!3",
})).gain(0.41)

// drums · open hat · soft notes
const open_hat_soft = s("oh").struct("<~@11 [~@7 x] ~@23 x [x!2 ~@2] ~@60>").gain(0.28)

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

// drums · crash
const crash = s("cr").struct("<~@36 A B ~@3 B ~@4 B ~@20 B ~@7 B ~@2 B@2 ~@3 B ~@3 B ~@3 B ~@2 C B ~>".pickRestart({
  A: "~@3 x", B: "x", C: "~ x",
})).gain(0.48)

// drums · ride
const ride = s("rd").struct("<~@46 A B@6 C ~@29 A B@3 A B@2 D A B@2 E ~@2>".pickRestart({
  A: "~ x!7", B: "x!8", C: "x!7 ~", D: "x!6 ~@2", E: "x!4 ~@4",
})).gain(0.55)

stack(
  piano, bass, pad_warm, string_ensemble_2, string_ensemble_2_2, french_horn, bass_2, ocarina, kick, rim, snare,
  low_tom, hihat, mid_tom, open_hat, open_hat_soft, high_tom, crash, ride
)

More by Cocciante