Strudelify
Certe notti cover art

Buon compleanno Elvis

Certe notti

LIGABUE

KeyE majorTempo87 bpm
0:00/0:00
// Certe notti — LIGABUE
// 87 bpm, 6/8, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 129 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(87/3)

// 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, A@4 for four bars: edit a riff to change every repeat.

// bass · electric bass finger
const bass = note(`<
  ~@4 A B C A D B E@2 F B D G A B C A H I J K A B C A D B E L F B D B A B C M D N O P O Q O P O Q R S T N H I J K A B C
  A D B E L F B D B A B C M U V W X Y Z AA AB AA AC R S AD L H I J K A B C A D B E L F B D B A B C M AE AF AG AH AG AF
  AG AH AG AF R AG AI AF H I AJ K AK@3
>`.pickRestart({
  A: "e2", B: "a1", C: "b1 a1", D: "c#2", E: "b1@11 ~", F: "g#1", G: "a1@11 ~", H: "d2 a2", I: "g2 f#2", J: "d3 c3",
  K: "b2@3 a2 g2 f#2", L: "b1", M: "e2@3 ~ e2@3 ~ e2@3 ~ e2@3 ~ e2@3 ~ e2@4", N: "b1@11 ~ b1@12", O: "a1@11 ~ a1@12",
  P: "e2 g#1", Q: "b1@11 ~ b1@10 ~@2", R: "f#1@3 ~ f#1@3 ~ f#1@3 ~ g#1@3 ~ g#1@3 ~ g#1@3 ~",
  S: "a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~", T: "a1@19 ~ a1@3 ~", U: "c#2@7 ~ c#2@3 ~ c#2@12",
  V: "b1@7 ~ b1@3 ~ b1@7 ~ b1@4", W: "a1@7 ~ a1@3 ~ a1@8 a1 ~@3", X: "e2@2 e2 g#1@3", Y: "a1@7 ~ a1@4 a1@11 ~",
  Z: "b1@8 b1@3 ~ b1@12", AA: "a1@7 ~ a1@3 ~ a1@7 ~ a1@3 ~", AB: "e2@3 ~ e2@3 ~ e2@3 ~ g#1@7 ~ g#1@4",
  AC: "b1@7 ~ b1@3 ~ b1@7 ~ b1@2 ~@2", AD: "a1 c#2", AE: "c#2!6", AF: "b1!6", AG: "a1!6", AH: "e1!3 g#1!3",
  AI: "a1!3 c#2!3", AJ: "d2 c3", AK: "[e2@7 ~]/3",
})).s("gm_electric_bass_finger").gain(0.4)

// other · french horn
const french_horn = note("<~@16 [b4@23 ~] [e5@23 ~] [f#4@11 ~ e4@10 ~@2] [e4@3 ~] ~@109>")
  .s("gm_french_horn").gain(0.26)

// chords · rock organ
const rock_organ = note("<~@39 A B ~@13 C@4 ~@30 D@4 ~@30 E@7>".pickRestart({
  A: "~@18 e4 [f4,g4,a4] [b4,c5] [d5,e5] [f5,g5,a5] [b5,c6,d6]", B: "[e6,g6] ~@23",
  C: "[a5@71 ~ a5@22 ~@2, [d6,f#6,a6]@47 ~]/4", D: "[a5@71 ~ a5@22 ~@2, [d5,d6,f#6,a6]@15 ~]/4",
  E: "[a5@71 ~ a5@21 [e4,b5,e6,g#6]@63 ~@12, [d5,d6,f#6,a6]@47 ~@37]/7", // E D
})).s("gm_rock_organ").gain(0.31).pan(0.4)

// chords · rock organ
const rock_organ_2 = note(`<
  ~@14 A B C D E F G@2 H@2 ~@4 I@2 J@2 K L M L N L O P Q R S T L U L V L W X Y Z AA AB AC@3 AD AE AF AG AH@2 J@2 K L AI
  L N L O P Q U AJ T L U L V L W X Y Z AA ~@2 AK@2 AL AM AN AO AH@2 J@2 K L M L N L O AP@2 U AJ T L U L V L W X Y Z AA
  ~@2 AK@2 ~@3
>`.pickRestart({
  A: "e5", B: "[e4,a4]@7 ~", C: "[e4,g#4,b4]", D: "[a4,c#5], e4@7 ~", E: "[d#4,f#4,b4] [e4,a4,c#5]",
  F: "[e4,g#4,e5]@19 [a4,b4,c5] [e4,g4] ~@3, b4@7 ~@5", G: "[d6@47 ~]/2", H: "[d6@8 c#6@15 ~@2 [g#6,a6]@23, ~ d6@5]/2",
  I: "[[c#5,g#5] [c#5,a5], e5@23 ~]/2", J: "[[b4,d#5,f#5]@23 ~]/2", K: "[g#5,b5]", L: "[a5,c#6,e6]",
  M: "[g#5,c#6,e6]@23 ~", N: "[g#5,b5,e6]@11 ~", O: "[b5,d#6,f#6]@6 [a5,c#6,e6]@5 ~", P: "[g#5,b5,e6]",
  Q: "[g#5,c#6,e6]", R: "[f#5,b5]", S: "[e5,a5]@23 ~", T: "[e5,g#5,b5]", U: "[f#5,b5,d#6]",
  V: "[e5,e6]@12 d#6@11 ~, [g#5,b5]@23 ~", W: "[b5,d#6,f#6]@11 ~", X: "[a5,c#6,f#6]@12 [b5,d#6,g#6]@11 ~",
  Y: "[c#6,e6,a6]@23 ~", Z: "[a5,c#6,e6,a6]@11 ~", AA: "[b5,d#6,f#6,b6]@23 ~",
  AB: "f#6@3 ~ [e6,f#6]@3 ~ f#6@3 ~ f#6@3 ~ f#6@3 ~ f#6@3 ~, e6 ~@7 e6 ~@3 e6 ~@3 e6 ~@3 e6 ~@3", // Esus2
  AC: "[f#6@4 e6 f#6 e6 ~ d6@4 e6@4 a5@2 b5@2 d6@12 ~ b5@3 b5@16 a5@2 f#5@2 d5@2 ~@2 a5@2 f#5@2 d5@2 b4@2 ~@4, e6 ~@32 a#5 ~@2 a#5 ~@35]/3",
  AD: "g#5", AE: "[a4,c#5]@23 ~", AF: "b4@11 ~ [a4,c#5]@11 ~", AG: "[e5,g#5]@11 ~", AH: "[[c#5,g#5] a5, e5@23 ~]/2",
  AI: "e6@23 ~", AJ: "[e5,a5,c#6]", AK: "[~@4 f#6@3 ~ e6@4 a6@32 ~@4, ~@12 g#6 ~@35]/2", AL: "[b4,e5,g#5]",
  AM: "[a4,c#5,e5]", AN: "[b4,d#5,f#5]@11 ~ [a4,c#5,e5]@12", AO: "[b4,e5,g#5]@11 ~",
  AP: "[b5@18 [c6,d6] a5 [f5,g5] [c5,d5,e5] [a4,b4] [e4,f4,g4] [g#5,e6]@24, [g#5,e6]@23 c#6@24 ~]/2", // Csus2 Fsus2 C Asus2 Em C#m
})).s("gm_rock_organ").gain(0.07).pan(0.6)

// chords · rock organ · soft notes
const rock_organ_soft = note(`<
  ~@12 A B C@2 ~@3 D ~@21 E F ~@14 G H I J K ~ L ~@4 M ~@28 L ~@9 N O ~@17 P@2 ~
>`.pickRestart({
  A: "~ [g#4,b4,d#5]", B: "[a4,c#5,e5]@23 ~", C: "[c#5@15 ~, g#4@7 ~@9]/2", D: "~@19 d5 ~@4", E: "d#6", F: "c#6",
  G: "~@10 b4 ~@13", H: "[b4,e5]@23 ~", I: "e5", J: "[d#5,f#5]@11 ~ e5@12", K: "b4@11 ~", L: "c#5@23 ~",
  M: "[g#5,c#6]@23 ~", N: "~@19 b5 ~@4", O: "d4 ~@23", P: "[[b4,e5,g#5]@9 ~@7]/2",
})).s("gm_rock_organ").gain(0.04).pan(0.6)

// other · drawbar organ
const drawbar_organ = note("<~@20 A B@3 ~@42 C D E F ~@30 C D E F ~@25>".pickRestart({
  A: "~@4 c#6 b5", B: "[a5 g5 ~@13 f#6 e6 f#6, ~@4 a5@31 ~]/3", C: "g#4@23 ~, g4 ~@23", D: "a4", E: "g#4",
  F: "a4@7 g4 e4 d4 [b3,c4] ~ [d3,e3] ~@11", // Cmaj7 Dsus2
})).s("gm_drawbar_organ").gain(0.17)

// other · drawbar organ · soft notes · F
const drawbar_organ_soft = note("<~@69 [~@8 f4 ~@2 [f3,g3,a3] ~@12] ~@33 [~@8 f4 ~@2 [f3,g3,a3] ~@12] ~@25>")
  .s("gm_drawbar_organ").gain(0.09)

// other · overdriven guitar
const overdriven_guitar = note("<~@50 A B ~@39 C D E F@2 G H I@2 ~@29>".pickRestart({
  A: "~@4 [c#4,f#4]@3 ~@9 [d#4,g#4]@3 ~@5", B: "[e4,a4]@11 ~", C: "~@4 g#4 a4", D: "e5@4 b4 c#5",
  E: "c#5@7 ~ c#5@5 [b4,c5] a4 g4 ~@8", // Cmaj7
  F: "[f#4@2 e4@2 f#4 ~ f#4 e4 c#4 ~@3 e4 ~@3 f#4@4 ~@8 b3@2 ~@2 c#4@2 ~@2 e4@2 ~@2 g4@3 ~ e5@4, ~@5 e4@4 ~@3]/2",
  G: "c#5@12 b4@11 ~", H: "b4@2 ~@2 b4@19 ~", I: "[~@4 g#4@11 b4@13 c#5@8 g#4@2 a4@2 g#4@8]/2",
})).s("gm_overdriven_guitar").gain(0.5)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~ A@4 B@2 ~ C@2 D E F G@3 ~@2 H I J@2 K@2 L M N O@3 P Q@2 R@2 S T@3 U V W X@2 Y@3 Z AA@2 AB AC AD@2 AE AF K@2 L AC N
  AG@3 P Q@2 R@2 S T@3 U V W AH@2 Y@3 Z AA@2 AB AC AI@2 AE AF K@2 L AC N AG@3 P Q@2 R@2 S T@3 U V W AH@2 Y@3 Z AA@2 AB
  AC AJ@2 AE AF AK@3 ~@2
>`.pickRestart({
  A: "[d#3@2 ~@10 d#3@2 ~@2 b3@11 ~@21, ~@4 b3@11 ~@33]/2",
  B: "[d#3@2 ~@10 d#3@2 ~@6 e3@5 ~@23, ~ e3@2 ~@21, ~@4 b3@11 ~ b3@11 ~@21]/2", C: "e4 ~@11", D: "~ b3@2 ~ b3@2",
  E: "~@2 b3@4 ~@2 b3@3 ~, e4@11 ~ e4@10 ~@2", F: "g3 ~@11", G: "[a3@36 d#3@2 e3@29 ~@5]/3",
  H: "e3@12 ~ e3@11, ~@6 d#3 ~@5", I: "e3@3 ~@10 e3@11, ~@6 d#3 ~@5",
  J: "[a3@19 ~ a3@3 ~ a3@4 g3@4 a3@12 ~@4, d3@47 ~]/2", K: "[a3@19 ~ a3@3 ~ a3@4 g3@4 a3@15 ~, d3@47 ~]/2",
  L: "~ g#4@22 ~, [e3,b3,e4]@7 ~", M: "[a3,e4,a4]@7 ~", N: "[b3,f#4]@12 ~ a4@11, b4@5 ~ [a3,c#4,e4]@5 ~",
  O: "[~ g#4@19 ~@4 c#4@22 ~@2 e4@24, [e3,b3,e4]@20 ~@3 c#3@22 ~@2 [a3,c#4]@23 ~@2]/3", P: "~ [f#4,b4]@22 ~, b3@11 ~",
  Q: "[~ b4@22 ~@2 g#4@23, [b3,f#4]@23 g#3@22 ~@3, ~@12 b3@11 ~, ~@6 d#4 ~@5]/2", // B5
  R: "[~ a4@20 ~@3 [e4,g#4]@24, [a3,c#4,e4]@21 ~@2 c#4@22 ~@3]/2", S: "~ [e4,a4]@20 ~@3, [a3,c#4]@7 ~",
  T: "[~ e4@21 ~@2 [c#4,e4]@22 ~@2 d#4@11 ~ [c#4,e4]@12, [e3,g#3,b3]@23 [e3,a3]@20 ~@4 f#3@11 ~ a3@11 ~@2]/3", // C#m E A5
  U: "[e3,g#3,b3,e4]@11 ~", V: "[c#3,g#3,c#4,e4]@23 ~", W: "[b2,f#3,d#4], b3@7 ~",
  X: "[[a2,e4]@23 ~ [g#3,b3]@20 ~@4, [a3,c#4]@20 ~@3 e3@22 ~@3]/2", // A5 G#m A
  Y: "[[a2,a3,c#4]@23 ~ [f#3,b3]@22 ~@2 [e3,a3,c#4]@23 ~, e3@21 ~@2 b2@23 ~ a2@21 ~@4]/3", Z: "[e3,g#3]@23 ~, b3@5 ~",
  AA: "[[a2,a3,c#4]@23 ~ [f#3,b3,d#4]@20 ~@4, e3@19 ~@4 b2@17 ~@8]/2", // A B
  AB: "~@2 f#4@10 ~ g#4@11, [f#3,a3] [g#3,b3,d#4], ~ c#4@12 ~@11", AC: "[a3,c#4,e4,a4]@5 ~",
  AD: "[[a2,a3]@23 ~ [b2,b3]@20 ~@4, e3@21 ~@2 f#3@20 ~@5]/2", AE: "a3@19 ~ a3@3 ~", AF: "a3 g3 a3@3 ~",
  AG: "[~ g#4@19 ~@5 g#4@22 ~ e4@24, [e3,b3,e4]@20 ~@3 c#3@22 ~@27, ~@24 c#4@22 ~ [a3,c#4]@23 ~@2]/3", // E5 A
  AH: "[[a2,e4]@23 ~ [g#3,b3,e4]@20 ~@4, [a3,c#4]@20 ~@3 e3@22 ~@3]/2", // A5 E A
  AI: "[[a2,a3,c#4]@23 ~ [b2,b3,d#4]@20 ~@4, e3@21 ~@2 f#3@20 ~@5]/2", // A B
  AJ: "[[a2,a3,c#4]@23 ~ [b2,b3]@20 ~@4, e3@21 ~@2 f#3@20 ~@5]/2", // A B
  AK: "[a3@19 ~ a3@3 ~ a3@4 g3@4 a3@15 ~@2 g#4@23, d3@47 e2@23 ~@2, ~@48 [e3,b3,e4]@23 ~]/3", // E5
})).s("gm_electric_guitar_clean").gain(0.17).pan(0.3)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note(`<
  ~ A ~ A ~ B ~@2 C D E F G ~@12 H ~@2 I J ~@8 K ~@4 L ~ M ~@6 N O ~@8 P J ~@8 K ~@6 M ~@16 P J ~@8 K ~@6 M ~@7 O ~@7
>`.pickRestart({
  A: "~@2 e3@4 ~@2 e3@4 ~@2 e3@5 ~ e3@4", B: "~@8 e3@4 ~@2 e3@5 ~@5", C: "~ d#4@23", D: "~ d#4@10 ~",
  E: "d#3@2 ~@8 e4 ~, ~@8 e4@9 ~@7, ~ d#3", F: "~@8 d#3@9 ~@3 d#3@3 ~", G: "~ g#3@11", H: "c#4@19 ~@5",
  I: "~ g#4@22 ~, e4@11 ~", J: "a4", K: "b3@11 ~@13", L: "e4@5 ~", M: "d#4@11 ~", N: "c#4", O: "d#4@5 ~", P: "e4@11 ~",
})).s("gm_electric_guitar_clean").gain(0.07).pan(0.3)

// chords · overdriven guitar
const overdriven_guitar_2 = note(`<
  ~@36 A B C D E F G H G F G H G F I J K L ~@3 M N O P Q R O S@2 T@2 U V A B C D E F G H G F G H G F I J K L W@2 X@2 N O
  P Q R O S@2 T@2 U V A B C D E F G H G F G H G F I J K L W@2 Y@2 Z@2 ~
>`.pickRestart({
  A: "e2@3 e2 f#2 g#2", B: "e3@6 b2 c#3 e3@2 e3@2", C: "f#3@11 ~ e3@11 ~",
  D: "e2@3 ~ e2@3 ~ e2@3 ~ e2@3 e2@3 ~ e2@3 ~@2", E: "c#3", F: "b2", G: "a2", H: "e2 g#2", I: "f#2@12 g#2@11 ~",
  J: "a2@7 ~", K: "[a2,e3]", L: "[b2,f#3]@11 ~", M: "~@2 [e3,b3], ~@5 [a3,d4] ~@2", N: "[e2,b2]", O: "[a2,e3]@23 ~",
  P: "b2 [a2,e3], f#3@5 ~@7", Q: "~@8 e3@7 ~@9, [e2,b2]@7 ~, ~@4 b3@19 ~", R: "[c#3,g#3]@23 ~", S: "[[b2,f#3]@11 ~]/2",
  T: "[g4 ~@3 e5@4 ~@8 e5@4 ~@20 e5@4 b4@3 ~, g#4@21 ~@2 g#4@2 ~@7 b4@8 ~@8, ~@8 b4@8 ~@4 b4@8 e5@8 f#5@9 ~@3, ~@12 f#5@9 ~@3 a4@23 ~]/2",
  U: "e4@23 ~", V: "~@12 b3@3 ~ b3@8, [a2,e3]@23 ~, ~@4 b3@7 ~@13, ~ c#4@2",
  W: "[~@11 a4, f#5@11 ~ f#5@11 ~ f#5@11 ~ f#5@10 ~@2, ~@4 d5@8 ~@4 d5@8 ~@4 d5@9 ~@3 d5@8, ~@8 a4@8 ~@4 a4@8 ~@4 a4@9 ~@7]/2",
  X: "[~@11 a4, f#5@11 ~ f#5@11 ~ f#5@11 ~ f#5@12, ~ d5@2 ~ d5@2 ~ d5@2 ~ d5@2, ~@8 a4@8 ~@4 a4@8 ~@4 a4@7 ~@9]/2",
  Y: "[~@21 a4@2 ~, f#5@11 ~ f#5@11 ~ f#5@11 ~ f#5@12, ~ d5@2 ~ d5@2 ~ d5@2 ~ d5@2, ~@8 a4@8 ~@4 a4@8 ~@4 a4@7 ~@9]/2",
  Z: "[[e2,b2]@23 ~]/2", // E5
})).s("gm_overdriven_guitar").gain(0.29).pan(0.4)

// chords · electric guitar clean
const electric_guitar_clean_3 = note(`<
  A@4 B@2 C D E@2 ~@2 F@2 G H I@2 J K@2 L@2 M N@2 O P Q R S T@2 U V W X Y@2 Z AA@2 AB AC@2 AD AE AF AG AH AI AJ AK@2 AL
  L@2 M N@2 O P Q R S T@2 U V W X Y@2 Z AA@2 AM AN@2 AD AE AF AG AH AI AJ AK@2 AO L@2 M N@3 P AP AQ AR T@2 U V AS X Y@2
  Z AA@2 AT AC@2 AU AE AF AG AV AI AJ AW@2 AO L@2 AX AY@2 ~
>`.pickRestart({
  A: "[e4@11 ~ e4@16 ~@20]/2", B: "[~ b3@2 e4@4 ~@5, e4@11 ~@37]/2", C: "e4@4 d#4 ~@3", D: "e4 ~", E: "~ e4",
  F: "[~@5 b3@2 b3 ~@2 e4@2, ~ e4@2 f#4@5 ~ f#4@3, ~@2 b3@2 e4@3 ~@5]/2",
  G: "~@4 b3@8 ~@4 b3@3 ~@5, e4@10 ~@2 e4@7 ~@5", H: "~ b3@2 ~@2 e3, e4@7 ~@5 e4@11 ~, ~@2 b3",
  I: "[e4 ~@13 b3@4 e4@2 b3@4, ~@2 d#4@6 e3@8 ~@4 e3@7 ~@21, ~@4 b3@8 e4@2 ~@2 b3@9 ~@23, ~@13 d#4@9 ~@2 e4@7 ~@17]/2",
  J: "e4@2 ~@8 e4 ~, ~ b3@2 e4@2 ~, ~ e3 b3",
  K: "[~@12 e4 ~@3 b3@4 e3@3 ~@9 d4@2 ~@6 e4@8, e4@6 ~@6 [d4,f#4]@5 ~@7, ~@4 b3@9 ~@10 a3@10 ~@15, ~@4 e3@4 ~@6 e4@4 f#4@5 ~]/2", // D
  L: "[~@11 d4, f#4@8 a3@8 d4@9 ~@3 e4@7 ~@5 e4@7 ~, ~@4 d4@8 f#4@11 ~ f#4@11 ~ f#4@10 ~@2, ~@20 a3@12 d4@9 ~@7]/2",
  M: "~@20 a3@3 ~, f#4@11 ~ f#4@11 ~, ~@4 d4@9 ~@3 d4@7 ~, ~@4 a3@5 ~@3",
  N: "~@4 e4 ~ e4@2 ~@2 e4 ~, e4@7 ~@17, ~@4 b3@9 ~@3 b3@8", O: "~@4 e4 ~ e4@3 ~ e4 ~, e4@7 ~@17, ~@2 b3@5 ~@5",
  P: "~@4 b3@8 e4@7 ~ e4@4, e4@7 ~@17", Q: "e4@2 d#4@9 ~ e4@2 ~@2 b3@8, ~@14 d#4@9 ~",
  R: "~@4 c#4@3 ~@9 c#4@3 ~ c#4@4, e4@11 ~ e4@11 ~", S: "~@8 b3@4 e4@8 b3@3 ~",
  T: "[~@12 e4@4 ~@8 d#4@3 ~@9 f#4@2 ~@6 b3@4, e4@12 ~@16 d#4@9 ~@3 e4@8, ~ b4@27 ~@20, ~ f#4@6 ~@5, ~@8 d#4@8 b3@12 ~@4 b3@9 ~@7]/2",
  U: "c#4@4 ~@8 f#4@3 ~@5 a3@4, ~@2 e4@5 ~ e4@4, ~ c#4 ~",
  V: "~@8 e3@3 ~ e3@4 ~@4 e3@4, g#3@23 ~, e3@7 ~@17, ~@2 b3@5 ~ b3@4", W: "~@4 e3 ~@5 e3@2, ~@2 b3@5 ~ b3@4",
  X: "~@8 e4@3 ~@9 e4@3 ~, ~@4 b3@8 e4@7 ~@5, ~@2 b3",
  Y: "[~@8 e4@2 ~@2 e4@4 ~@8 e4@4 ~@4 e4@2 ~@10 e4@3 ~, e4@7 ~@29 e4@7 ~@5, ~@4 b3@10 ~@2 b3@11 ~ b3@10 ~@2 b3@8]/2",
  Z: "~@8 e4@3 ~ e4@4 ~@4 e4@3 ~, e4@7 ~@17, ~@4 b3@9 ~@3 b3@7 ~",
  AA: "[~@8 c#4@4 ~@8 g#3@5 ~@7 b3@4 ~@8 f#3@4, ~@4 g#3@15 ~@9 f#3@15 ~@5, ~@3 e4@5 ~@2 b3@2, ~@4 c#4@3 ~@2 c#4@3]/2",
  AB: "~@5 a3, ~ e3@5, ~ a3 b3, ~ c#4",
  AC: "[e3 ~@2 f#4 ~ b3 ~@5 a3, ~@4 e3@17 ~@3 a2@24, ~@2 b3@2 e4@5 c#4@3, ~@7 e3@5, ~@4 a3 b3]/2",
  AD: "~@5 f#3, f#3@2 b3, ~@4 b3@7 ~ c#4@12, ~ f#4@2", AE: "~@2 a3 ~ a3@2, a2@11 ~, ~@2 e3@7 ~@3, ~ c#4",
  AF: "g#3@4 a3@4 g#3@4 f#3@7 ~ [f#3,b3]@4, e3 ~@23", AG: "~@2 a3 ~ a3@2, a2, ~@2 e3@7 ~@3, ~ c#4",
  AH: "~@2 b3 c#4 ~ f#3, ~@4 f#3@15 ~@5, ~@2 b3", AI: "~@2 g#3 ~@2 b3, f#4@10 ~@2 g#4@11 ~, ~@4 c#4@8 ~@4 d#4@7 ~",
  AJ: "~@4 e4@4 ~@12 c#4@3 ~, a4@12 a4@11 ~, ~@8 c#4@8 e4@7 ~",
  AK: "[~@2 a3 ~@5 b3 ~@2 f#3, e3@12 c#4@11 ~@13 c#4@12, ~@4 b3@9 ~@3 e3@7 ~ b2@23 ~, ~@5 a3@2 f#3@3 b3@2]/2",
  AL: "~@2 e4, f#4@8 d4@9 ~@7, ~@2 e4@4 f#4@5 ~", AM: "~@2 b3, ~ e3@5, ~@4 a3@5 ~@3, ~ c#4",
  AN: "[e3 ~@2 f#4 ~ b3 ~@5 a3, ~@4 e3@17 ~@3 a2@24, ~ b3 e4@3 b3, ~@32 a3@9 ~@7, ~@3 c#4]/2",
  AO: "~@5 d4, f#4@11 ~ f#4@10 ~@2, ~@4 e4@7 ~@5 e4@7 ~, ~@8 d4@9 ~@7",
  AP: "e4 ~@5 e4 ~ b3@4, ~@2 d#4@9 ~@3 d#4@9 ~, ~@4 b3@11 ~@9",
  AQ: "~@4 c#4@3 ~@9 c#4@3 ~ c#4@4, e4@11 ~ e4@11 ~, ~@8 c#4@7 ~@9", AR: "~@8 b3@4 e4@8 b3@3 b3",
  AS: "~@4 e3 ~@5 e3@2, e3@7 ~@17, ~@2 b3@5 ~ b3@4", AT: "~@2 b3, ~@4 a3@5 ~@3, ~ c#4",
  AU: "~@2 b3, f#3@17 ~@7, ~@4 b3@7 ~ c#4@12, ~ f#4@2", AV: "~@3 c#4 ~ f#3, ~@4 f#3@15 ~@5, ~@8 b3@7 ~ b3@8",
  AW: "[~@2 a3 ~@2 a3@2 ~ b3 ~ b3@2, e3@12 c#4@11 ~@13 c#4@12, ~@4 b3@9 ~@3 e3@7 ~@5 f#3@13 ~@7]/2",
  AX: "~@8 a3@8 ~@4 a3@3 ~, f#4@11 ~@13, ~@4 d4@9 ~@3 d4@7 ~",
  AY: "[~@30 e5@11 ~@7, g#5@12 ~ g#5@12 ~ g#5@12 ~@10, ~@5 e5@9 ~@3 e5@9 ~@22, ~@9 b4@10 ~@3 b4@10 ~@16]/2",
})).s("gm_electric_guitar_clean").gain(0.22).pan(0.7)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_4 = note(`<
  A@4 B@2 C@5 ~@2 D E F ~ G ~@2 H ~@5 I J K L M ~@4 N ~ O ~@8 P ~@7 H ~@5 I J K L M ~@4 N ~ O ~@4 Q ~ R ~ P ~@14 J ~@2 S
  ~@4 T ~ O ~@4 U ~@2 V P ~@6 V ~@3 W ~ X@2
>`.pickRestart({
  A: "[~@2 e3@2 ~ e3@2 ~@5, ~ b3@2 ~ b3@3 ~@5]/2", B: "[~@2 e3@2 ~ e3@2 ~@5, ~@4 b3@3 ~@5]/2",
  C: "[~@2 e3@2 ~ e3@2 ~@4 e3@2 ~ e3@2 ~ e3@2 ~ e3@2 ~ e3@2 ~@5, ~ b3@2 ~ b3@3 b3@2 e4@3 ~@18, ~@8 e3@2 b3@3 b3@2 ~ b3@3 b3@2 ~ b3@3 ~@5]/5",
  D: "~@8 b3@5 ~@7 b3@4", E: "~@2 e3@2 ~ e3", F: "~@8 e3@9 ~@7", G: "~@8 e4@3 ~@9 e4@3 ~", H: "~@5 d4", I: "~@2 b3",
  J: "~@8 e4 ~@7 b3@7 ~", K: "~@4 b3@11 ~@9", L: "~@8 c#4@7 ~@9", M: "~@16 b3@2 ~@5 b3", N: "e3@7 ~@5 e3@7 ~@5",
  O: "~@10 e4 ~", P: "~@5 e3", Q: "~@5 a3", R: "~ e3@5", S: "~@8 b3 ~@3", T: "~@12 e3@7 ~@5", U: "~@5 a3, ~ e3@5",
  V: "~@5 f#3", W: "~@12 f#4@11 ~", X: "[~@12 b4@5 ~@7, ~@10 b4@9 e5@14 ~@15, ~@5 g#5@6 ~@5]/2",
})).s("gm_electric_guitar_clean").gain(0.12).pan(0.7)

// other · overdriven guitar
const overdriven_guitar_3 = note("<~@54 A@2 B@2 ~@30 A@2 B@2 ~@4 C D E F G@2 H ~@19 A@2 B@2 ~@3>".pickRestart({
  A: "[d3@47 ~]/2", B: "[d3@7 ~]/2", C: "~@12 g#4@4 f#4@4 e4@3 ~", D: "g#4 ~ g#4@9 ~",
// … 77 more lines

More by LIGABUE