Strudelify

Una storia d'amore e di coltello

Celentano

KeyA minorTempo148 bpm
0:00/0:00
// Una storia d'amore e di coltello — Celentano
// 148 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 20, 4/4 at bar 21, 2/4 at bar 35, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 170 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(148/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(`<
  ~@19 A B@9 C ~@20 D@5 E@4 F G ~@13 H I J K L M N K O P Q P Q P R A B@4 S@4 B T ~@2 U V W X Y Z AA X Y V U V U V U V U
  V W X Y Z AA X Y V U V U V U V AB V W X Y Z AA X Y V U V U V U V U V W X Y Z AA X Y V U V U V U V U@3 AC
>`.pickRestart({
  A: "~@2 a2!2", B: "e2 ~ e2@2 ~@2 e2@2 a2@4 a2@4", C: "e2 ~ e2@2 ~@2 e2@2 a1@3 ~@5", D: "a2@4 a2@4 e2 ~ e2@2 ~@2 e2@2",
  E: "b2@4 b2@4 e2 ~ e2@2 ~@2 e2@2", F: "a2@4 a2@4 e2 ~ e2@2 c2@2 b1@2", G: "a1 ~@7", H: "~@8 b2@3 ~ e2@3 ~",
  I: "b2@3 ~ e2@3 ~ b2@3 ~ e2@3 ~", J: "b2@2 ~@2 e2@3 ~ a2@3 ~ e2@3 ~", K: "a2@3 ~ e2@3 ~ a2@3 ~ e2@2 ~@2",
  L: "a2@3 ~ e2@2 ~@2 c2@3 ~ g1@3 ~", M: "c2@3 ~ g1@3 ~ c2@3 ~ g1@3 ~", N: "c2@3 ~ g1@3 ~ a2@3 ~ e2@3 ~",
  O: "a2@3 ~ e2@2 ~@2 b2@3 ~ e2@3 ~", P: "b2@3 ~ e2@3 ~ a2@3 ~ e2@3 ~", Q: "a2@3 ~ e2@3 ~ b2@3 ~ e2@3 ~",
  R: "a2@3 ~ e2@3 ~ e2@5 ~@3", S: "e2 ~ e2@2 ~@2 e2@2 b2@4 b2@4", T: "e2 ~ e2@2 c2@2 b1@2 a1@2 ~@6",
  U: "a2@3 ~ e2@3 ~ a2@3 ~ e2@3 ~", V: "b2@2 ~@2 e2@3 ~ b2@3 ~ e2@3 ~", W: "b2@2 ~@2 e2@3 ~ b2@2 ~@2 e2@2 ~@2",
  X: "a2@2 ~@2 e2@3 ~ a2@3 ~ e2@3 ~", Y: "a2@2 ~@2 e2@3 ~ a2@2 ~@2 e2@2 ~@2", Z: "c2@2 ~@2 g2@3 ~ c2@3 ~ g2@3 ~",
  AA: "c2@2 ~@2 g2@3 ~ c2@2 ~@2 g2@2 ~@2", AB: "a2@3 ~ e2@3 ~ a2@2 g2@2 f2@2 e2@2", AC: "a2@3 ~@13",
})).s("gm_electric_bass_finger").gain(0.64)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@16 A@4 B C B C B C B C B D ~@20 E F E F@2 G H@3 F I ~@28 J B C B C K L M@2 N D ~@2 O P@2 O@2 Q R O S P T U T P V P W
  P@2 O@2 Q X O S P T U T P V P Y P@2 O@2 Q X O S P T U T P V P Y P@2 O@2 Q X O S P T U T P V P Y@3 Z
>`.pickRestart({
  A: "[~@16 [b3,e4]@12 ~@4 [b3,e4]@22 ~@2 [c4,e4,a4]@4 [c4,e4,a4]@2 [c4,e4,a4]!2, ~@15 [e2,d3,g#3]@13 ~@2 e2@25 ~@9, ~@31 d3@24 ~@9, ~@31 g#3@22 ~@11]/4", // E5 Am E7
  B: "[c4,e4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]@4 [c4,e4,a4]@2 [c4,e4,a4]!2", // Am
  C: "[c4,e4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]!4 [c4,e4,a4]@4 [c4,e4,a4]@2 [c4,e4,a4]!2", // Am
  D: "[c4,e4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]!4 [c4,e4,a4]@3 ~@5", // Am
  E: "[c4,e4,a4]@4 [c4,e4,a4]@2 [c4,e4,a4]!2 [c4,e4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]@2", // Am
  F: "[c4,e4,a4]@4 [c4,e4,a4]@2 [c4,e4,a4]!2 [c4,e4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]!4", // Am
  G: "[b3,d4,g#4]@4 [b3,d4,g#4]@2 [b3,d4,g#4]!2 [b3,d4,g#4]@2 [b3,d4,g#4]@2 [b3,d4,g#4]@2 [b3,d4,g#4]@2", // G#dim
  H: "[b3,d4,g#4]@4 [b3,d4,g#4]@2 [b3,d4,g#4]!2 [b3,d4,g#4]@2 [b3,d4,g#4]@2 [b3,d4,g#4]!4", I: "[c4,e4,a4]@3 ~@13",
  J: "~@8 [c4,e4,a4]@4 [c4,e4,a4]@2 [c4,e4,a4]!2", // Am
  K: "[c4,e4,a4]@2 [c4,e4,a4]@2 [c4,e4,a4]!4 [b3,d4,g#4]@4 [b3,d4,g#4]@2 [b3,d4,g#4]!2", // Am G#dim
  L: "[b3,d4,g#4]@2 [b3,d4,g#4]@2 [b3,d4,g#4]@2 [b3,d4,g#4]@2 [b3,d4,g#4]@4 [b3,d4,g#4]@2 [b3,d4,g#4]!2", // G#dim
  M: "[b3,d4,g#4]@2 [b3,d4,g#4]@2 [b3,d4,g#4]!4 [b3,d4,g#4]@4 [b3,d4,g#4]@2 [b3,d4,g#4]!2", // G#dim
  N: "[b3,d4,g#4]@2 [b3,d4,g#4]@2 [b3,d4,g#4]!4 [c4,e4,a4]@4 [c4,e4,a4]@2 [c4,e4,a4]!2", // G#dim Am
  O: "~@2 [e4,a4]@3 ~ [e4,a4] ~@3 [e4,a4]@3 ~ [e4,a4] ~", P: "~@2 [d4,g#4]@3 ~ [d4,g#4] ~@3 [d4,g#4]@3 ~ [d4,g#4] ~",
  Q: "~@2 [g4,c5]@3 ~ [g4,c5] ~@3 [g4,c5]@3 ~ [g4,c5] ~", // C5
  R: "~@2 [g4,c5]@4 [g4,c5] ~@3 [g4,c5] [g4,c5]@2 ~ g4 ~, ~@13 [g4,c5]@2 ~", // C5
  S: "~@2 [e4,a4]@3 ~ [e4,a4] ~@3 e4 [e4,a4] ~ [e4,a4]!2 ~", T: "~@2 [e4,a4]@3 ~ [e4,a4] ~@3 [e4,a4]!2 ~ [e4,a4]!2 ~",
  U: "~@2 [d4,g#4]@3 ~ [d4,g#4] ~@3 [d4,g#4] ~@3 [d4,g#4] ~", // Ddim
  V: "~@2 [e4,a4]@3 ~ [e4,a4] ~@3 [e4,a4] [e4,a4]@2 [e4,a4]!2 ~", // A5
  W: "~@2 [e4,a4]@4 [e4,a4] ~@3 [e4,a4] [e4,a4]@2 ~ [e4,a4] ~", // A5
  X: "~@2 [g4,c5]@3 ~ [g4,c5] ~@3 [g4,c5] [g4,c5]@2 ~ g4 ~, ~@13 [g4,c5]@2 ~", // C5
  Y: "~@2 [e4,a4]@4 [e4,a4] ~@3 [e4,a4] [e4,a4]@2 [e4,a4]!2 ~", Z: "[e4,a4] ~@7",
})).s("gm_acoustic_guitar_steel").gain(0.29)

// chords · brass section
const brass_section = note(`<
  ~@64 A B@2 C ~@27 D E F G ~@8 H@2 ~@2 I J I J I J ~@6 H@2 ~@2 I J I J I J ~@6 H@2 ~@2 I J I J I J ~@6 H@2 ~@2 I J I J
  I J ~ J K L M
>`.pickRestart({
  A: "~@8 [a2,a3] ~@3 [a4,a5]@4", B: "~@4 [b2,b3]@3 ~ [a2,a3] ~@3 [a4,a5]@4", C: "~@4 [b2,b3]@3 ~@9", D: "~@2 e4 ~",
  E: "~@8 g#4@3 ~@5", F: "b4 ~ g#4 ~", G: "e5 ~@3", H: "[[g3,g4]@12 [c4,c5] ~@2 [g3,g4]@17]/2",
  I: "~@4 [e3,b3]@7 e3 b3 ~@3", J: "~@4 [e3,c4]@7 ~ [e3,c4] ~@3", K: "~@4 [e3,e4]@7 ~ [e3,e4] ~@3",
  L: "~@4 [c4,a4]@7 ~ [c4,a4] ~ [a#4,g5] [b4,g#5]", M: "[c5,a5] ~@15",
})).s("gm_brass_section").gain(0.29).pan(0.4)

// chords · trombone
const trombone = note(`<
  ~@64 A B@2 C D@5 ~@22 E F G H ~@8 I@2 ~@2 J K J K J K ~@6 I@2 ~@2 J K J K J K ~@6 I@2 ~@2 J K J K J K ~@6 I@2 ~@2 J K
  J K J K ~ K@2 L M
>`.pickRestart({
  A: "~@8 [a2,a3] ~@3 a5@4", B: "~@4 [b2,b3]@3 ~ [a2,a3] ~@3 a5@4", C: "~@4 [b2,b3]@3 ~@9",
  D: "[~@12 f4@10 e4@2 d4@2 d4@9 ~@9 e4@6 d4@2 c4@2 b3@2 c4@10 ~@14]/5", E: "~@2 e4 ~", F: "~@8 g#4@3 ~@5",
  G: "b4@3 ~@5 g#4@3 ~@5", H: "[g#4,e5]@3 ~@13", I: "[[g3,c4]@12 [c4,g4] ~@2 [g3,c4]@15 ~@2]/2",
  J: "~@4 [g#3,b3]@7 [g#3,b3] ~@4", K: "~@4 [a3,c4]@7 [a3,c4] ~@4", L: "~@4 [a3,c4]@7 [a3,c4] ~@2 g4 g#4", M: "a4 ~@15",
})).s("gm_trombone").gain(0.44).pan(0.6)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~@33 A B A B C D E C F@2 G F@2 H@2 I@2 J K@5 L@3 M ~@4 N O@2 P ~@6 Q R@2 S@6 T@7 ~ U V W X@6 ~@2 Y Z@2 Y@2 AA@2 Y AB
  ~@7 Y Z@2 Y@2 AA@2 Y AB ~@7 Y Z@2 Y@2 AA@2 Y AB ~@7 Y Z@2 Y@2 AA@2 Y AB ~@7 Y@3 AC
>`.pickRestart({
  A: "a3@3 b3", B: "c4@3 b3", C: "a3 c4 a3 e3", D: "a3@3 c4", E: "e4@3 c4", F: "b3 c4 b3 c4 d4 c4 d4 c4",
  G: "b3 e4 d4 b3", H: "a3 b3 a3 b3 c4 b3 c4 b3", I: "[[e4,g#4,b4]@4 b4@2 a4 g#4, b3]/2", J: "[c4,a4] ~@7",
  K: "[a5@15 ~ a5@8 g#5@8 g5@8 f#5@8 ~@10 e5@2 d5@2 c5@2 ~@2 [d5,e5]@14, c5@25 ~@7 b4@8, ~@24 f5@9 ~@7]/5", // Dsus2
  L: "[g#5 g5@4 f#5@4 f5@4 e5@4 d5@2 d5@3 c5 b4]/3", M: "[c5,a5]", N: "~@8 a3 ~@7", O: "~@4 b3@2 c4 ~ a3 ~@7",
  P: "~@4 b3@2 c4 ~ b3@8", Q: "~ e5 f5 e5", R: "[f5 e5 d5@3 e5 f5 e5]/2",
  S: "[f5 e5 ~ [e4,a5]@3 [g4,a4,c5]@8 [e4,c5]@8 [d4,b4]@2, ~ c5@2 ~@9]/6", // A5 Am7 C G
  T: "[~@4 [e4,c5]@8 [d4,b4]@8 [e4,c5]@8 [d4,b4]@8 [e4,c5]@8 [d4,b4]@8 [c4,a4] ~@3]/7", U: "~@2 a5@3 ~ a5@2 a5@8",
  V: "g#5 g5", W: "f#5 f5",
  X: "[e5@3 d5@2 c5@3 ~@2 d5@14 ~@2 g5@8 f#5@8 f5@8 e5@8 d5@4 d5@6 c5@2 b4@2 [c5,a5]@11 ~@13, ~@8 [b4,g#5,g#6]@16 [g#5,g#6]@48 a6@9 ~@15]/6", // F E G#
  Y: "~ g#5 g5 f#5, a5", Z: "~ a#5 a5 g#5, b5", AA: "[c5,g5]/2", AB: "~@4 g#5@4 g5@4 f#5@3 ~, a5@15 ~",
  AC: "[c5,a5] ~@15", // F
})).s("gm_string_ensemble_1").gain(0.27).pan(0.7)

// other · string ensemble 1
const string_ensemble_1_2 = note(`<
  ~@43 A B@2 C@2 D@2 E F@2 G H I J@3 K ~@3 L M@3 N ~@6 O P@2 Q@8 R@5 ~ S T U V@6 ~@2 W X@2 W@2 Y@2 W@2 Z@6 AA@2 X@2 W@2
  Y@2 W@2 Z@6 AA@2 X@2 W@2 Y@2 W@2 Z@6 AA@2 X@2 W@2 Y@2 W@2 Z@6 AA@2 W@2 AB
>`.pickRestart({
  A: "b2@4 e3@4 d3@4 b2@3 ~", B: "b2 c3 b2 c3 d3 c3 d3 c3", C: "a2 b2 a2 b2 c3 b2 c3 b2",
  D: "[e3@14 ~@2 e3 f3 e3 f3 e3 [e3,f3] f3 e3 f3 [e3,f3] e3 f3 e3 f3 e3@2, e2]/2", E: "a2 ~@7", F: "[a3@3 g#3]/2",
  G: "g3 f#3", H: "f3@5 b2 c3 d3", I: "e3@5 ~@3", J: "[g#3 g3@4 f#3@4 f3@4 e3@4 d3@2 d3@3 c3 b2]/3", K: "[a2,a3,e4]",
  L: "~@8 a2!8", M: "a2!16", N: "a2!8 b2@8", O: "~ e3 f3 e3", P: "[f3 e3 d3@3 e3 f3 e3]/2",
  Q: "[f3 e3 ~ a3@3 [g3,c4]@8 a3@8 e3@4 a3@4 e3@2, ~@8 c3@17 ~@103]/8", R: "[~@4 a3@8 e3@8 a3@8 e3@8 a2 ~@3]/5",
  S: "~@2 a3@3 ~ a3@2 ~@8", T: "g#3 g3", U: "f#3@4 f3 e3 d3 c3",
  V: "[f3@2 e3@2 d3@2 c3@2 b2@10 ~@6 g#3@2 g3@8 f#3@8 f3@8 e3@8 d3@4 d3@6 c3@2 b2@2 [a3,e4]@9 ~@15, ~@72 a2@11 ~@13]/6", // A5
  W: "~ g#3 g3 f#3, a3@3 ~@5", X: "b3 a#3 a3 g#3", Y: "[c4,e4]/2",
  Z: "[~@4 b3@7 b3 ~@8 c4@7 c4 ~@4, e2@15 a2@15 ~@2]/2",
  AA: "[~@4 b3@7 b3 ~@8 g#3@4 g3@4 f#3@4, e2@15 a2@15 ~@2, ~@8 a3@3 ~@5]/2", AB: "a4 ~@7, c4 ~@15",
})).s("gm_string_ensemble_1").gain(0.3).pan(0.3)

// other · flute
const flute = note(`<
  ~@91
  [~@4 a6 ~@3]
  [~@4 b6@2 ~@2 a6 ~ a6 ~@5]!2
  [~@4 b6@2 ~@2 e6 ~ e6 ~@5]!4
  [~@4 b6@2 ~@2 a6 ~@7]
  ~@71
>`).s("gm_flute").gain(0.2).pan(0.7)

// chords · piano
const piano = note(`<
  A@12 B@3 A@2 C D@2 ~@12 A@9 B@5 A@2 C ~@13 E A@5 F@2 A@2 F B@3 G H I J K H L M N M L M O ~@13 P Q R P S T@2 U S V P Q
  W V P Q W V@2 U S T@2 P S Q W V P Q W V P Q R P S T@2 U S V P Q W V P Q W V@2 U S T@2 P S Q W V P Q W V P U W X
>`.pickRestart({
  A: "a2 e3 e2 e3 a2 e3 e2 e3", B: "b2 e3 e2 e3 b2 e3 e2 e3", C: "e2", D: "[[e3,b3,d4,g#4]@5 ~@3]/2",
  E: "~@4 a2 e3 e2 e3", F: "a2 d3 d2 d3 a2 d3 d2 d3", G: "b2 e3 e2 e3 a2 [e3,a3,e4] e2 [e3,a3]",
  H: "a2 e3 e2 e3 a2 e3 e2 e3, ~@2 a3 ~@3 a3 ~@3 a3 ~@3 a3 ~", I: "a2 e3 e2 e3 c3 [g3,c4,e4] g2 g3, ~@2 a3 ~@3 a3 ~@9",
  J: "c3 g3 g2 g3 c3 [g3,e4] g2 g3", K: "c3 g3 g2 g3 a2 [e3,a3,c4] e2 [e3,a3]",
  L: "a2 e3 e2 e3 b2 [e3,g#3,d4] e2 [e3,g#3], ~@2 a3 ~@3 a3 ~@9", // E7 E
  M: "b2 e3 e2 e3 a2 [e3,a3,c4] e2 [e3,a3], ~@2 g#3 ~@3 g#3 ~@9", // Am A5
  N: "a2 e3 e2 e3 b2 [e3,g#3,b3] e2 [e3,g#3], ~@2 a3 ~@3 a3 ~@9", // E
  O: "a2@2 e3@2 e2@2 e3@2 [e2,d3,g#3]@5 ~@3, ~@2 a3 ~@3 a3 ~@9", // E7
  P: "a2 [e3,a3,c4,e4] e2 [e3,a3] a2 e3 e2 e3, ~@10 a3 ~@3 a3 ~", // Am A5
  Q: "b2 [e3,g#3,b3] e2 [e3,g#3] b2 e3 e2 e3, ~@10 g#3 ~@3 g#3 ~", // E
  R: "b2 [e3,g#3,d4] e2 [e3,g#3] b2 e3 e2 e3, ~@10 g#3 ~@3 g#3 ~", // E7 E
  S: "a2 [e3,e4] e2 e3 a2 e3 e2 e3, ~@2 a3 ~@3 a3 ~@3 a3 ~@3 a3 ~", T: "c3 [g3,e4] g2 g3 c3 g3 g2 g3",
  U: "a2 [e3,a3,c4] e2 [e3,a3] a2 e3 e2 e3, ~@10 a3 ~@3 a3 ~", // Am A5
  V: "b2 [e3,g#3,b3,d4] e2 [e3,g#3] b2 e3 e2 e3, ~@10 g#3 ~@3 g#3 ~", // E7 E
  W: "a2 [e3,a3,e4] e2 [e3,a3] a2 e3 e2 e3, ~@10 a3 ~@3 a3 ~", X: "[a2,e3,e4,c5] ~@7",
})).s("gm_piano").gain(0.37).pan(0.3)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@76 A B C D E B F G H G I G J ~@13 K L M K N O N P N Q K L O Q K L O Q@2 P N O N K N L O Q K L O Q K L M K N O N P N
  Q R L O Q K L O Q@2 P N O N K N L O Q K L O S K P O ~
>`.pickRestart({
  A: "~@5 c4 ~ [c4,e4]", B: "~@2 [c4,e4] ~@3 [c4,e4] ~@3 e4@2 ~@2 e4@2, ~@10 c4 ~@3 c4 ~",
  C: "~ [c4,e4] ~ e4 ~@3 [c4,e4], ~@6 c4 ~@9", D: "~@2 c4@2 ~@2 [c4,e4] ~@3 c4 ~@3 e4@2, ~@2 e4 ~@11 c4 ~",
  E: "~ [c4,e4] ~ e4 ~ e4 ~ [c4,e4], ~@6 c4 ~@9", F: "~ [c4,e4] ~ e4 ~ b3 ~ [b3,d4], ~@6 c4 ~@9",
  G: "~@2 [b3,d4] ~@3 [b3,d4] ~@3 e4@2 ~@2 [c4,e4]@2", H: "~@2 [c4,e4] ~@3 [c4,e4] ~@3 d4@2 ~@2 [b3,d4]@2",
  I: "~@2 [c4,e4] ~@3 [c4,e4] ~@3 b3@2 ~@2 [b3,d4]@2", J: "~@2 [c4,e4] ~@3 [c4,e4] ~@9",
  K: "~@6 [c4,e4]@2 ~@2 [c4,e4] ~@3 [c4,e4] ~", L: "~@2 d4@2 ~@2 [b3,d4]@2 ~@2 [b3,d4] ~@3 [b3,d4] ~",
  M: "~@2 b3@2 ~@2 [b3,d4]@2 ~@2 [b3,d4] ~@3 [b3,d4] ~", N: "~@2 c4 ~@3 e4@2 ~@2 [c4,e4]@2 ~@2 e4@2, ~@6 c4 ~@7 c4 ~",
  O: "~@2 c4@2 ~@2 [c4,e4]@2 ~@2 [c4,e4] ~@3 [c4,e4] ~", P: "~@2 e4@2 ~@2 [c4,e4]@2 ~@2 [c4,e4] ~@3 [c4,e4] ~",
  Q: "~@6 [b3,d4]@2 ~@2 [b3,d4] ~@3 [b3,d4] ~", R: "~@6 [c4,e4]@2 ~@2 c4@2 ~@2 [c4,e4] ~, ~@10 e4 ~@5",
  S: "~@6 [b3,d4]@2 ~@2 b3@2 ~@2 [b3,d4] ~, ~@10 d4 ~@5", // Bm
})).s("gm_piano").gain(0.18).pan(0.3)

// other · electric guitar clean
const electric_guitar_clean = note(`<
  ~@19 A B@9 C ~@20 D@5 E@4 D F ~@13 G H I J K L M J N I N I N I O A B@4 P@4 B C ~@2 Q R@2 Q@2 S@2 Q@2 T U T U T U T U
  R@2 Q@2 S@2 Q@2 T U T U T U T U R@2 Q@2 S@2 Q@2 T U T U T U T U R@2 Q@2 S@2 Q@2 T U T U T U T U@3 V
>`.pickRestart({
  A: "~@8 a2@2 ~@2 a2 ~@2 a2", B: "e2 ~ e2 ~ e2 ~ e2 ~ a2@2 ~@2 a2 ~@2 a2", C: "e2 ~ e2 ~ e2 ~ e2 ~ a2@2 ~@6",
  D: "a2@2 ~@2 a2 ~@2 a2 e2 ~ e2 ~ e2 ~ e2 ~", E: "b2@2 ~@2 b2 ~@2 b2 e2 ~ e2 ~ e2 ~ e2 ~", F: "a2 ~@7",
  G: "~@4 b2 ~ e2 ~", H: "b2 ~ e2 ~ b2 ~ e2 ~", I: "b2 ~ e2 ~ a2 ~ e2 ~", J: "a2 ~ e2 ~ a2 ~ e2 ~",
  K: "a2 ~ e2 ~ c3 ~ g2 ~", L: "c3 ~ g2 ~ c3 ~ g2 ~", M: "c3 ~ g2 ~ a2 ~ e2 ~", N: "a2 ~ e2 ~ b2 ~ e2 ~",
  O: "a2@2 ~@2 e2@2 ~@2 e2@5 ~@3", P: "e2 ~ e2 ~ e2 ~ e2 ~ b2@2 ~@2 b2 ~@2 b2",
  Q: "a2 ~ a2 ~ e2 ~ e2 ~ a2 ~ a2 ~ e2 ~ e2 ~", R: "b2 ~ b2 ~ e2 ~ e2 ~ b2 ~ b2 ~ e2 ~ e2 ~",
  S: "c3 ~ c3 ~ g2 ~ g2 ~ c3 ~ c3 ~ g2 ~ g2 ~", T: "b2 ~ e3 ~ e2 ~ e2 ~ b2 ~ e3 ~ e2 ~ e2 ~",
  U: "a2 ~ e3 ~ e2 ~ e2 ~ a2 ~ e3 ~ e2 ~ e2 ~", V: "a2 ~@15",
})).s("gm_electric_guitar_clean").gain(0.56)

// other · muted trumpet
const muted_trumpet = note("<~@64 A@3 ~@28 B C D E ~@8 F@2 ~@14 F@2 ~@14 F@2 ~@14 F@2 ~@13>".pickRestart({
  A: "~@3 [c5,a5]", B: "~@8 g#4@3 ~@5", C: "~@2 b4 ~", D: "d5@4 ~@4 b4@3 ~@5", E: "e5 ~@3",
  F: "[e4@12 g4 ~@2 e4@16 ~]/2",
})).s("gm_muted_trumpet").gain(0.3)

// other · accordion
const accordion = note(`<
  ~@134 A B@2 C@2 D@2 E F G H I J K L M N O P Q R S T U@2 V W X Y Z AA AB AC AD AE AF
>`.pickRestart({
  A: "a4 e4 d#4 e4 f4 f#4 g4 g#4 a4 g#4 a4 b4 c5 d5 d#5 e5",
  B: "[f5@7 [d5,d#5] e5@3 f5@2 e5 [e5,f5] d5@6 ~@4 a#4 b4 c5 c#5 d5 d#5 e5]/2", // D#maj7 Fmaj7
  C: "[f5@7 [d5,d#5] e5@2 f5@2 ~ [e5,f5] e5 c5@8 ~@5 c5 d5 e5 f5]/2", D: "[g5@27 [d5,d#5] f5@3 ~, e5@25 ~@3 e5 ~@3]/2",
  E: "[d5,d#5,e5] f5@2 ~ e5@12", F: "~@10 [d5,d#5] e5@3 e5@2", G: "d5@4 b4@5 [c5,c#5] d5@3 f5@3",
  H: "e5@4 c5@4 ~ d5 e5@3 ~ e5@2, ~@10 d#5 ~@5", I: "d5@2 c#5 c5 b4@6 d5@3 b4@3", J: "a4@2 a#4 b4 c5@5 ~ e5@4 e5@2",
  K: "d5@2 c#5 c5 b4@4 ~@2 d5@3 f5@2 ~", L: "e5 f5 e5 d5 c5@4 ~@2 e5@4 e5@2", M: "d5@2 c#5 c5 b4@5 ~ d5@4 b4@2",
  N: "a4@5 e4 d#4 e4 a4 g#4 a4 b4 c5 c#5 d5 e5", O: "f5 d5 b4 g#4 e5 d5 b4 g#4 f5 d5 b4 g#4 e5 d5 b4 g#4",
  P: "d5 e5 d5 c5 b4 c5 b4 a4 g#4 a4 g#4 f4 e4 g#4 b4 d5", Q: "f5 c5 a4 e4 e5 c5 a4 e4 f5 c5 a4 e4 e5 c5 a4 e4",
  R: "c5 d5 c5 b4 a4 g#4 a4 b4 c5 b4 c5 d5 e5 d5 e5 [f5,f#5]", S: "g5@9 a5 g5 e5 c5 e5 c5 a4",
  T: "g4@9 ~@2 [d5,d#5,e5] f5@3 ~", U: "[f5@2 e5 d5 e5@20 ~@2 [d5,d#5] ~@3 e5@2, ~@26 e5@3 ~@3]/2",
  V: "d5@2 c#5 c5 b4@6 d5@3 ~ f5@2", W: "e5 f5 e5 d5 c5@4 ~ d5 e5@3 ~ e5@2, ~@10 d#5 ~@5",
  X: "d5 e5 d5 c5 b4 c5 b4 a4 g#4 e4 g#4 b4 e5 d5 c5 b4", Y: "a4 g#4 a4 b4 c5 b4 c5 d5 e5 c5 a4 e4 c5 a4 e4 c4",
  Z: "d5@4 b4@5 ~ d5@4 f5@2", AA: "e5@3 [c#5,d5] c5@5 ~ e5@3 ~ e5@2", AB: "d5@4 b4@6 d5@4 c5 [a#4,b4]", AC: "a4@3 ~",
// … 73 more lines

More by Celentano