Strudelify

Lei pero

Ramazzotti

KeyB♭ majorTempo85 bpm
0:00/0:00
// Lei pero — Ramazzotti
// 85 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 111 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(85/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(`<
  A B C D E B F G H I J K L D M N O P Q P R S T U V W@2 I X Y L D Z AA AB P AC P AD S T U AE AF@2 AG AH AI@2 AJ AK AL AM
  AN AO B AP S AQ AR AS AT AU ~@8 P AC P AD S T U AE AF@2 AG AH AI@2 AJ AK AL AM AN AO AV AW AX AY AZ BA BB BC AV AW AZ
  BD AZ BA BB BE@5
>`.pickRestart({
  A: "~@21 f2 c2 f1", B: "eb1@3 ~@8 eb1 f1@2 ~ f1@2 ~@6 d1", C: "g1@3 ~@6 f1@3 g1@2 ~ g1@2 ~@6 bb1",
  D: "eb1@3 ~@8 eb1 f1@2 ~ f1@2 ~@7", E: "g1@2 ~ g1@3 ~@5 g1@2 ~@2 f1@2 ~ g1@3 f1@2 ~",
  F: "g1 ~@2 g1@3 ~@5 g2 ~@2 g2 g1@7 ~ bb1", G: "c2@2 ~ c2@7 ~ c2 ~@3 c2@8 ~", H: "d2@2 ~ d2@7 ~ d1 d1@11 ~",
  I: "eb1@3 ~@8 eb1 f1@2 ~ f1@2 ~@6 f1", J: "g1@3 ~@12 bb1@2 ~ c2@2 ~ d2@2 eb1", K: "eb1@3 ~@8 eb1 f1@3 ~@9",
  L: "g1@3 ~@8 g2 ~@2 g2 d2@2 ~ g1@3 ~@3", M: "g1 ~@4 d2 g1 d2", N: "c2@7 ~@2 c2@9 ~@2 c2 db2@2 ~",
  O: "d2@7 ~@2 d2@5 a1 c2@2 db2 d2 ~ a1 d1@2 d2", P: "eb1@2 ~ eb1@2 ~@7 f1@2 ~ f1@2 ~@7",
  Q: "g1@2 ~ g1@2 ~@6 g1@2 ~@2 a1@2 ~ bb1@3 ~@2 f1", R: "g1@2 ~ g1@2 ~@3 f1 ~@2 g2 ~@3 g2@2 ~ g1@3 ~@3",
  S: "eb1@2 ~ eb1@2 ~@6 eb1 f1@2 ~ f1@2 ~@7", T: "d1@2 ~ d1@2 ~@4 d1@3 g1@2 ~ g1@2 ~@3 g1 bb1@2 g1",
  U: "c2@2 ~ c2@2 ~@3 f1 g1@2 bb1@3 ~ b1@2 ~ c2@3 ~@3", V: "d2@2 ~ d2@3 a1@3 d1@3 d1@6 ~@6",
  W: "[eb1@32 ~ f3@5 ~ eb3@6 bb1@3, ~@33 eb3 ~@14]/2", X: "g1@3 ~@8 bb1@2 ~@2 c2@2 ~ d2@2 ~@3 eb1",
  Y: "eb1@3 ~@8 eb1 f1@3 ~@8 f1", Z: "g1@2 ~ g1@2 ~@6 g2 ~@2 g2 f1@2 ~ g1@3 ~@3",
  AA: "c2@7 ~@2 c2@5 c2 f1@3 g1@3 bb1@2 c2", AB: "d2@8 ~ d1@5 a1 c2@2 db2 d2 ~ a1 d1@2 d2",
  AC: "g1@2 ~ g1@2 ~@6 g1@2 ~@2 f1@2 ~ g1@3 ~@2 f1", AD: "g1@2 ~@3 g1 d1@3 f1@2 ~@4 g1@2 ~ bb1@2 ~ g1@3",
  AE: "d2@6 ~@2 g1 a1@2 d1@2 ~@2 d1@6 ~@3", AF: "[c2@6 ~@2 g2 bb2@2 g2 c3@4 ~ c3@14 ~@4 g2 ~@2 g2 eb2@3 c2@3 c2@3]/2",
  AG: "bb1@12 ~@2 bb1 g2@3 f2@3 bb1@3", AH: "g1@8 ~@3 g1 ~@3 bb1@2 ~ bb1@3 d2@3",
  AI: "[c2@6 ~@2 g2 bb2@2 g2 c3@4 ~ c3@14 ~@4 bb2 ~@3 c2@3 g2@2 c2@4]/2",
  AJ: "bb1@8 ~ bb1@2 g2@3 ~ g2@3 f2@2 ~ bb1@2 ~", AK: "g1@9 ~@2 g1@2 ~@2 g1@4 ~@2 g1@3",
  AL: "gb1@2 ~ gb1@3 ~@5 gb1 ~@3 gb1@2 ~ db1@2 db2 d1@2 d1",
  AM: "eb1@2 ~ eb1@2 ~@6 eb1 bb1@2 eb1 eb2@2 ~ bb1@2 eb2 eb1@2 e1",
  AN: "f1@2 ~ f1@4 ~@2 c2@2 f2 ~@3 f2@2 ~ c2@2 ~ c2@3", AO: "f1@7 ~",
  AP: "f1@2 g1 f1@2 g1 ~@2 g2 ~@5 g1 g2 ~ g1 d2@3 g2@2 ~",
  AQ: "g1@2 ~ g1 ~ bb1@2 ~ bb1 d2@3 ~@2 g1 g2@2 ~ g2@3 g1@2 f1", AR: "eb1@2 ~ eb1@2 ~@6 eb1 f1@2 ~ f1@2 ~@6 d1",
  AS: "d1@2 ~ d1@3 ~@3 g1@2 g2 ~@2 g2 g1@2 ~ f1@3 d1@3", AT: "c1@2 ~ c1@2 ~@4 g1@2 bb1@3 g1 b1@2 ~ c2@2 ~@4",
  AU: "d1@4 ~@2 a1@4 ~ d2@12 ~", AV: "gb1@3 ~@8 gb1 ab1@2 ~ ab1@2 ~@6 f1",
  AW: "ab1@2 bb1 ab1@2 bb1 ~@2 bb2 ~@5 bb1 bb2 ~ bb1 f2@3 bb2@2 ~", AX: "gb1@2 ~ gb1@2 ~@6 gb1 ab1@2 ~ ab1@2 ~@7",
  AY: "bb1@2 ~ bb1 ~ db2@2 ~ db2 f2@3 ~@2 bb1 bb2@2 ~ bb2@3 bb1@2 ab1",
  AZ: "gb1@2 ~ gb1@2 ~@6 gb1 ab1@2 ~ ab1@2 ~@6 f1", BA: "f1@2 ~ f1@3 ~@3 bb1@2 bb2 ~@2 bb2 bb1@2 ~ ab1@3 f1@3",
  BB: "eb1@2 ~ eb1@3 ~@3 bb1@2 db2@3 bb1 d2@2 ~ eb2@2 ~@4", BC: "f1@4 ~@2 c2@4 ~ f2@12 ~",
  BD: "bb1@2 ~ bb1@2 ~@3 ab1 bb1@2 bb1 ~@2 db2 ab1@2 bb1 ~@2 bb2 ~ f2 ab1",
  BE: "[f1@4 ~@2 c2@4 ~ f2@10 eb1@11 bb2 db3@2 bb2 eb3@10 ~ eb1@17 ~ db2 ~ ab1@2 bb1@47 ~@4]/5",
})).s("gm_electric_bass_finger").gain(0.72)

// bass · electric bass finger · soft notes
const bass_soft = note(`<
  ~@10 A ~ B C ~ D ~ E F E G C ~ H ~@6 B C I ~@2 E F J ~ C ~ A ~@2 K ~ L ~ M ~ N ~ O P ~@7 Q R ~@8 E F J ~ C ~ A ~@2 K ~
  L ~ M ~ N ~ O P ~@7 S T ~@3 U ~@2 S T ~@4
>`.pickRestart({
  A: "~@14 g1 ~@2 g1 ~@6", B: "~@9 d2 ~@14", C: "~@23 f1", D: "~@23 a1", E: "~@11 eb1 ~@11 f1",
  F: "~@9 d1@2 ~@3 g1 ~@9", G: "~@9 g1@2 ~@3 g1 ~@6 f1@3", H: "~@14 g1 ~@2 g1 ~@5 c2", I: "~@9 g1 ~@14",
  J: "~@11 eb1 ~@12", K: "~@9 eb2@2 ~ eb2 ~@11", L: "~@14 g1 ~@9", M: "~@9 c2@2 ~@3 bb2 ~@9", N: "~@9 d1@2 ~@13",
  O: "~@17 eb1 ~@6", P: "~@14 c2 ~@2 f1 ~@2 f1 ~@3", Q: "~@17 g1 ~@6", R: "~@5 d1 ~@18", S: "~@17 bb1 ~@6",
  T: "~@5 f1 ~@18", U: "~@21 ab2 ~@2",
})).s("gm_electric_bass_finger").gain(0.4)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@7 A B ~@5 C A D ~@6 E F G@2 ~@5 C A D ~@6 E H I J K L I J M N O P Q R ~@22 E H I J K L I J M N O P Q R S T U V W X Y
  Z S T U V W X Y Z ~@4
>`.pickRestart({
  A: "eb4@5 eb4@4 eb4@7 ~@2 ab3@5 ~, ~@17 [bb3,eb4]@7", B: "d4@2 ~ [d4,d5]@2 d4 ~@5 d4 ~@2 [d4,d5]@2 ~@4 d4 ~@3",
  C: "~@3 [bb3,d4,g4] ~@5 [bb3,d4,g4] ~@2", D: "d4@5 d4@4 d4@14 ~", E: "~@3 [bb3,eb4,g4] ~@5 [bb3,eb4,g4] ~@2",
  F: "~@3 [c4,d4,g4] ~@5 [c4,d4,gb4] ~@2", // Csus2 D7
  G: "[bb4@3 ~ a4@3 ~@2 g4@3 ~ f4@3 ~@2 d4@3 ~ c4@3 ~@2 bb3@3 bb3@11 ~@7, ~ bb4@3 g4@3 d4@3 ~@6, ~@7 a4@9 f4@9 c4@9 ~@14]/2",
  H: "~@3 [c4,d4,g4] ~@8", // Csus2
  I: "bb3@2 c4 [g4,d5]@2 [g4,bb4,d5]!2 ~ [g4,bb4,d5] eb4 ~ [g4,bb4,d5] ~@2 [g4,bb4,d5] ~@2 eb4 [g4,bb4,d5]@3 [g4,d5]@2 [g4,bb4,d5]", // G5 Gm G5 Gm
  J: "[bb3,d4]@2 [c4,eb4] [g4,d5]@2 [g4,bb4,d5]!2 ~ [g4,bb4,d5] eb4 ~ [g4,bb4,d5] ~@2 [g4,bb4,d5] ~@2 eb4 [g4,bb4,d5]@5 ~", // Bb Cm G5 Gm
  K: "[a3,f4]@2 bb3 [f4,c5]@2 [f4,a4,c5]!2 ~ [f4,a4,c5] d4 ~ [f4,a4,c5] ~@2 [f4,a4,c5] ~@2 d4 [f4,a4,c5]@3 [f4,c5]@2 [f4,a4,c5]", // Dm F5 F F5 F
  L: "[c4,f4]@2 [d4,g4]@2 ~ [c4,f4] [a3,c4,g4] ~ [a3,c4,g4] ~@2 [bb3,d4,g4] ~@2 [bb3,d4,g4] ~@3 [bb3,d4,g4]@4 ~@2", // F5 G5 F5 Am7 Gm
  M: "[a3,f4]@2 bb3 [c4,f4]@2 [c4,f4,a4]!2 ~ [d4,f4,a4] a4 ~ [c4,f4,a4] ~@2 [c4,f4,a4] ~@2 a4 [c4,f4,a4]@3 f4@2 [f4,a4]", // Dm F5 F Dm F
  N: "[c4,f4]@2 d4 [f4,bb4]@2 ~ [d4,f4,bb4] ~ [d4,f4,bb4] ~@2 [d4,f4,bb4] ~@2 [d4,f4,bb4] ~@2 d4 [d4,f4,bb4]@5 ~", // F5 Bb5 Bb
  O: "[ab3,db4]@2 [bb3,db4] [db4,ab4]@2 [db4,f4,ab4] [db4,f4,ab4]@2 [db4,f4,ab4] f4 ~ [db4,f4,ab4] ~@2 [db4,f4,ab4]@2 ~ f4 [db4,f4,ab4]@4 ~ [db4,f4,ab4]", // Db5 Bbm Db5 Db
  P: "~@2 eb4 [bb3,gb4]@2 [bb3,gb4] [bb3,db4,gb4] ~ [bb3,db4,gb4] ~@2 [bb3,db4,gb4] ~@2 [bb3,db4,gb4] ~@3 [bb3,db4,gb4]@4 ~ [bb3,db4,gb4]", // Ebm Gb
  Q: "g4@3 [bb3,g4]@2 [bb3,g4] [bb3,eb4,g4] ~ [bb3,eb4,g4] ~@2 [bb3,eb4,g4] ~@2 [bb3,eb4,g4] ~@3 [bb3,eb4,g4]@2 ~ [eb4,g4]!3", // Eb
  R: "[bb3,f4]@2 f4 [c4,f4] f4 c4 [a3,c4,f4] ~ [a3,c4,f4] c4 ~ [a3,c4,f4] ~@8 [c4,f4] ~@2 [c4,f4]", // Bb5 F5 F F5
  S: "~@3 [f4,bb4] ~@4 [f4,bb4] ~@2 [eb4,ab4] ~@2 [eb4,ab4] ~@3 [eb4,ab4] ~@2 [eb4,ab4]@2 ~", // Bb5 Ab5
  T: "~@3 [f4,bb4] ~@4 [f4,bb4] ~@3 [f4,bb4] ~@4 [f4,bb4] ~@3 [f4,bb4] ~ [f4,bb4]", // Bb5
  U: "~@3 [f4,bb4] ~@4 [f4,bb4] ~@2 [eb4,ab4] ~@2 [eb4,ab4] ~@2 [eb4,ab4] ~@3 [eb4,ab4] ~ [eb4,ab4]", // Bb5 Ab5
  V: "~@3 [f4,bb4] ~ [f4,bb4] ~@2 [eb4,ab4] ~@3 [eb4,ab4] ~@4 [f4,bb4] ~@3 [eb4,ab4] ~ [f4,bb4]", // Bb5 Ab5 Bb5 Ab5 Bb5
  W: "~@3 [f4,bb4] ~@4 [f4,bb4] ~@5 [eb4,ab4] ~@2 [eb4,ab4] ~@3 [eb4,ab4] ~ [eb4,ab4]", // Bb5 Ab5
  X: "~@3 [eb4,ab4] ~@4 [eb4,ab4] ~@3 [f4,bb4] ~@4 [f4,bb4] ~@3 [f4,bb4] ~ [f4,bb4]", // Ab5 Bb5
  Y: "~@3 [gb4,bb4] ~@4 [f4,bb4] ~@3 [f4,bb4] ~@4 [gb4,bb4] ~@3 [gb4,bb4] ~@2", // Gb Bb5 Gb
  Z: "~@3 bb4!2 ~ [f4,bb4] ~ [f4,bb4] ~@3 [f4,a4] ~@4 [f4,a4] ~@6", // Bb5 F
})).s("gm_electric_guitar_clean").gain(0.4).pan(0.4)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note("<~@43 A B C D A B E F G H I J ~@24 A B C D A B E F G H I J ~@20>".pickRestart({
  A: "~@3 bb4@2 ~@4 g4 ~@7 [g4,d5] ~@3 bb4@2 ~", B: "~@3 bb4@2 ~@4 g4 ~@7 [g4,d5] ~@6",
  C: "~@3 a4@2 ~@4 f4 ~@7 [f4,c5] ~@3 a4@2 ~", D: "~@17 g4 ~@6", E: "~@3 a4@2 ~@4 f4 ~@7 [c4,f4] ~@3 [bb3,a4]@2 c4",
  F: "~@17 bb4 ~@6", G: "~@3 f4@2 ~@4 db4 ~@7 [db4,ab4] ~@6", H: "~@3 db4@2 db4 ~@3 [bb3,db4] ~@7 [bb3,db4,gb4] ~@6",
  I: "~@3 eb4@2 eb4 ~@3 [bb3,eb4] ~@7 [bb3,eb4,g4] ~@6", J: "~@3 bb3 [bb3,c4] f4 ~@3 a3 ~@10 a3 ~@2 a3",
})).s("gm_electric_guitar_clean").gain(0.24).pan(0.4)

// chords · marimba · Am Gm
const marimba = note("<~@28 [~@21 [a3,c4]@2 ~] [[g3,bb3] ~ [g3,bb3] ~@21] ~@81>").s("gm_marimba").gain(0.48).pan(0.8)

// bass · acoustic bass
const bass_2 = note("<~@63 A@2 B C D E F G ~@40>".pickRestart({
  A: "[c2@8 g1 c2@2 db2 d2@9 g1@11 d2 f2@3 g2@8 g2 d2@3]/2", B: "c2@8 g1 eb2@3 d2@6 f1@6",
  C: "g1@4 ~ g2@5 ~ a2 bb2@8 ~ b2@3", D: "c3@2 c4 bb3@2 c4 ~@6 d2@9 d2@3", E: "g2@13 ~ f2 d2 ~@2 bb1@2 a1 ~@2 d2",
  F: "~@3 c3@5, c2", G: "d2@7 ~",
})).s("gm_acoustic_bass").gain(0.48)

// bass · acoustic bass · soft notes
const bass_soft_2 = note("<~@66 [~@20 g2 ~@3] [~@9 d3 a2 e2 ~@12] [~@17 a1 ~@3 g1@2 ~] ~@42>")
  .s("gm_acoustic_bass").gain(0.32)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~@11 A B ~@4 C D C E F G H I ~@2 J K J L J M N O C D C E P@4 ~@12 Q R Q S T@3 U ~@6 V W C D C E P@4 ~@12 X Y X Z AA@4
  X Y X Z AB@4 ~ AC@3
>`.pickRestart({
  A: "[g3,bb3] [a3,c4]", B: "[g3,bb3]@6 [g3,bb3]@5 ~", C: "[g3,eb4,bb4] [c4,f4,a4]",
  D: "[d4,g4,bb4]@5 [c4,f4,a4] [d4,g4,bb4]@2", E: "[bb3,d4,g4]", F: "[g3,bb3,eb4] [a3,c4,f4]",
  G: "[a3,c4]@3 [bb3,d4]@5, f4", H: "[bb3,d4,eb4,g4]", I: "[e4,g4]@12 [d4,gb4]@11 ~, [a3,c4]@23 ~",
  J: "[a3,bb3,d4] [g3,a3,c4]", K: "[a3,bb3,d4]@7 ~", L: "[f3,g3,bb3]@7 ~", M: "[a3,bb3], d4@11 ~",
  N: "bb3@3 ab3@5, [c4,eb4]", O: "[g3,e4]@9 [gb3,d4]@14 ~, c4@23 ~",
  P: "[[bb3,eb4,g4]@12 ~@12 c5@9 d4@15 eb4@24 [c4,a4]@23 ~, ~@12 f4@36 [d4,g4]@47 ~, ~@4 [c4,a4]@7 bb4@13 ~@8]/4", // Eb F G5 F
  Q: "[g4,bb4] [a4,c5]", R: "[bb4,d5]", S: "[d4,g4]@23 ~", T: "[[g4,bb4]@4 [a4,c5]@7 ~@5 eb5@8, ~@11 [bb4,d5]@13]/3",
  U: "g4@9 gb4@13 ~@2, [a4,d5]@23 ~", V: "bb4@3 ab4@5, eb5", W: "g4@3 gb4@5, d5", X: "[bb4,db5] [c5,eb5]",
  Y: "[db5,f5]", Z: "[f4,bb4]@23 ~",
  AA: "[[bb4,db5]@12 [c5,eb5]@21 ~@15 gb5@24 bb4@9 a4@13 ~@2, ~@33 f5@62 ~, ~@33 db5@39 c5@22 ~@2]/4", // Bbm Cm
  AB: "[[bb4,db5]@12 [c5,eb5]@21 ~@15 gb5@24 bb4@9 a4@10 ~@5, ~@33 f5@59 ~@4, ~@33 db5@39 c5@20 ~@4]/4", // Bbm Cm
  AC: "[~@21 [db5,eb5]@43 ~@8, ~@21 g4@40 ~@11]/3", // Dbsus2
})).s("gm_string_ensemble_1").gain(0.32)

// chords · epiano2
const epiano2 = note(`<
  ~ A B A C A D E F@2 G H I J K L M H N H O J P Q R@3 S T H I J K L M H N H O J U V W@3 X Y Z@2 AA AB AC AD AE AF A I A
  AG A U V AH@2 ~@5 AI AJ H N H O J U V W@3 X Y Z@2 AA AB AC AD AE AF AK AL AK AM AK AN AO AP ~@7 AQ@5
>`.pickRestart({
  A: "[eb3,g3,bb3]@11 ~ [f3,a3,c4]@11 ~", B: "g3@9 f3@6 g3@8 ~, [bb3,d4]@23 ~", C: "[g3,bb3,d4]@8 ~ [f3,bb3,d4]@13 ~@2",
  D: "g3@9 f3@13 ~@2, [bb3,d4]@23 ~", E: "bb3@9 ab3@14 ~, c4@23 ~, eb4@7 ~",
  F: "[g3@8 ~ gb3@13 ~@2 bb3@12 [a3,c4,f4]@12, [c4,d4]@22 ~ [d4,g4]@13 ~@12]/2", G: "[f3,g3,bb3,d4]",
  H: "[eb3,g3,bb3] [f3,a3,c4]", I: "[g3,bb3,d4]@23 ~", J: "[eb3,g3,bb3]@11 ~ [f3,a3,c4]@12",
  K: "g3@3 f4, [bb3,d4]@23 ~", L: "[bb3,eb4,g4]@3 [ab3,eb4,ab4]@5", M: "[g3,c4,e4,g4]@3 [gb3,c4,d4,gb4]@5",
  N: "[f3,bb3,d4]@5 [f3,a3,c4] [f3,bb3,d4]@2", O: "[f3,g3,bb3]@17 ~ [bb3,d4]@3 [a3,c4]@3, ~@17 f3@7",
  P: "[a3,c4,f4]@9 [g3,bb3,d4]@14 ~", Q: "[g3,bb3,d4,eb4]@23 ~",
  R: "[g4@12 gb4@10 ~@2 bb4@23 c5 d5@22 ~@2, [c4,d4]@11 f5@13 ~@12, ~@23 c5@24 f4@22 ~@3, ~@8 eb3@15 ~]/3", // Csus2
  S: "[g3,bb3,d4] [a3,c4,f4]", T: "[f3,g3,bb3]@23 ~", U: "[a3,c4,f4]@9 [bb3,d4,f4]@14 ~", V: "[bb3,d4,eb4,g4]@23 ~",
  W: "[[a3,c4,d4,g4]@22 ~@2 c3@45 ~@3, ~@23 [bb4,d5]@47 ~@2, ~@23 f4@45 ~@4]/3", X: "[f4,a4,c5]@21 f4@2 g4, bb2",
  Y: "[g2,c4,f4,a4]@4 bb4@3 c5, ~ [g3,d4,f4]", Z: "[[c3,f4,bb4,d5]@47 ~]/2", AA: "[bb2,c4,f4,a4]",
  AB: "[d4,f4,bb4]@2 [d4,bb4] [c4,a4], g2@23 ~, ~ f4", AC: "[gb2,db4,f4,ab4]", AD: "[eb3,bb3,db4,gb4]",
  AE: "[bb3,eb4,f4,g4]", AF: "[f3,a3,eb4,f4]@23 ~", AG: "[f3,a3]@7 ~, bb3@23 ~",
  AH: "[[c4,d4,g4]@9 [c4,d4,gb4]@11 ~@4 d5@15 ~@9, ~@22 [bb5,d6]@15 ~@11, ~@23 [eb5,g5]@13 ~@12]/2", // Csus2 D7 Bb Eb
  AI: "bb4@3 ab4@5, [c4,eb4]@23 ~", AJ: "[e4,g4]@9 [d4,gb4]@14 ~, c4@11 ~", AK: "[gb3,bb3,db4]@11 ~ [ab3,c4,eb4]@11 ~",
  AL: "[c4,db4,f4]@23 ~", AM: "[ab3,c4]@7 ~, db4@23 ~", AN: "[c4,eb4,ab4]@9 [db4,f4,ab4]@14 ~",
  AO: "[db4,eb4,gb4,bb4]@23 ~", AP: "[eb4,f4,bb4]@9 [eb4,f4,a4]@11 ~@4",
  AQ: "[~@21 [gb4,ab4,db5]@14 ~@10 gb4@17 ~@7 [eb4,ab4]@42 ~@9, ~@36 db5@28 ~@5 c5@40 ~@11, ~@41 ab4@22 ~@57]/5", // Gbsus2 Ab5
})).s("gm_epiano2").gain(0.56).pan(0.6)

// other · electric guitar muted
const electric_guitar_muted = note(`<
  ~ A B C D A E F G H I J ~ K L F G M N O P Q R S T ~@2 H I J ~ K L F G U N V P W X S Y Z AA AB AC AD AE AF AG AH AI AJ
  AK AL AM AN AO AP AQ AR AS ~@8 U N V P W R S Y Z AA AB AC AD AE AF AG AH AI AJ AK AT AU AV AW AX AY AZ BA AT AU AV AW
  AX AY AZ BB ~@4
>`.pickRestart({
  A: "g3@4 ~ g3 ~@3 f3@12 ~@2 f3", B: "g3@5 g3 ~@3 f3@6 g3 ~@8", C: "g3@4 ~ g3 ~@3 f3@12 ~@3",
  D: "g3@4 ~ g3 ~@3 f3@8 g3 ~@6", E: "g3@4 ~ g3 ~@3 f3@6 g3@2 ~@7", F: "bb3@5 bb3 ~@3 ab3@13 ~@2",
  G: "g3@5 g3 ~@3 gb3@13 ~@2", H: "c3@2 d3@2 ~ f3 ~@3 c3@2 d3 ~@12", I: "~@6 c3@2 d3 f3@13 ~@2",
  J: "~@5 f3 ~@2 f3 ~@8 f3@5 ~@2", K: "c3@2 d3 ~@2 f3 ~@3 d3@2 ~@7 c3@2 d3@3 ~", L: "f3@2 g3 ~@2 g3 ~@3 f3@2 g3 ~@12",
  M: "g3@4 ~ g3@4 f3@7 ~@2 f3@6", N: "g3@4 ~ [g3,d4]@2 ~ [g3,d4] f3@6 ~@9",
  O: "g3@4 ~ [g3,g4]@3 ~ f3@6 d3@3 f3@3 d3@2 ~", P: "g3@4 ~ [g3,g4]@2 ~ g3 [f3,f4]@5 ~ [g3,g4] ~@8",
  Q: "g3@4 ~ [g3,g4]@4 f3@6 d3 ~ d3 [f3,f4]@3 d3@3", R: "~@5 [f3,f4]@4 g3@7 ~@2 [g3,g4]@3 ~@3",
  S: "~@5 f3 g3@2 g4 g3@9 g3@2 ~@4", T: "~@5 [g3,g4]@4 gb3@5 ~ gb3@5 ~@4", U: "g3@4 ~ g3@2 ~@2 f3@7 ~@2 f3@3 ~@3",
  V: "g3@4 ~ [g3,g4]@2 ~@2 f3@6 d3@3 f3@2 ~ d3@2 ~", W: "g3@4 ~ [g3,g4]@2 ~@2 f3@6 d3 ~ d3 [f3,f4]@3 d3@3",
  X: "~@5 [f3,f4]@4 g3@7 ~@2 [g3,g4]@4 ~@2", Y: "~@5 [g3,g4]@4 gb3@6 g3 ~@2 g3@2 ~ f3@2 g3",
  Z: "bb3@2 c4 ~@2 c4 ~@3 bb3@6 c4 ~@7 g3", AA: "c4 ~ g3 c4 ~ g3 c4 ~ g3 bb3@6 c4 ~@2 bb3@3 g3 ~@2",
  AB: "f3@2 g3 f3 ~ g3 ~@3 g3@5 ~ g3@2 ~ f3@3 d3@2 ~", AC: "f3@2 g3 bb3@2 ~ g3@2 ~ bb3@6 g3 ~@2 f3@4 ~ g3",
  AD: "bb3@2 [c4,g4] ~@2 [c4,g4] ~@3 bb3@6 [c4,g4] ~@7 g3", // C5
  AE: "[c4,g4] ~ g3 [c4,g4] ~ g3 [c4,g4] ~ g3 bb3@5 ~ [c4,bb4] ~@2 [bb3,f4]@3 [g3,d4] ~@2", // C5 C7 Bb5 G5
  AF: "f3@2 [g3,f4] f3 ~ [g3,f4] ~@3 g3@5 ~ g3@2 ~ f3@3 d3@2 ~", // G7
  AG: "[f3,bb3]@2 [g3,c4] ~@2 [g3,c4] ~@3 [f3,bb3]@6 [d3,g3] ~@2 [f3,bb3]@3 [d3,g3] ~@2", // Bb5 C5 Bb5 G5 Bb5 G5
  AH: "~@5 [ab3,db4] ~@3 bb3@9 [bb3,db4]@2 ~ gb3@2 ab3", AI: "~@5 [ab3,db4]@2 ~@2 [bb3,db4]@13 ~@2",
  AJ: "f3 ~@4 f3 ~@3 g3@8 f3 ~@6", AK: "f3@2 ~@3 f3 ~@3 f3@13 ~@2", AL: "g3@4 ~ g3 ~@2 g3 f3@8 ~ f3@2 ~ d3 ~@2",
  AM: "f3@2 g3 ~@2 g3 ~@2 g3 f3@6 g3 ~@2 f3@2 g3 f3@2 g3",
  AN: "~@5 [g3,g4] ~@2 [g3,g4] f3@5 ~ d3@2 ~ [f3,f4]@2 [f3,f4] d3 ~@2", // G F
  AO: "f3@2 g3 ~@2 [g3,g4] ~@2 g3 f3@5 ~ g3 ~@2 g3@3 f3@3", // G
  AP: "f3@2 g3 ~@2 [g3,g4] ~@2 g4 f3@5 ~ d3@2 ~ [f3,f4] ~ f3 d3 ~@2", AQ: "~@5 f3 ~@2 f3 g3@6 f3 ~@2 g3@3 f3 ~ g3",
  AR: "~@5 g3 ~@2 g3 f3@6 g3 ~@2 g3@3 f3 ~ g3", AS: "~@3 g3 ~@2 g3@5 ~@4 gb3 ~@2 gb3@3 ~@3",
  AT: "bb3@4 ~ bb3 ~@2 bb3 ab3@8 ~ ab3@2 ~ f3 ~@2", AU: "ab3@2 bb3 ~@2 bb3 ~@2 bb3 ab3@6 bb3 ~@2 ab3@2 bb3 ab3@2 bb3",
  AV: "~@5 [bb3,bb4] ~@2 [bb3,bb4] ab3@5 ~ f3@2 ~ [ab3,ab4]@2 [ab3,ab4] f3 ~@2", // Bb Ab
  AW: "ab3@2 bb3 ~@2 [bb3,bb4] ~@2 bb3 ab3@5 ~ bb3 ~@2 bb3@3 ab3@3", // Bb
  AX: "ab3@2 bb3 ~@2 [bb3,bb4] ~@2 bb4 ab3@5 ~ f3@2 ~ [ab3,ab4] ~ ab3 f3 ~@2", // Bb Ab
  AY: "~@5 ab3 ~@2 ab3 bb3@6 ab3 ~@2 bb3@3 ab3 ~ bb3", AZ: "~@5 bb3 ~@2 bb3 ab3@6 bb3 ~@2 bb3@3 ab3 ~ bb3",
  BA: "~@3 bb3 ~@2 bb3@3 a3@9 ab3 ~ bb3 ab3@2 bb3", BB: "~@3 bb3 ~@2 bb3@3 a3@9 ~@6",
})).s("gm_electric_guitar_muted").gain(0.48).pan(0.6)

// other · piano
const piano = note(`<
  A@7 B C ~@8 D E F G F H I J K ~@4 L@2 M N O P E F G F H Q R ~@11 S@6 T@3 U@2 V W X Y Z AA D E F G F H Q R ~@11 AB@6
  AC@8 AD@7
>`.pickRestart({
  A: "[~@12 [d4,d5]@3 [f4,f5]@3 [c5,c6]@3 [bb4,bb5]@8 ~ [bb4,bb5]@3 [c5,c6]@8 ~ [c5,c6]@3 [d5,d6]@14 ~ [d5,d6]@3 [eb5,eb6]@3 [d5,d6]@3 [c5,c6]@6 [bb4,bb5]@6 [c5,c6]@6 [f4,f5]@6 [g4,g5]@11 ~@3 [g4,g5] [d4,d5]@3 [f4,f5]@3 [c5,c6]@3 [bb4,bb5]@8 ~ [bb4,bb5]@3 [c5,c6]@8 ~ [c5,c6]@3 [d5,d6]@19 ~@5 [c5,c6] [d5,d6] ~]/7", // D F C Bb C D Eb D …
  B: "[eb5,eb6]@5 [d5,d6]@4 [c5,c6]@11 ~ c5@3", C: "[d5,d6]@4 ~@5 d4@15, ~@5 d5@18 ~", D: "~ c4", E: "d4@5 c4 d4@2",
// … 162 more lines

More by Ramazzotti