Strudelify

Fidati di me

Laura Pausini

KeyD♭ majorTempo94 bpm
0:00/0:00
// Fidati di me — Laura Pausini
// 94 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 89 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 29.
setcpm(94/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 · epiano1
const epiano1 = note(`<
  A B A B C D E F C G H I J K L M N@2 O P Q@2 R S T@2 R U V E D E W C G H X J K L M N@2 L Y Q@2 R S T@2 R Z AA@3 Z AB@3
  AC AD AE AF AG AH AI AJ AK AL AE AF AG AH AI AJ AK AL AE AF AG AH AI AJ AK AL AM@3
>`.pickRestart({
  A: "[eb3,gb4] [db3,f4], bb3", B: "[b2,gb3,bb3,db4,eb4]@3 ~", C: "[gb3,bb3,db4] [f3,bb3,db4]",
  D: "[eb3,gb3,bb3,db4]@9 ~ [f3,ab3,db4]@2", E: "[gb3,bb3,db4] [bb3,db4], ~@4 f3@3 ~",
  F: "[eb3,gb3,bb3,db4]@12 ~@3 bb3@5 f3@4", G: "[eb3,gb3,bb3,db4]@11 ~ db4@12, ~@11 [ab3,bb3]@12 ~",
  H: "[gb3,b3,db4,eb4]", I: "eb4 [d4,gb4], bb3", J: "[db4,gb4]@5 ~ db4@2, bb3@4 ~ bb3@3", K: "[bb3,db4,gb4]",
  L: "[ab3,bb3,db4]", M: "[ab3,b3] [ab3,bb3,d4]", N: "[[bb3,db4]@7 ~ db4@6 db4@2, ~@23 bb3@24 ~]/2",
  O: "[ab3,bb3,db4]@7 ~", P: "[ab3,b3,eb4] [b3,eb4,gb4]", Q: "[gb3,bb3,db4]", R: "[ab3,b3,db4,eb4]",
  S: "[b3,eb4,gb4] [ab3,db4,f4]", T: "[[bb3,db4]@18 ~@3 ab4@3 [bb3,gb4]@18 ~@2 bb3 db4@3, ~@20 db4@21 ~@7]/2",
  U: "[b3,eb4,gb4]@2 ab4 f4, ~ [bb3,d4]", V: "eb3@3 gb3@2 eb3 gb3@2 eb3 db3@2 eb3 eb3@7 ~@5, [bb3,db4,eb4,gb4]@7 ~",
  W: "[eb3,gb3,bb3,db4]@16 ~@5 [ab3,db4]@3, ~@5 f3", X: "[ab3,bb3,d4,gb4]",
  Y: "[b3,db4,eb4,gb4]@12 db4 ~ b3 bb3@2 gb3@4 ab3@3", Z: "[b3,eb4,gb4]",
  AA: "[[bb3,db4,eb4]@7 ~ ab4@7 ~ gb4@8, ~@23 [bb3,db4]@24 [bb3,db4]@25]/3", // Eb7 Bbm
  AB: "[[ab3,db4,f4]@4 [ab3,b3,f4]@3 ~ ab4@7 ~ gb4@7 ~, ~@23 [bb3,db4]@21 ~@3 [bb3,db4]@21 ~@4]/3", AC: "[ab3,b3,eb4]",
  AD: "[ab3,b3,eb4] [db4,eb4,ab4]", AE: "[c4,eb4,ab4]@7 ~@2 [bb3,eb4,ab4]@13 ~@2", AF: "[c4,eb4,ab4]@7 ~",
  AG: "[ab3,bb3,db4]@5 ~ [ab3,bb3,db4]@5 ~", AH: "[db4,f4,ab4]@5 ~ [bb3,eb4,g4]@5 ~",
  AI: "[bb3,c4,eb4]@5 ~ [bb3,c4,eb4]@5 ~", AJ: "[ab3,c4,eb4]@10 ~@2 [ab3,c4,eb4]@9 ~@3",
  AK: "[ab3,db4,f4]@5 ~ [ab3,db4,f4]@5 ~", AL: "[ab3,db4,f4] [ab3,db4,f4,ab4]", AM: "[[bb3,eb4,ab4]@5 ~]/3",
})).s("gm_epiano1").gain(0.35).pan(0.6)

// bass · electric bass finger
const bass = note(`<
  A B C D C E C E C F G H I J K L M N O P Q R S T U V W X Y A E A Z C AA AB AC AD AE AF AG AD AH AI AJ AK AL AM AN AO AP
  AQ AR AS AT AU AV AW AT AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY@3
>`.pickRestart({
  A: "eb2@2 ~@9 eb2 db2@2 ~ db2@2 ~@6 b1", B: "b1@3 ~@17 b1 db2@2 b1", C: "eb2@3 ~@8 eb2 db2@2 ~ db2@2 ~@6 b1",
  D: "b1@3 ~@11 db2 eb2@2 ~@3 b1 db2@2 ~", E: "b1@2 ~@18 b1 db2@2 b1", F: "b1@3 ~@8 b1 bb1@2 ~ bb1@2 ~@6 ab1",
  G: "ab1@3 ~@17 e1 gb1 ~@2", H: "f1@3 ~@6 f1 ~ ab1 bb1@2 ~@3 bb1 bb1@3 db2@2 bb1", I: "eb2@2 eb1 ~@8 eb1 eb1@2 ~@10",
  J: "b1@2 b0 ~@8 b0 b0@2 ~@6 gb1 ab1@2 b1", K: "bb1@2 ~@9 bb1 bb1@2 ~@6 eb1 g1@2 bb1",
  L: "ab1@6 ~@5 ab1 bb1@6 ~@2 bb1 db2@2 bb1", M: "eb2@2 eb1@2 ~@7 eb1 eb1@3 ~@9",
  N: "b1@2 b0@2 ~@7 b0 b0@2 ~@6 gb1 ab1@2 b1", O: "bb1@3 ~@8 bb1 bb1@3 ~@5 ab1 bb1@2 ab1",
  P: "db2@6 ~@6 db2@3 gb2@2 ~ eb2@2 db2 bb1@2 ab1", Q: "gb1@6 ~@5 gb1 gb1@3 gb1@2 ~@6 gb1",
  R: "eb1@6 ~@5 eb1 eb1@2 ~ eb1@2 ~@3 eb1 gb1@2 eb1", S: "ab1@5 ~@6 ab1 ab1@2 ~ ab1@3 ~@3 ab1@3",
  T: "db2@6 ~@3 db2@3 b1@2 ~ b1@3 ~@2 b1@4", U: "bb1@6 ~@5 bb1 bb1@2 ~ bb1@2 ~@3 bb1 db2@2 bb1",
  V: "eb2@6 ~@5 db2 eb2@2 ~ eb2@3 ~@2 bb1@4", W: "ab1@6 ~@5 ab1 ab1@6 ~@3 ab1@3", X: "db2@6 ~@5 db2 d2@9 bb1@2 d2",
  Y: "eb2@3 gb2@2 eb2 gb2@2 eb2 db2@2 eb2 eb1@7 ~@5", Z: "b1@2 ~@12 b1 gb1@2 ~ b1@2 gb1 db2@2 b1",
  AA: "b1@2 ~@9 b1 bb1@2 ~ bb1@2 ~@4 bb1@3", AB: "ab1@5 ~@15 ab1 b1 ~ ab1",
  AC: "bb1@2 ~@9 ab1 bb1@2 ~ bb1@3 db2@3 bb1@2 db2", AD: "eb2@2 bb1 eb1@2 ~@6 eb1 eb1@2 ~@10",
  AE: "b1@2 b0@2 ~@7 b0 b0@2 ~@6 eb1 ab1@2 gb1", AF: "bb1@3 ~@8 bb1 bb1@2 ~@9 bb1",
  AG: "db2@3 ~@8 db2 d2@2 ~ d2@3 bb1@3 d2@2 bb1", AH: "b1@2 b0@2 ~@7 b0 b0@2 ~@6 gb1 ab1@2 gb1",
  AI: "bb1@3 ~@8 bb1 bb1@2 ~@6 ab1 bb1@2 ab1", AJ: "db2@6 ~@6 db2@2 b1 db2@2 ~@3 db2 bb1@2 ab1",
  AK: "gb1@6 ~@5 gb1 gb1@2 ~ gb1@4 ~ gb1 ~@2 gb1", AL: "eb1@5 ~@6 eb1!2 ~@2 eb1@3 ~@2 eb1 gb1@2 eb1",
  AM: "ab1@6 ~@5 bb1 ab1@2 ~ ab1@2 ~@3 ab1 bb1@2 ab1", AN: "db2@5 ~@3 ab1 db2@3 b1@2 ~ b1@3 ~@2 b1@4",
  AO: "bb1@6 ~@5 ab1 bb1@2 ~ bb1@3 ~@2 bb1 db2@2 bb1", AP: "eb2@4 ~@7 bb1 eb2@2 ~ eb1@2 ~@3 bb1 db2@2 eb2",
  AQ: "ab1@6 ~@5 ab1!2 ~@2 ab1@2 ~@3 ab1 ab2@2 ab1", AR: "db2@6 ~@5 db2 db2@2 ~ db2@3 ~@2 db2 bb1@2 ab1",
  AS: "gb1@8 ~ db2@3 gb2@6 db2@3 gb1@3", AT: "bb1@3 ~@8 bb1 bb1@2 ~@6 bb1 db2@2 bb1",
  AU: "eb1@3 ~@8 eb1 eb1@3 ~@6 bb1@2 eb1", AV: "ab1@3 ~@8 ab1 ab1@2 ~@7 ab1@3", AW: "db2@2 ab2 db2 b1@2 gb2 b1",
  AX: "eb2@3 ~@8 eb1 eb1@3 ~@5 bb1 db2@2 eb2", AY: "ab1@6 ~@5 ab1 ab1@6 ~@2 g1 ab1@2 bb1",
  AZ: "db2@5 ~ db2@2 bb1 db2@2 bb1 eb2@4 ~ db2 bb1@3 eb2@3", BA: "ab1@3 ~@8 ab1!2 ~@2 ab1@2 ~@4 ab1@2 eb1",
  BB: "f1@3 ~@8 f1 f1@2 ~ f1@3 ~@2 a1@4", BC: "bb1@3 ~@8 bb1!2 ~@7 bb1 db2@2 bb1",
  BD: "eb2@4 ~@4 bb1 eb2@2 ~ db2@2 ~ db2@2 ~@3 db2@4", BE: "c2@6 ~@5 c2 c2@2 ~ c2@3 ~@2 c2@4",
  BF: "f2@3 ~@8 f1 f1@2 ~ f1@3 ~@2 c2@4", BG: "bb1@4 ~@7 bb1 bb1@6 ~@3 bb1@2 db2",
  BH: "eb2@3 ~@5 eb2 ~@2 f2 eb2@2 db2 bb1@2 ~ eb2@2 db2 bb1@2 ~", BI: "ab1 ~@2 ab1@3 ~@2 ab1 ~@2 ab1 ab1@3 ~@8 ab1",
  BJ: "f1 ~@2 f1@3 ~@2 f1 ~@2 f1 f1@3 ~@5 f1 ab1@2 f1", BK: "bb1@2 ~ bb1@3 ~@2 bb1 ~@2 bb1 bb1@3 ~@8 bb1",
  BL: "eb2@2 ~ eb2@3 ~@2 eb2@3 bb1 db2@6 ab2@6", BM: "c2 ~@2 c2@3 ~@2 c2 ~@2 c2 c2@4 ~@5 eb2@2 e2",
  BN: "f2@3 f1@2 ~@3 f1 ~@2 f1 f1@4 ~@4 f1 ab1@2 f1", BO: "bb1 ~@2 bb1@3 ~@2 bb1 ~@2 bb1 bb1@3 ~@5 bb1 db2@2 bb1",
  BP: "eb2@2 bb1 eb1@2 ~@3 eb1 eb1@2 ~@3 eb1 eb1@2 ~@3 eb1 g1@3", BQ: "ab1@2 ~ ab1@3 ~@2 ab1 ~@2 ab1 ab1@6 ~@6",
  BR: "f1 ~@2 f1@3 ~@2 f1 ~@2 f1 f1@3 ~@6 f1@2 ab1", BS: "bb1@2 ~ bb1@2 ~@3 bb1 ~@2 bb1 bb1@5 ~@4 db2@2 d2",
  BT: "eb2@3 eb1@2 ~@3 eb1 ~@2 eb1 eb1@3 bb1@2 eb2 db2@3 ab2@3", BU: "c2@2 ~ c2@2 ~@3 c2 ~@2 c2 c2@3 ~@5 c2 eb2@2 c2",
  BV: "f2@3 f1@2 ~@3 f1 ~@2 f1 f1@2 ~@7 f2@2 f1", BW: "bb1@2 ~ bb1@2 ~@3 bb1@2 ~ bb1 f2@3 ab2@3 bb1@3 f2@2 db2",
  BX: "eb2 ~@2 eb2@3 ~@2 eb2@4 eb1@6 ~@2 eb1 g1@3", BY: "[ab1@5 ~]/3",
})).s("gm_electric_bass_finger").gain(0.6)

// chords · synth strings 1
const synth_strings_1 = note(`<
  A@4 B C B C B D@2 E F@2 G@2 F@2 H I J@2 K L M@4 N B C B C B D@2 O F@2 P@2 F@2 H I J@2 K L Q@2 R@2 S T@3 U V@2 W X Y@3
  Z AA@2 AB@2 Y@3 Z AA@2 AB@2 Y@3 Z AA@2 AB@2 AC@3
>`.pickRestart({
  A: "[gb4@2 f4@2 eb4@3 f4 gb4@2 f4@2 eb4@4, bb3]/4", B: "[eb3,gb4] [db3,f4]", C: "[b2,eb4]@5 [db3,f4]",
  D: "[[b2,eb4] bb2 ~ gb4, ~ db4@3, ~ ab4@2 ~, ~ [ab2,b3]]/2", E: "eb4 d4, [bb2,bb3,gb4,bb4]",
  F: "[bb3 [b2,b3], [db4,gb4]]/2", G: "[[bb2,ab3]@2 [ab2,b3] [bb2,bb3,d4,gb4], [db4,gb4]@3 ~]/2",
  H: "ab4 gb4, [bb2,bb3,db4]", I: "~ gb4, [db3,ab3,b3,eb4]", J: "[bb3,db4,gb4]/2", K: "[b3,db4,gb4]",
  L: "[b3,eb4,gb4] [ab3,db4,f4]", // B Db
  M: "[ab4@4 ~@5 ab4@2 gb4@2 ~@2 f4, [bb3,db4] b3, ~@4 gb4@5 ~@4 ab4@2 ~, ~@4 eb4@3 d4]/4", N: "[bb3,eb4,gb4]@3 ~",
  O: "[bb2,ab3,bb3,d4,gb4]", P: "[[bb2,ab3]@2 [db3,b3] [d3,bb3,d4,gb4], [db4,gb4]@3 ~]/2", Q: "[ab4 gb4, [bb3,db4]]/2",
  R: "[b3,eb4,ab4]/2", S: "[bb3,db4,ab4]", T: "[[bb2,ab4] eb3 [ab2,b3,eb4], [bb3,db4]@2 ~, ~ gb4@2]/3",
  U: "[db3,ab3,db4] [b2,b3,ab4], f4", V: "[[bb2,ab4] [eb3,gb4], [bb3,db4]]/2", W: "[ab2,b3,eb4,gb4]",
  X: "[db3,b3,eb4,gb4] [eb3,db4,eb4,f4,ab4]", // B Db
  Y: "[c4@3 bb3@5 c4@3 ~@5 [bb2,db4]@8, ab4, eb4@2 ~, ab2 f3 ~, ~@11 bb3@13]/3", Z: "[eb3,db4,f4,ab4] [db3,bb3,eb4,g4]",
  AA: "[ab4@3 bb4@5 ab4@3 bb4@5, [c4,eb4], c3 f3]/2", AB: "[bb2 eb3, [bb3,db4,f4,ab4]]/2",
  AC: "[[bb3,c4,eb4,ab4]@5 ~]/3", // Ab
})).s("gm_synth_strings_1").gain(0.29)

// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~@12 A@7 B C D E F@2 E G H@2 ~@8 A@7 B C D E F@2 E G C D I J K L M J K N O P Q@6 O P Q@6 O P Q@6 R@2 ~
>`.pickRestart({
  A: "~@9 db4@13 ~@2, db4@7 ~@17, ~@3 eb4@19 ~@2, ~@5 gb4@18 ~", B: "~@5 gb4@18 ~, db4, ~@3 eb4@19 ~@2",
  C: "~@9 db5@13 ~@2, gb4@11 ~, ~@2 ab4@9 ~", D: "~@9 db5@13 ~@2, gb4@11 ~, ~ ab4@4 ~",
  E: "~@3 db5@4 ~, gb4@7 ~, ~ ab4@4 ~", F: "~@9 db5@13 ~@2, gb4@7 ~, ~ ab4@4 ~",
  G: "~@19 gb4@3 ~@2, gb4@3 ~, ~@4 ab4@9 ~@2 ab4@7 ~@2, ~@9 db5@13 ~@2",
  H: "[~@9 db5@3 b4@10 ~@2 bb4@18 ~@6, gb4@21 ~@2 [db4,gb4]@18 ~@7, ~ ab4@4 ~@7]/2", // Gb5
  I: "db4@3 ~ db4@2 db4@5 ~, [f4,gb4,ab4]@11 ~", J: "db4@6 ~@2 db4@3 ~ db4@12, [eb4,gb4]", K: "[b3,eb4,gb4]@11 ~",
  L: "f4 gb4 ~ db4, db4 [b3,ab4]", M: "db4@3 ~ db4@2 db4@5 ~, [f4,ab4]@11 ~", N: "[b3,eb4,gb4]@5 ~ [ab3,db4,f4,ab4]@6",
  O: "~@9 eb5@13 ~@2, ab4@11 ~, ~@5 bb4@18 ~", P: "~@20 ab4@3 ~, ab4@3 ~, ~@5 bb4@7 ~@3 bb4@9, ~@3 eb5@5",
  Q: "[~@20 ab4@3 ~@45 ab4@3 ~@21 ab4@3 ~@21 ab4@3 ~@21 bb4@4, ab4@9 ~@3 ab4@11 ~ ab4@9 ~@3 ab4@9 ~@3 ab4@9 ~@3 ab4@12, ~@5 bb4@9 ~ bb4@12 ~@2 bb4@13 ~@2 bb4@6 ~@3 bb4@7 ~@3 bb4@12 ~@2 bb4@9 ~ bb4@12 ~@2 bb4@7 ~@3 bb4@12 ~@2 bb4@13 ~@6, ~@9 eb5@22 ~@2 eb5@21 ~@3 eb5@22 ~@2 eb5@22 ~@2 eb5@22 ~@2 eb5@15]/6",
  R: "[~@3 eb5@13, ab4, ~@5 bb4@37 ~@6]/2",
})).s("gm_electric_guitar_jazz").gain(0.3).pan(0.4)

// other · string ensemble 2
const string_ensemble_2 = note(`<
  A@2 B@2 ~@8 C D E F G H E I J@2 K L@3 K M N ~@8 C D E F G H E I J@2 K L@3 K O G P@3 Q R@2 S T U@3 V@4 W U@3 V@4 W U@3
  V@4 X@4
>`.pickRestart({
  A: "[~ gb4@2 bb3@2 eb4@3]/2", B: "[~ gb4@2 bb3@2 db4@3]/2", C: "eb3", D: "gb3", E: "ab3", F: "b3 [d3,d4]",
  G: "[gb3,gb4]", H: "db4", I: "b3", J: "[~@5 db4@2 gb4, gb3 eb3, ~ ab4@4 ~@3]/2", K: "gb4@3 gb4, ab2",
  L: "[[db3,gb4]@2 b2@2 ~@5 db4@2 gb4, ~@2 f4@3 ab4@4 ~@3, ~ bb2 eb3]/3", M: "[db3,gb4] [d3,f4]", N: "[eb3,gb4] ~",
  O: "gb4@3 f4, db3", P: "[[db4,db5,db6]@5 [bb3,bb4,bb5] [gb3,gb4,gb5]@3 [b3,b4,b5]@3]/3",
  Q: "[f4,f5] [gb4,gb5] [ab4,ab5] [db4,db5]", R: "[[db4,db5,db6]@5 [bb3,bb4,bb5] [gb3,gb4,gb5]@2]/2",
  S: "[b3,b4,b5]@3 [bb3,bb4,bb5]", T: "[ab3,ab4,ab5]", U: "[ab4,ab5]/3",
  V: "[[f4,ab4,ab5]@2 [g4,g5]@3 [bb4,bb5]@4 [eb4,eb5]@2 [ab4,ab5]@5, ~ eb4 ~@6]/4", W: "[ab4,ab5]@3 [bb4,bb5]",
  X: "[~@2 ab3@5 ~, [ab4,ab5]@3 ~]/4", // Ab
})).s("gm_string_ensemble_2").gain(0.22).pan(0.6)

// chords · electric guitar muted
const electric_guitar_muted = note(`<
  ~@12 A@8 B C D E F G H I ~@9 A@8 J C K E L M N B C O ~@7 P Q R S T U V W P X R S T Y V P@2 Q Z AA AB Y AC AD@3 ~
>`.pickRestart({
  A: "db4@4 ~ [db4,gb4] ~@3 [db4,gb4]@9 ~@6", B: "db4@2 ~ eb4 gb4@2 ~@3 db4@8 ~@7, ~@2 db4@5 ~@17",
  C: "db4@2 ~@2 gb4@2 ~@3 db4@10 ~@5, ~@2 db4@5 ~@17, ~@3 eb4@2 ~@19",
  D: "db4@2 ~ eb4 gb4@2 ~@3 db4@12 ~@3, ~@2 db4@5 ~@17",
  E: "db4@2 ~@2 gb4@2 ~@3 db4@13 ~@2, ~@2 db4@5 ~@17, ~@3 eb4@2 ~@19",
  F: "db4@2 ~ f4 gb4@2 ~@3 db4@12 ~@3, ~@2 db4@5 ~@17",
  G: "db4@2 ~@2 gb4@2 ~@3 db4@13 ~@2, ~@2 db4@5 ~@17, ~@3 f4@2 ~@19", H: "db4@2 ~ eb4 gb4@2 ~@3 db4@15, ~@2 db4@5 ~@17",
  I: "db4@2 ~@2 gb4@2 ~@3 db4@3 d4@12, ~@2 db4@5 ~@17, ~@3 eb4@2 ~@19",
  J: "db4@2 ~@2 gb4@2 ~@3 db4@8 ~@7, ~@2 db4@5 ~@17, ~@3 eb4@2 ~@19",
  K: "db4@2 ~@2 gb4@2 ~@3 db4@12 ~@3, ~@2 db4@5 ~@17, ~@3 eb4@2 ~@19",
  L: "db4@2 ~@2 gb4@2 ~@3 db4@12 ~@3, ~@2 db4@5 ~@17, ~@3 f4@2 ~@19",
  M: "db4@2 ~ f4 gb4@2 ~@3 db4@13 ~@2, ~@2 db4@5 ~@17", N: "db4@2 ~@2 gb4@2 ~@3 db4@15, ~@2 db4@5 ~@17, ~@3 eb4@2 ~@19",
  O: "db4 ~@7", P: "eb4@2 ~@2 ab4@2 ~@3 eb4@8 ~@7, ~@2 eb4@5 ~@17, ~@3 f4@2 ~@19",
  Q: "eb4@2 ~@2 ab4@2 ~@3 eb4@10 ~@5, ~@2 eb4@5 ~@17, ~@3 f4@2 ~@19",
  R: "eb4@2 ~@2 ab4@2 ~@3 eb4@12 ~@3, ~@2 eb4@5 ~@17, ~@3 f4@2 ~@19",
  S: "eb4@2 ~ f4 ab4@2 ~@3 eb4@13 ~@2, ~@2 eb4@5 ~@17",
  T: "eb4@2 ~@2 ab4@2 ~@3 eb4@12 ~@3, ~@2 eb4@5 ~@17, ~@3 g4@2 ~@19",
  U: "eb4@2 ~ g4 ab4@2 ~@3 eb4@13 ~@2, ~@2 eb4@5 ~@17", V: "eb4@2 ~@2 ab4@2 ~@3 eb4@15, ~@2 eb4@5 ~@17, ~@3 f4@2 ~@19",
  W: "eb4@2 ~ f4 ab4@2 ~@3 eb4@8 ~@7, ~@2 eb4@5 ~@17", X: "eb4@2 ~ f4 ab4@2 ~@3 eb4@10 ~@5, ~@2 eb4@5 ~@17",
  Y: "eb4@2 ~@2 ab4 ~@4 eb4@13 ~@2, ~@2 eb4@5 ~@17, ~@3 g4@2 ~@19",
  Z: "eb4@2 ~ f4 ab4@2 ~@3 eb4@12 ~@3, ~@2 eb4@5 ~@17",
  AA: "eb4@2 ~@2 ab4@2 ~@3 eb4@13 ~@2, ~@2 eb4@5 ~@17, ~@3 f4@2 ~@19",
  AB: "eb4@2 ~ g4 ab4@2 ~@3 eb4@12 ~@3, ~@2 eb4@5 ~@17", AC: "eb4@2 ~ f4 ab4@2 ~@3 eb4@15, ~@2 eb4@5 ~@17",
  AD: "[eb4@2 ~@2 ab4@2 ~@3 eb4@8 ~@7 [ab2,ab4]@48, ~@2 eb4@5 ~@15 bb3@49 ~, ~@3 f4@2 ~@18 [eb3,c4,eb4]@48 ~]/3", // Ab Cm
})).s("gm_electric_guitar_muted").gain(0.36).pan(0.6)

// chords · electric guitar muted
const electric_guitar_muted_2 = note(`<
  A@4 B@8 ~@8 C@2 D E F C G H ~@17 C@2 D E F C I@2 C ~@8 J@2 K L J@2 K M J@2 K L J@2 K M J@2 K L J@2 K M ~@3
>`.pickRestart({
  A: "~@2 eb4 ~@3 eb4 ~@2 eb4@2 eb4 ~@2 eb4!2 ~@2 eb4 ~@2 eb4@2 eb4",
  B: "~@2 eb4 ~@3 eb4 ~@2 eb4@2 ~@3 eb4 ~@3 eb4 ~@2 eb4@2 ~",
  C: "~@5 [bb3,db4,gb4] ~@3 [bb3,db4,gb4]@3 ~@2 [bb3,db4,gb4] ~@3 [bb3,db4,gb4]@6", // Gb
  D: "~@5 [b3,db4,gb4] ~@3 [b3,db4,gb4]@3 ~@2 [b3,db4,gb4] ~@3 [b3,db4,gb4]@6", // Bsus2
  E: "~@5 [b3,eb4,gb4] ~@3 [b3,eb4,gb4]@3 ~@2 [ab3,db4,f4] ~@3 [ab3,db4,f4]@6", // B Db
  F: "~@5 [db4,eb4,ab4] ~@3 [db4,eb4,ab4]@3 ~@2 [db4,eb4,ab4] ~@3 [db4,eb4,ab4]@6", // Dbsus2
  G: "~@5 [ab3,b3,gb4] ~@3 [ab3,b3,gb4]@3 ~@2 [ab3,b3,gb4] ~@3 [ab3,b3,gb4]@6", // Abm7
  H: "~@5 [db4,gb4] ~@3 [db4,gb4]@3 ~@2 [bb3,d4,ab4] ~@3 [bb3,d4,ab4]@6", // Gb5 Bb7
  I: "~@5 [b3,eb4,gb4] ~@3 [b3,eb4,gb4]@3 ~@2 [b3,eb4,gb4] ~@3 [b3,eb4,gb4]@6", // B
  J: "~@5 [eb4,ab4] ~@3 [eb4,ab4]@3 ~@2 [eb4,ab4] ~@3 [eb4,ab4]@2 ~@4", // Ab5
  K: "~@5 [db4,eb4,ab4] ~@3 [db4,eb4,ab4]@3 ~@2 [db4,eb4,ab4] ~@3 [db4,eb4,ab4]@2 ~@4", // Dbsus2
  L: "~@5 [db4,ab4] ~@3 [db4,ab4]@3 ~@2 [bb3,g4] ~@3 [bb3,g4]@2 ~@4", // Db5 Eb
  M: "~@5 [db4,ab4] ~@3 [db4,ab4]@3 ~@2 [db4,ab4] ~@3 [db4,ab4]@2 ~@4", // Db5
})).s("gm_electric_guitar_muted").gain(0.19).pan(0.4)

// chords · electric guitar muted · soft notes
const electric_guitar_muted_3 = note("<[~@3 eb4 ~@20]!4 [~@3 eb4 ~@7 eb4 ~@3 eb4 ~@7 eb4]!8 ~@77>")
  .s("gm_electric_guitar_muted").gain(0.11).pan(0.4)

// other · overdriven guitar
const overdriven_guitar = note("<~@28 A ~@24 B ~@11 C@2 ~@6 C@2 ~@6 C@2 ~@3 D@2 ~>".pickRestart({
  A: "eb4 ~", B: "gb4", C: "[~@7 eb4@3 ~@6]/2", D: "eb4/2",
})).s("gm_overdriven_guitar").gain(0.3)

// chords · synth strings 2
const synth_strings_2 = note("<~ A ~ B@2 ~@5 C D ~@18 A ~ B@2 E@2 ~@50 F@3>".pickRestart({
  A: "~ [eb4,bb4]@3", B: "[~ [eb4,bb4]@4 ~@3]/2", C: "~@3 [gb3,gb4]", D: "[bb3,bb4]@3 ~", E: "[~ [ab3,ab4]@2 ~]/2",
  F: "[[ab4,eb5,ab5]@5 ~]/3", // Ab5
})).s("gm_synth_strings_2").gain(0.24).pan(0.7)

// other · lead 8 bass lead
const lead_8_bass_lead = note(`<
  A B C D C D E F G H I J K L K M K L K N ~@9 O D P F G H I J K@2 L M L K L N ~@41 Q R ~
>`.pickRestart({
  A: "~@2 eb4 ~@2 eb4 eb5@2 ~ eb4 ~ eb4 ~@2 eb4!2 ~ eb4 bb4@2 ~ ab4@2 bb4",
  B: "eb4 ~ eb4 eb4@2 eb4!2 ~ eb5 eb4@2 eb4!2 ~ eb4 eb5@2 eb4!2 ~ eb4 eb5@2 eb4",
  C: "~@2 eb4 ~@2 eb4 eb5@2 ~ eb4 ~ eb4 ~@2 eb4 ~@2 eb4 bb4 ~@2 ab4@2 bb4",
  D: "~@2 eb4 ~@2 eb4 eb5@2 ~ eb4 ~ eb4 ~@2 eb4!2 ~ eb4 eb5@2 ~ ab4@2 bb4",
  E: "~@2 eb4 ~@2 eb4 eb5@2 ~ eb4 ~ eb4 ~@2 eb4 ~@2 eb4 eb5 ~@2 eb4 ~ eb4",
// … 103 more lines

More by Laura Pausini