Strudelify

Apri il cuore

Celentano

KeyG♯ minorTempo88 bpm
0:00/0:00
// Apri il cuore — Celentano
// 88 bpm, 4/4, key G# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 118 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(88/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 · "tk2"
const bass = note(`<
  ~@28 A B C D A B C E F G H I J K L M J K N O P Q C R P Q C R P S C R P Q C R P Q C R P Q C T A B C D A B C E F G H I J
  K L M J K N O J K L U J K N O J K L M J K N O J K L M J K N O V@2
>`.pickRestart({
  A: "a#1 ~@6 a#1!2 ~@7", B: "a#1 ~@6 a#1 ~ a#1!2 ~@5", C: "g#1@2 ~@5 g#1 g#1@2 ~@6",
  D: "g#1 ~ g#1@2 ~ g#1 ~ g#1 g#1@2 ~@6", E: "g#2@4 f#2@3 ~ d#2 c#2 b1@2 g#1@2 f#1 ~",
  F: "g#1@2 ~@5 g#1!2 ~@4 g#1 b1 g#1", G: "c#2@2 ~@5 c#2!2 ~ c#2@2 ~@3 f1", H: "f#1@2 ~@5 f#1 g1@2 ~@6",
  I: "g#1@2 ~@5 g#1!2 ~ d#2@2 g#2 d#2 g#1 ~", J: "c#2@4 ~@3 c#2 d#2 ~ d#2@2 d#1@3 ~", K: "g#1@3 ~@4 g#1 f#1 ~ f#1@5 ~",
  L: "c#2@5 ~@2 c#2 d#2!2 a#1@2 d#1@3 ~", M: "g#1@4 ~@2 g#1 f#1 ~ f#1 f#1@4 b1@2", N: "e1 d#1",
  O: "g#1@5 ~@2 g#1 c#2 g#1 c#2 g#1 d#2@2 f#2@2", P: "c#2@2 ~@5 c#2 c#2@2 ~@6", Q: "c#2 ~@5 c#2!2 ~@2 c#2@2 ~@2 f#1 g1",
  R: "g#1 ~@5 g#1!2 ~ g#1 g#1@2 ~@2 g#1 ~", S: "c#2@2 ~@4 g#2!2 f#2@2 d#2 c#2 c#2@2 b1 ~",
  T: "g#2@4 f#2@3 ~ d#2 c#2 b1@2 g#1 f#1 g#1@2", U: "g#1@2 ~ g#1 a#1@2 ~ a#1 b1@2 ~ b1 c#2 d#2 g#2@2",
  V: "[g#1@15 ~]/2",
})).s("gm_electric_bass_finger").gain(0.56)

// chords · string ensemble 2 · "tk3"
const string_ensemble_2 = note(`<
  ~@2 A@4 B@2 C D E@2 ~@23 F G H I J K L M N O P Q R ~@8 S@2 T@2 U@2 V@2 W@2 T@2 U@2 V@2 ~@7 X G H I J K Y M N Z AA AB R
  K L M AC Z AA AB AD K L M AC AE AF AG AH K L M AC AE AF AG AI AJ@2
>`.pickRestart({
  A: "g#3/4", B: "[~ [d#4,f4], [g#3,g#4]]/2", C: "[g#3,e4,c#5]", D: "a#4 b4 c#5 d#5, a#3, c#4 d#4",
  E: "[[g#3,g#4,g#5]@15 ~]/2", F: "g#4", G: "d#5 g#5, [g#3,c4]", H: "[e3,g#3,c#5,g#5]",
  I: "~ c#5 [a#4,e5]@2, [a#4,f#5] ~", J: "[b4,d#5]@5 ~ b4 d#5, ~@10 g#4@5 ~", K: "[e4,g#4,b4]@2 b4 a#4, ~ [d#4,g4]",
  L: "g#4@2 f#4 ~@3 d#5@2, d#4, ~@3 g#4@5, ~ b4", M: "a#4 c#5@2 e5, c#4@15 ~, g#3@3 ~@5",
  N: "d#5@3 g#5@3 a#5@2, [g#4,b4]", O: "[g#3,b3,b5] [g3,a#3,c#6]", P: "d#6 f#6, [g#3,b3]", Q: "f#6 e6",
  R: "[b3,d#4,g#4]@7 ~", S: "[~ [e4,g#4]@31]/2", T: "[d#4,g#4]/2", U: "[g#4,g#6]/2", V: "[~ f#4@3, [g#3,b3,d#4]]/2",
  W: "[e4,g#4]/2", X: "g#4@15 ~", Y: "g#4@2 f#4 ~@3 d#5@2, d#4@15 ~, ~@6 g#4@9 ~, ~@8 b4@7 ~",
  Z: "[g#3,b3,g#4,b5] [g3,a#3,g4,c#6]", AA: "[g#4,d#6] [f#4,f#6], [g#3,b3]", AB: "[f#4,f#6] [e4,e6]",
  AC: "d#5@3 g#5@3 a#5@2, [g#4,b4]@15 ~", AD: "[b3,d#4,g#4]@15 ~", AE: "[b4,g#5] [c#5,a#5]",
  AF: "[d#5,b5] [c#5,a#5] [b4,g#5] [a#4,f#5]", AG: "[g#4,f#5] [g4,e5]", AH: "~@8 g#4@7 ~, [b4,d#5]",
  AI: "~ g#4, [b4,d#5]", AJ: "[[b3,c#4,d#4,f#4]@31 ~]/2",
})).s("gm_string_ensemble_2").gain(0.27)

// chords · synth strings 1 · "tk6"
const synth_strings_1 = note(`<
  ~@10 A@2 B@8 C@8 D@2 E@2 D@2 F@2 G H ~@10 B@16 I@8 D@2 E@2 D@2 J@2 G H ~@34 K@2
>`.pickRestart({
  A: "[g#2,f#4,b4]/2", B: "[e4 d#4 e4 [d#4,f#4], g#4]/8", C: "[e4 d#4 e4 ~, g#4]/8", D: "[g#3,c#4,e4]/2",
  E: "[g#3,b3,d#4]/2", F: "[[g#3,b3] [g#3,c4], d#4]/2", G: "[c4,d#4,f#4]", H: "[c#4,e4]", I: "[e4 d#4 e4 f#4, g#4]/8",
  J: "[[b3,d#4] [c4,d#4], g#3]/2", K: "[g#2,f#3,b3]/2",
})).s("gm_synth_strings_1").gain(0.12).pan(0.3)

// chords · synth strings 1 · "tk6" · soft notes
const synth_strings_1_soft = note("<~@14 A@2 ~@6 A@2 ~@2 B@2 ~@22 A@2 ~@6 A@2 ~@6 A@2 ~@2 C@2 ~@46>".pickRestart({
  A: "f#4/2", B: "[d#4,f#4]/2", C: "d#4/2",
})).s("gm_synth_strings_1").gain(0.06).pan(0.3)

// chords · string ensemble 1 · "tk7"
const string_ensemble_1 = note(`<
  ~@19 A B ~@6 C D@2 E F D@2 E G ~@36 D@2 E F D@2 E G ~@11 H I ~@6 H J ~@6 H J ~@6 H K@2
>`.pickRestart({
  A: "~@2 c#4 d#4 ~ [b3,d#4] c#4 [b3,d#4] c#4 [b3,d#4] [a#3,c#4,f#4] [b3,d#4,g#4] [a#3,c#4,f#4] [b3,d#4,g#4] [a#3,c#4,a#4] [b3,d#4,b4]", // B F# G#m F# G#m A#m B
  B: "[g#4,c#5]@7 ~@9", // C#5
  C: "~@3 d#4 ~ [b3,d#4] c#4 [b3,d#4] [a#3,c#4] [b3,d#4] [a#3,c#4,f#4] [b3,d#4,g#4] [a#3,c#4,f#4] [b3,d#4,g#4] [a#3,c#4,a#4] [b3,d#4,b4]", // B A#m B F# G#m F# G#m A#m …
  D: "[e4,a#4,c#5]/2", E: "[d#4,b4] [c#4,a#4] [b3,g#4] [a#3,f#4]", F: "[b3,g#4]", G: "[d#4,g#4]@15 ~",
  H: "g#4@10 ~ g#4 b4 a#4 g#4 f#4", I: "e4 ~@3", J: "e4 ~", K: "[g#4@31 ~]/2",
})).s("gm_string_ensemble_1").gain(0.23).pan(0.8)

// chords · string ensemble 1 · "tk7" · soft notes · A#m
const string_ensemble_1_soft = note(`<
  ~@19
  [~@2 a#3 b3 [a#3,c#4] ~ a#3 ~ a#3 ~@7]
  [e4@7 ~@9]
  ~@6
  [~@2 [a#3,c#4] b3 [a#3,c#4] ~ a#3 ~@9]
  ~@90
>`).s("gm_string_ensemble_1").gain(0.12).pan(0.8)

// chords · pad warm · "tk8"
const pad_warm = note(`<
  ~@6 A@3 B C@2 D@2 E@2 F@2 E@2 D@2 E@2 F@2 E@2 ~@8 G H I J K L ~@2 K L ~@2 D@2 E@2 F@2 E@2 D@2 E@2 F@2 E@2 D@2 E@2 F@2
  M@2 ~@8 G H I J K N ~@2 K N ~@2 K N ~@2 K L ~@2 K L ~@2 K L ~@2 K L ~@2 K L ~@4
>`.pickRestart({
  A: "[[a#4,b4] c#5@2, g#4, d#5@2 ~]/3", B: "g#3@7 ~ g3@8, c#5", C: "[d#4,f#4]/2", D: "[c#3,b3,e4]/2",
  E: "[g#2,a#3,d#4]/2", F: "[c#2,g#3,e4]/2", G: "[g#2,d#4,g#4]", H: "[e3,g#3]", I: "f#2 g2, [a#3,c#4]",
  J: "[g#2,g#3,b3]", K: "[b3,e4] [a#3,c#4]", L: "~ f#3, [b3,d#4]", M: "[[g#2,a#3,d#4]@31 ~]/2",
  N: "~@8 f#3@7 ~, [b3,d#4]", // B
})).s("gm_pad_warm").gain(0.2).pan(0.3)

// chords · epiano2 · "tk9"
const epiano2 = note(`<
  ~@6 A B C D E@2 ~@8 F ~ G@2 ~@4 H I ~ J H I ~@3 K L M N O P Q N O R@2 ~@24 H I ~ J H I ~@3 K S M N O T U N O R@2 N O T
  U N O R@2 N O P U N O V W N O X Y N O V Z AA@2
>`.pickRestart({
  A: "~@13 d#5@3, [b3,g#4], ~@10 a#4@5 ~", B: "c#5@10 b4@3 d#5@3", C: "b4@13 ~@3", D: "~@4 f#5@3 ~, a#4@7 ~",
  E: "[[g#2,g#4,b4]@15 ~]/2", F: "[e4,b4]@15 ~", G: "[[d#4,g#4]@23 ~@9]/2",
  H: "e3 ~ e3 ~ e3 ~ e3 g#3, ~ c#3@3 ~ c#3@3, ~@3 g#3@3 ~@2", I: "e3@2 ~@2 e3@2 g#3@2 ~@2 c#3@5 ~, ~@2 c#3@6 e3@7 ~",
  J: "~@7 g#4, g#2@3 g#4@3 d#4@2, ~ b3@3 g#2@4, ~@4 d#4@6 b3@5 ~", K: "~@5 g#4 c#5 g#4",
  L: "~@3 e5, a#4@15 ~, ~@8 g4@7 ~", M: "[a#3,a#4,b4] ~@2 d#5, d#5 b4, ~ [g#3,g#4]@3",
  N: "~ g#4 ~ a#4, [b4,e5] [d#4,g4]", O: "~ g#4 ~ b4, [g#2,d#4,b4] [f#2,d#4,f#4]",
  P: "~ g#4 ~ d#4, [c#3,b3,e4] [d#2,b3,g4]", Q: "g#4@4 a#4@4 g#4@4 a#4@3 ~, [g#2,d#4]@8 [f#2,d#4]@7 ~",
  R: "[~@4 b4@4 ~@4 a#4@3 ~@13 b5@4, [e2,f#3,g#3,d4,g#4] d#2@3, b3@6 ~@2 [g3,a#3,c#4,g4]@7 ~ [b4,d#5,g#5]@16]/2", // E7 Gdim G#m
  S: "~@3 e5, a#4, ~ g4", T: "~ g#4 ~ d#4, [c#3,b3,e4]@8 [d#2,b3,g4]@7 ~", U: "g#4 a#4 g#4 a#4, [g#2,d#4] [f#2,d#4]",
  V: "~@4 b4@4 ~@4 a#4@3 ~, [e2,f#3,g#3,d4,g#4] [d#2,g3,a#3,c#4,g4], b3@3 ~@5", W: "g#2@3 ~@5 f#5@8, [b3,d#4,g#4]@15 ~",
  X: "~@4 g#4@4 ~@4 d#4@3 ~, [c#3,b3,e4]@8 [d#2,b3,g4]@7 ~", Y: "g#4 a#4 g#4 a#4, [g#2,d#4]@8 [f#2,d#4]@7 ~",
  Z: "g#2@3 ~@5 f#5@8, [b3,d#4,g#4]@7 ~", AA: "[[g#2,a#3,b3,d#4]@15 ~]/2",
})).s("gm_epiano2").gain(0.24).pan(0.3)

// other · electric guitar jazz · "tk11"
const electric_guitar_jazz = note("<~@63 A B C@2 D@2 E F G H ~@27 I J K L M N O P Q R S T U V W X Y@2>".pickRestart({
  A: "~@5 d#4 g#4 a#4 b4 a#4!2 b4 a#4 g#4 f#4 g#4", B: "d#4@5 ~ d#4@2 c#4@6 ~@2",
  C: "[c#3 ~@2 c#3!2 d#3 e3 g#3 c#4 d#4 e4 g#4 c#5 d#5@7 ~@2 c#5 d#5 b4 g#4 ~ g#4@5]/2",
  D: "[b4@2 ~@7 [g#4,f#5] [b4,f#5] ~ [c#5,f#5]!2 ~ c#5@2 b4 c#5@4 b4 c#5 d#5 b4 g#4 g#4@3 b4 ~]/2", // G#7 B5 F#5
  E: "~@4 c#4 d#4 g#4 d#4 f#4 g#4 f#4@3 ~ f#4 g#4", F: "g#4@12 ~@2 g#4 a#4",
  G: "b4 a#4 g#4 f#4 g#4 f#4@2 ~ d#5 c#5@3 g#5 f#5@2 ~", H: "g#5@3 ~@5", I: "~@3 f#4@4 ~", J: "~@12 c#4@2 b3 ~",
  K: "c#4@7 ~@4 d#4 f#4 d#4 c#4 b3", L: "c#4 d#4 c#4 b3@4 ~@9", M: "~@3 g#4!2 b4 g#4@6 b4@2 ~@2",
  N: "~@4 b4@2 ~ b4 g#4@4 ~@4", O: "~@4 c#5 b4 c#5@8 b4 c#5", P: "d#5@8 ~@3 d#5 b5 d#5 b5 d#5",
  Q: "a#5@2 g#5 g#5@4 ~@9", R: "~@4 f#5 d#5 c#5 d#5 c#5@4 ~@4", S: "~@4 g#5 d#5 c#5 d#5 g#5 d#5 c#5 d#5 g#5 d#5 c#5 ~",
  T: "~@3 d#4 [g#4,b4] c#5 g#4 ~ g#4@2 b4 ~@5", U: "~@2 f#4 d#4 f#4@4 f#4 d#4 c#4 d#4 c#4 b3 c#4@2",
  V: "d#4@3 f#4 g#4@2 ~ g#4 b4 g#4 b4!2 g#4@3 b4", W: "c#5@4 b4 ~ c#5!3 ~ b4 g#4 f#4 d#4 c#4 b3",
  X: "c#4@2 b3 g#3 f#3@2 g#3@3 f#3 d#3 c#3 b2 g#2 f#2@2", Y: "g#2/2",
})).s("gm_electric_guitar_jazz").gain(0.48).pan(0.3)

// chords · epiano1 · "tk12"
const epiano1 = note(`<
  ~@2 A B@2 C@2 D E F G@2 H@2 I@2 J@2 K@2 L@2 M@2 N@2 O@2 P Q@2 R P S T U V W X Y Z AA AB AC Z AD AE AF AG@2 AH AI J@2
  K@2 H@2 AJ AK J@2 K@2 AG@2 AL AK J@2 K@2 AM@2 T R AM@2 T U V W X Y Z AA AB AN Z AD AE AO Z AA AB AN Z AD AE AO Z AA AB
  AP Z AD AE AO Z AA AB AN Z AA AE AO AQ@2
>`.pickRestart({
  A: "b3@10 ~@3 d#4@3, [g#2,f#3,a#3]@15 ~, d#4@13 ~@3, ~@10 b3@5 ~", // D#m
  B: "[~@8 g#3@5 ~@2 c#4, [f2,g#3,c#4]@15 ~ [c#2,e3]@16, ~@10 b3@5 ~ c#4@12 b3@4, ~@13 d#4@19, ~@8 b3@5 g#3@3]/2", // C# C#m
  C: "[e4@4 d#4@3 ~@5 e4@4 b3@10 ~@3 d#4@3, [a#1,g#3,a#3,c#4]@8 c#4@23 ~, ~@8 [a1,g3,f#4]@8 [g#2,f#3,a#3]@15 ~, ~@16 d#4@13 ~@3, ~@26 b3@5 ~]/2", // A#m7 D D#m
  D: "~@10 b3@3 d#4@3, [f2,g#3,c#4]@7 ~", E: "g#3@5 ~@2 c#4, [c#2,e3], c#4@7 ~, b3@3 b3, ~@5 g#3@3",
  F: "e4@4 d#4@3 ~@5 e4@4, [a#1,g#3,a#3,c#4] [a1,g3,c#4,f#4]", G: "[[g#2,f#3,a#3,b3,d#4]@31 ~]/2",
  H: "[e4@18 ~@8 e4@5 ~, c#2@31 ~, b3@24 b3@7 ~, g#3@11 g#3@5, ~@9 e4@4 ~@3]/2",
  I: "[[b3,d#4]@14 [b3,d#4]@4 [b3,d#4]@4 [b3,d#4]@4 [b3,d#4]@5 ~, [g#1,f#3,a#3]@31 ~, ~@14 a#4@17 ~, ~@18 g#4@13 ~, ~@22 f#4@9 ~]/2", // B D#m
  J: "[e4@18 ~@6 e4@7 ~, c#2@31 ~, b3@22 b3@9 ~, g#3@20 g#3@11 ~, ~@9 e4@3 ~@4]/2",
  K: "[[b3,d#4]@14 [b3,d#4]@4 [b3,d#4,g#4]@13 ~, [g#1,f#3,a#3]@31 ~, ~@14 a#4@17 ~]/2", // B G#m D#m
  L: "[[c#2,g#3,b3,e4]@5 [c#2,f#3,b3,d#4]@2 [g#3,b3]@4 ~@3 e4@2, ~@7 e4@5 g#3@4, ~@7 c#2@3 ~ c#2@4 ~, ~@13 b3@3]/2", // C#m7 B G#m
  M: "[[g#1,f#3,a#3,b3,d#4]@10 [g#1,f#3,a#3,c#4]@4 g#1@8 ~@6 d#4@3 ~, ~@14 b3@17 ~, ~@14 d#4@12 a#3@5 ~, ~@14 a#3@10 f#3@7 ~, ~@14 f#3@8 g#1@9 ~]/2", // G#m7 F#
  N: "[[c#2,g#3,b3,e4]@10 [c#2,f#3,b3,d#4]@4 c#2@7 ~@7 e4@3 ~, ~@14 e4@12 b3@5 ~, ~@14 [g#3,b3]@10 g#3@7 ~, ~@11 c#2@5]/2", // C#m7 B G#m
  O: "[[g#1,f#3,a#3,b3,d#4]@10 [g#1,f#3,a#3,c#4]@4 f#3@8 ~@6 d#4@3 ~, ~@14 g#1@17 ~, ~@14 d#4@12 b3@5 ~, ~@14 b3@10 a#3@7 ~, ~@14 a#3@8 f#3@9 ~]/2", // G#m7 F#
  P: "[a#2,g#3,a#3,c#4,e4]", // A#m7b5
  Q: "[~@4 [g#2,d#4,b4] [g#2,c#4,a#4] [g#2,b3,g#4] [g#2,a#3,f#4], [a#2,g#3,a#3,c#4,e4]@5 ~@3]/2", // G#m A#m7 G#m D#m A#m7b5
  R: "g#4@10 ~@2 g#4@2 g#2 ~, b3@15 ~, g#2@13 ~@3, ~@10 d#4@5 ~", S: "[a#2,g#3,a#3,c#4,e4]@15 ~",
  T: "[g#2,d#4,b4] [g#2,c#4,a#4] [g#2,b3,g#4] [g#2,a#3,f#4]", U: "[g#2,c4,g#4]@15 ~", V: "[g#2,c4,d#4,f#4]@15 ~",
  W: "[c#3,g#3,c#4,e4]", X: "[f#2,a#3,c#4,f#4] [g2,a#3,d#4,g4]", Y: "[g#2,b3,d#4,g#4]@15 ~",
  Z: "[c#3,b3,e4] [d#2,g3,c#4]", AA: "[g#2,g#3,b3] [f#2,f#3,b3]", AB: "[c#2,e3,b3] [d#2,g3,c#4]", AC: "[g#2,g#3,b3]!2",
  AD: "[g#2,g#3,b3]@8 [f#2,f#3,b3]@7 ~", AE: "[e2,f#3,d4]@4 [g3,c#4]@3 ~, ~ d#2", AF: "[g#2,g#3,b3,d#4]@7 ~",
  AG: "[e4@18 ~@8 e4@5 ~, c#2@31 ~, b3@3 b3, g#3@11 g#3@5, ~@9 e4@4 ~@3]/2", AH: "[g#2,f#3,a#3,b3,d#4]",
  AI: "[g#2,f#3,a#3,b3,d#4]@6 [g#2,d#4,b4]@4 [g#2,c#4,a#4]@5 ~", // G#m7 G#m A#m7
  AJ: "[g#2,f#3,a#3,b3,d#4]@10 [b3,d#4,f#4]@3 [g#3,e4]@2 ~", AK: "[b3,d#4,g#4]@3 [b3,d#4,f#4]@3 [b3,d#4]@9 ~",
  AL: "[g#2,f#3,a#3,b3,d#4]@15 ~", AM: "[[a#2,g#3,a#3,c#4,e4]@31 ~]/2", AN: "[g#2,g#3,b3]", AO: "[g#2,g#3,b3,d#4]@15 ~",
  AP: "[g#2,g#3,b3]@15 ~", AQ: "[~@11 [d#5,g#5]@20 ~, [g#3,b3,d#4,f#4,g#4,a#4,c#5]@31 ~, ~@10 [a#5,b5]@21 ~]/2",
})).s("gm_epiano1").gain(0.31)

// chords · electric guitar clean · "tk13"
const electric_guitar_clean = note("<~@48 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 ~@46>".pickRestart({
  A: "[~@14 g#3@11 ~@7, ~@8 e4@17 ~@7, ~@10 d#4@15 ~@7, ~@12 b3@13 ~@7]/2",
  B: "[~@14 d#3@11 ~@7, ~@8 b3@17 ~@7, ~@10 a#3@15 ~@7, ~@12 g#3@13 ~@7]/2",
})).s("gm_electric_guitar_clean").gain(0.33).pan(0.7)

// chords · piano · "tk14"
const piano = note("<~@6 A@2 B C D ~@19 E F ~@2 E G ~@38 E F ~@2 E G ~@38>".pickRestart({
  A: "[~@10 a#4@3 d#5@3 c#5@10 ~@3 d#5@3, g#4, ~@26 b4@5 ~]/2", B: "b4@3 ~@5", C: "a#4 f#5", D: "b4 ~",
  E: "[d#4,b4] [c#4,a#4] [b3,g#4] [a#3,f#4]", F: "[b3,g#4]@13 ~@3", G: "[c4,g#4]@7 ~",
})).s("gm_piano").gain(0.34).pan(0.2)

// other · electric guitar muted · "tk15"
const electric_guitar_muted = note("<~@48 A B C D A B C E F G C D F B C D F G C D A B C E ~@46>".pickRestart({
  A: "c#3 ~@5 c#3!2 ~@6 c#3 ~", B: "c#3 ~@5 c#3 b2 c#3 ~ b2 c#3 ~ c#3 b2 ~", C: "g#2 ~@5 g#2!2 ~@8",
  D: "g#2 ~@5 g#2 f#2 g#2!2 f#2 g#2 ~ g#2 f#2 ~", E: "g#2 ~@5 g#2 ~ g#2!2 f#2 g#2 ~ g#2 f#2 ~",
  F: "c#3 ~@5 c#3!2 ~@5 b2 c#3 ~", G: "~@7 g#2 f#2@2 d#2 c#2 c#2@2 b1 ~",
})).s("gm_electric_guitar_muted").gain(0.34).pan(0.8)

// other · electric guitar muted · "tk15" · soft notes
const electric_guitar_muted_2 = note("<~@48 A B ~ C A B ~ D ~ E ~ C ~ B ~ C ~ E ~ C A B ~ D ~@46>".pickRestart({
  A: "~@13 b2 ~@2", B: "~@5 b2 ~@10", C: "~@5 f#2 ~@10", D: "~@5 f#2 ~ f#2 ~@8", E: "~@6 g#2 ~@9",
})).s("gm_electric_guitar_muted").gain(0.19).pan(0.8)

// other · piano · "tk16"
const piano_2 = note("<~@32 A B C@2 D E ~@38 A F C@2 G E ~@36>".pickRestart({
  A: "~@8 c#4@3 d#4@2 e4@3", B: "d#4@2 c#4@8 ~ d#4 e4 d#4 ~ c#4", C: "[b3 c#4 ~ d#4@21 d#4@3 e4@2 f#4@3]/2",
  D: "e4 d#4@11 e4 f#4 e4 d#4", E: "e4@3 ~", F: "d#4 c#4@8 c#4 ~ d#4 e4 d#4 ~ c#4", G: "e4 d#4@8 d#4@3 e4 f#4 e4 d#4",
})).s("gm_piano").gain(0.05)

// drums · kick
const kick = s("bd").struct("<~@28 [x ~@6 x!2 ~@7]!88 x ~>").gain(0.64)

// drums · snare
const snare = s("sd").struct("<~@28 A@19 B A@7 C A@3 D A@3 C A@3 D A@3 C A@19 B A@7 B A@7 B A@7 B ~@2>".pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@6 x!2 ~@3", C: "~@4 x ~@4 x ~@2 x!2 ~@2", D: "~@4 x ~@4 x ~@2 x ~@3",
})).gain(0.56)

// drums · hihat
const hihat = s("hh").struct("<~@28 A@21 B A B A B A B A B A B A B A B A B A B A B A B A@44 ~@2>".pickRestart({
  A: "x ~ x!3 ~ x!3 ~ x!3 ~ x!2", B: "x ~ x!3 ~ x!3 ~ x!3 ~@3",
})).gain(0.32)
// … 33 more lines

More by Celentano