Strudelify

Nemmeno un secondo

Nek

KeyE majorTempo90 bpm
0:00/0:00
// Nemmeno un secondo — Nek
// 90 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 99 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(90/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(`<
  ~@9 A B C B D B C B E F G H I F G H I F J K L F J K M B N B O B C B P F G H I F G H I Q R Q S Q T U V W X Y V W Z U AA
  AB AC U AA AB AD F G H I F G H I F G H I F G H I F G H I F G H AE AF@3
>`.pickRestart({
  A: "e1@7 ~", B: "b1 ~ b1@2 ~@4 g1 ~ g1@2 ~@4", C: "a1 ~ a1@2 ~@4 e1 ~ e1@2 ~ a1@3",
  D: "a1 ~ a1@2 ~@4 e1!2 a1 b1 d2@4", E: "e1 ~ e1@2 ~@4 b1 b2 b1 a2@5", F: "e1 ~ e1@4 ~ e1@2 ~ e1@5 ~",
  G: "c#2 ~ c#2@4 ~ c#2@2 ~ c#2@5 ~", H: "c2 ~ c2@4 ~ c2 ~@2 c2@6", I: "d2 ~ d2@4 ~ d2@2 ~ d2@5 ~",
  J: "f#1 ~ f#1@4 ~ f#1@2 ~ f#1@5 ~", K: "a1 ~ a1@4 ~ a1@2 ~ a1@6", L: "c2 ~ c2@4 ~ c2 d2 ~ d2@3 ~ d2@2",
  M: "~@2 a2@4 a1@7 ~ a1 ~", N: "a1 ~ a1@2 ~@3 e1 ~@2 e1@2 ~ a1@3", O: "a1 ~ a1@2 ~@4 e1!2 a1 b1!2 d2@3",
  P: "e1 ~ e1@2 ~@4 b1!2 e2 [f#2,a2] ~ b2 a2 [b1,f#2]", Q: "a1@2 ~ a1 d2 e2 a2@8 e1@2",
  R: "d1@2 ~ d1 d2@2 d1@3 d2 ~ d1 d2@2 d1@2", S: "d1@2 ~ d1 a1@2 d2@5 a1 d2@2 g1@2",
  T: "d1@2 ~ d1 d2@2 ~@8 d1 ~, ~@3 d1@4 ~, ~@9 d2@7", U: "e1", V: "f#2", W: "a2@13 ~ a2 b2", X: "c3@3 b2@3 g2 f#2",
  Y: "e2", Z: "c3@3 b2@3 g1 f#1", AA: "c#2", AB: "c2", AC: "d2 d2@2 d2", AD: "d2 ~ d2@3 ~@11",
  AE: "d2 ~ d2@4 ~ d2@5 b1@4", AF: "[e1@13 ~@3]/3",
})).s("gm_electric_bass_finger").gain(0.64)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@4 A@2 ~@3 B C D E F C D G H I@8 J@2 K J@4 L C D E F C D G H I@8 M N O P Q R S T@2 ~@2 U@2 V W X Y Z AA@2 AB AC I@24
  ~@3
>`.pickRestart({
  A: "[~@8 e4@11 ~@13, ~@2 f#4@5 ~@9]/2", B: "[e3,e4]@15 ~", C: "~@4 [b3,d4,f#4]@4 ~@4 [b3,d4,e4]@3 b3",
  D: "~@2 [a3,b3,e4]@2 ~@2 [g#3,b3,e4] ~", E: "~@4 [a3,d4,e4]@4 ~@4 [b3,e4]@3 [b3,e4]",
  F: "~@4 [a3,b3,e4]@4 ~@4 [g#3,b3,e4] ~@3", G: "~ [a3,d4,f#4] ~ [g3,d4,g4]",
  H: "~@4 [e3,b3,e4]@3 [b3,e4] ~@4 [g#3,b3,e4]@3 ~", // E5 E
  I: "[e4@3 ~ e4@3 e4@2 ~ e4@3 e4 ~ e4@4 ~ [e4,f#4]@3 e4@2 f#4 e4@2 ~ e4 ~ e4@4 ~ g4@3 e4@2 g4 e4@3 [e4,g4] ~ e4@4 ~ e4@2 ~ e4@2 ~ e4@2 ~ e4 ~ e4@4 ~ e4@2 ~ e4@2 ~ e4@3 e4 ~ e4@4 ~ e4@3 e4@2 ~ e4@2 ~ [e4,f#4]@2 e4@4 ~ e4@3 e4@2 ~ e4@2 ~ e4@2 e4@4 ~ e4@3 e4@2 ~ e4@2 ~ e4@3, ~@4 g#4@12 ~@12 f#4@4 ~@4 e4@2 ~@9 g4 ~@4 a4@5 a4@3 a4@4 ~@4 g#4@8 ~ g#4@5 ~@2 f#4@5 f#4@3 ~@8 g4@5 ~@4 g4@4 ~@3 a4@5 a4@3 a4@4]/8", // Esus2 Em Esus2
  J: "~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3", K: "~@3 b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3",
  L: "~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~@2", M: "g4@2 g4!2 g4@2 g4!2 ~ g4@2 g4!5",
  N: "a4!2 ~ a4!4 a4@2 a4@2 a4!3 a4@2", O: "g4@2 g4 ~ g4 ~@2 g4@2 g4@2 g4@2 g4@2 g4", P: "~ a4!7 ~ a4!2 a4@2 a4 ~ a4",
  Q: "~ g4!3 g4@2 ~ g4 ~ g4@2 g4!2 g4@2 ~", R: "~ a4!4 a4@2 a4 ~ a4 ~ a4 ~@4", S: "e4@15 ~",
  T: "[~@16 e4@13 ~@3, ~@2 e4!2 ~@4, ~@5 b3@2 a#3@2 ~@7]/2",
  U: "[~@9 a#3@6 ~ a3@14 ~@2, ~@5 b3@4 ~@23, ~@7 e4@18 ~@7]/2", V: "b3 e4 ~ d4@5", W: "e4@7 e4@6 ~ e4@2",
  X: "e4@2 ~@2 e4@2 e4 e4@4 e4@3 e4@2", Y: "e4@2 ~@2 e4@3 e4@4 ~ e4@4", Z: "e4@4 e4@3 e4@5 e4@4",
  AA: "e4@4 e4@3 e4@4 ~ e4@4", AB: "e4@4 e4@3 e4@8 ~", AC: "e4@3 ~",
})).s("gm_electric_guitar_clean").gain(0.4).pan(0.3)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note(`<
  ~ A@2 B@4 C@2 ~ D ~ E ~ D ~@9 F ~@3 G ~@4 H D ~ E ~ D ~@9 F ~ I J K L I M ~@7 N ~ O@2 ~@11 F ~@7 F ~@7 F ~@4
>`.pickRestart({
  A: "[~@3 [b3,e4]@11 ~@2]/2", B: "[~@10 b3@8 b3@3 ~ b3@3 ~ b3@9 ~@3 [b3,e4]@17 ~@9, ~@6 e4@17 ~@41]/4",
  C: "[~@5 b3@9 ~@2, ~@4 b3@5 ~@23, ~@3 e4@11 ~@2]/2", D: "~@15 e4", E: "~@12 g3@3 ~", F: "~@9 g4@3 ~@4",
  G: "~ b3 ~@14", H: "~@15 b3", I: "~@8 g4 ~@7", J: "~@2 a4 ~@13", K: "~@3 g4 ~ g4 ~@10", L: "~@8 a4 ~@5 a4 ~",
  M: "~@8 a4 ~@3 a4@3 ~", N: "~@2 b3 ~@5", O: "~@2 e4 ~@13",
})).s("gm_electric_guitar_clean").gain(0.24).pan(0.3)

// other · synth strings 1
const synth_strings_1 = note(`<
  ~@18 A B C D A B C D E@2 F G E@2 H@2 ~@8 A B C D A B C D I J K J L M N O P Q N R S T U@3 V W@2 X@2 A B C D A B C D A B
  C D A B C D A B C D A B C D Y@3
>`.pickRestart({
  A: "e3", B: "c#3", C: "c3", D: "d3", E: "[~ f#3, e4]/2", F: "[a3,c#4]", G: "[g3,c4] [a3,d4]", H: "[[e4,a4]@7 ~]/2",
  I: "[a2,c4]", J: "[d3,d4]", K: "a2@5 ~ a2@10, c4", L: "[a2,e4]", M: "d3@11 ~@5", N: "[e3,g#4]", O: "[f#3,f#4]",
  P: "[a3,e4]", Q: "[c4,b4]@3 [b3,a4]@5", R: "[f#3,a#4]", S: "[a3,a4]", T: "[c4,g4]@3 [b3,f#4]@5",
  U: "[~ f#4 g4, e4 ~@2, ~ b3@46 ~]/3", V: "a4@15 ~", W: "[b4@31 ~]/2", X: "[e5@29 ~@3]/2", Y: "[[e3,b3]@5 ~]/3",
})).s("gm_synth_strings_1").gain(0.4).pan(0.6)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A@6 B@3 C D E F G H G I J K L M N K L M N K O P Q R S P N D E F G H G I T K L M N K L M N U V W X Y Z AA@8 AB AC AD AE
  AB AC AD AF AG L AH AI AJ L AH AK@2 L AH AL AG L AH AM AG L AH AI K L AH AN@3 ~
>`.pickRestart({
  A: "[~@16 [b3,e4]@15 ~ [b3,e4]@15 ~ [b3,e4]@15 ~ [e4,f#4]@15 ~ [b3,e4]@15 [c#3,g#3], ~@15 [b2,e3,g#3]@16 [c#3,g#3]@16 [c3,g3]@16 [d3,a3,b3]@16 [b2,e3,g#3]@15 ~@2]/6", // E5 Esus2 E5 C#5 E C#5 C5 Bm7 …
  B: "[[b3,e4]@15 ~ e4@15 ~ [e4,f#4]@15 ~, ~@15 [c3,g3,b3]@16 [d3,a3,b3]@16 ~]/3", C: "[e3,g#3,b3,e4]",
  D: "~@4 [a3,b3,e4]@3 [b3,e4] ~@4 [g3,b3,e4]@3 [b3,e4]", E: "~ e4 ~@2 [a3,c#4,e4]@3 [c#4,e4] ~@4 [e3,b3,e4]@2 ~@2",
  F: "~@4 [b3,d4,e4]@3 b3 ~@4 [g3,b3,e4]@3 [b3,e4]", G: "~@4 [a3,c#4,e4]@3 [c#4,e4] ~@4 [b3,e4]@3 ~, ~@12 e3 ~@3",
  H: "~@4 [a3,b3,e4]@3 [a3,e4] ~@4 [g3,b3,e4]@3 [b3,e4]", I: "~@4 [b3,d4,e4]@3 e4 ~@4 [g3,b3,d4]@2 g4 g3",
  J: "e3 ~ e3 ~ [g#3,b3,e4]@3 [b3,e4] ~@4 [e3,b3,e4]@3 ~", // E E5
  K: "e4 [b3,e4] [g#3,b3,e4] [b3,e4] ~ e4 [g#3,b3,e4] ~ [g#3,e4] [b3,e4] [g#3,b3,e4] [b3,e4] [g#3,b3,e4] e4 [g#3,e4] e4, ~@4 [g#3,b3,e4]@2 ~ [b3,e4]@2 ~@4 b3@3", // E5 E E5 E C#m E5 E E5 …
  L: "[g#3,b3,e4] [b3,e4] [g#3,e4] [b3,e4] [g#3,e4] e4 [g#3,e4] [g#3,b3,e4] e4 [g#3,b3,e4] ~ e4 [g#3,b3,e4] ~@2 [b3,e4], ~@4 b3@3 ~@3 [g#3,b3,e4]@2 ~ [b3,e4]@2 ~, ~@7 [g#3,e4]", // E E5 C#m E5 C#m E E5 E …
  M: "[g3,b3,e4] e4 [g3,b3,e4] e4 [g3,b3,e4] e4 [g3,b3,e4]!2 e4 [b3,e4] [g3,b3,e4] e4 [g3,b3,e4] ~ [g3,e4] [b3,e4], ~@13 [b3,e4]@2 ~", // Em E5 Em C E5
  N: "[a3,b3,e4] e4 [a3,b3,e4] e4 [a3,b3,e4] e4 [b3,e4] [a3,b3,e4] e4 [b3,e4] [a3,b3,e4] [b3,e4] [a3,b3,e4] ~ a3 [b3,e4], ~@13 [b3,e4]@2 ~", // Asus2 E5 Asus2 E5 Asus2 E5 Asus2 E5
  O: "[a#3,b3,e4] [b3,e4] [a#3,e4] [b3,e4] [a#3,e4] e4 [a#3,e4] [a#3,b3,e4] e4 [a#3,b3,e4] ~ e4 [a#3,b3,e4] ~@2 [b3,e4], ~@4 b3@3 ~@3 [a#3,b3,e4]@2 ~ [b3,e4]@2 ~, ~@7 [a#3,e4]", // E E5 A#dim E5 A#dim E E5 E …
  P: "[a3,b3,e4] e4 [a3,b3,e4] e4 [a3,b3,e4] e4 [a3,b3,e4]!2 e4 [b3,e4] [a3,b3,e4] e4 [a3,b3,e4] ~ [a3,e4] [b3,e4], ~@13 [b3,e4]@2 ~", // Asus2 E5 Asus2 A5 E5
  Q: "[g3,b3,e4] e4 [g3,b3,e4] e4 [g3,b3,e4] e4 [b3,e4] [g3,b3,e4] e4 [b3,e4] [a3,b3,e4] [b3,e4] [a3,b3,e4] ~ a3 [b3,e4], ~@13 [b3,e4]@2 ~", // Em E5 Em E5 Asus2 E5 Asus2 E5
  R: "[g#3,b3,e4] [b3,e4] [g#3,b3,e4] [b3,e4] ~ e4 [g#3,b3,e4] ~ [g#3,e4] [b3,e4] [g#3,b3,e4] [b3,e4] [g#3,b3,e4] e4 [g#3,e4] e4, ~@4 [g#3,b3,e4]@2 ~ [b3,e4]@2 ~@4 b3@3", // E E5 E E5 E C#m E5 E …
  S: "[a#3,b3,e4] [b3,e4] [a#3,e4] [b3,e4] [a#3,e4] e4 [a#3,e4] ~ e4 [a#3,b3,e4] ~ e4 [a#3,b3,e4] ~@2 [b3,e4], ~@4 b3@3 [a#3,b3,e4]@2 ~ [a#3,b3,e4]@2 ~ [b3,e4]@2 ~, ~@7 [a#3,e4]", // E E5 A#dim E5 A#dim E E5 E …
  T: "e3 ~ e3@2 [g#3,b3,e4]@3 [b3,e4] ~@4 [e3,b3,e4]@3 ~", // E E5
  U: "[c4,e4]!3 ~ [c4,e4]!3 [g3,c4,e4] e4 ~ g3 [c4,e4]!4 e4, ~@4 g3@3 ~@2 [c4,e4]@2 ~ g3@4", // C
  V: "[a3,d4,f#4] f#4 a3 [d4,f#4]!4 [a3,d4,f#4] [d4,f#4]!2 a3 [d4,f#4]!4 ~, ~@4 a3@3 ~@5 a3@4", // D
  W: "[c4,e4]!2 g3 [c4,e4] [g3,c4,e4] [c4,e4]!2 [g3,c4,e4] e4 [c4,e4] g3 [c4,e4]!4 e4, ~@12 g3@3 ~", // C
  X: "[d4,f#4] ~ a3 [d4,f#4]!5 ~ [a3,f#4] [d4,f#4]!2 [d4,g4] [d4,f#4] [d4,f#4]@2, ~@4 a3@3 ~@5 a3@3 ~", // D G5 D
  Y: "[c4,e4]!2 ~ [c4,e4] [g3,c4,e4] [c4,e4] e4 [g3,c4,e4] ~@2 g3 [c4,e4]!2 [c4,e4]@2 [c4,e4], ~@9 [c4,e4]@2 ~ g3@3 ~", // C
  Z: "[d4,f#4]!2 ~ [d4,f#4] [a3,d4,f#4] [d4,f#4]!2 [a3,d4,f#4]@2 [d4,f#4] f#4 [d4,f#4]!3 f#4@2", // D
  AA: "[[e3,b3]@15 ~ [f#3,a#3]@15 ~ [b3,e4]@15 ~ [b3,e4]@6 [a3,d4,f#4]@9 ~ [b3,e4]@14 ~@2 [f#3,a#3]@15 ~ [a3,b3,c#4]@15 ~ [b3,e4]@6 [a3,d4,e4]@9 ~, e4@14 ~ [b3,e4]@16 [e3,a3]@16 g3@6 ~@10 e3@15 ~ [b3,e4]@16 e3@15 ~ g3@6 ~@11]/8", // E5 F# E5 D E5 F# A E5 …
  AB: "[b3,e4] [b3,e4]@2 e4 [b3,e4] [b3,e4]@2 [b3,e4]@4 ~ e4 [b3,e4]@2 [b3,e4], ~@11 [b3,e4]@2 ~@3", // E5
  AC: "[b3,e4] [b3,e4]@2 [b3,e4]!2 b3 e4 [b3,e4]@4 ~ e4 [b3,e4]@2 e4, ~@11 [b3,e4]@2 ~@3", // E5
  AD: "[b3,e4] [b3,e4]@2 e4 [b3,e4] [b3,e4]@2 [b3,e4]@4 e4@2 [b3,e4]@2 [b3,e4]", // E5
  AE: "b3 b3@2 e4 ~ e4!2 [b3,e4]@4 [b3,e4]@2 e4!3, e4@3 ~ [b3,e4]@2 ~@10", AF: "[b3,e4]@2 e4@11 ~@3, ~@2 b3@9 ~@5",
  AG: "[b3,e4]!2 [g#3,b3,e4] [b3,e4] ~ e4 [g#3,b3,e4] ~ [g#3,e4] [b3,e4] [g#3,b3,e4] [b3,e4] [g#3,b3,e4] e4 [g#3,e4] e4, ~@4 [g#3,b3,e4]@2 ~ [b3,e4]@2 ~@4 b3@3", // E5 E E5 E C#m E5 E E5 …
  AH: "[g3,b3,e4] e4 [g3,b3,e4] e4 [g3,b3,e4] e4 [g3,b3,e4]!2 [b3,e4]!2 [g3,b3,e4] e4 [g3,b3,e4] ~ [g3,e4] [b3,e4], ~@13 [b3,e4]@2 ~", // Em E5 Em C E5
  AI: "[a3,b3,e4] e4 [a3,b3,e4] e4 [a3,b3,e4] e4 [a3,b3,e4]!2 e4 [b3,e4] [a3,b3,e4] [b3,e4] [a3,b3,e4] ~ a3 [b3,e4], ~@13 [b3,e4]@2 ~", // Asus2 E5 Asus2 E5 Asus2 E5
  AJ: "~ e4 [b3,e4]!2 ~ e4 [g#3,b3,e4] ~ [g#3,e4] [b3,e4] [g#3,b3,e4] [b3,e4] [g#3,b3,e4] e4 [g#3,e4] e4, [b3,e4]@2 ~@2 [g#3,b3,e4]@2 ~ [b3,e4]@2 ~@4 b3@3", // E5 E C#m E5 E E5 E C#m …
  AK: "[[a3,b3,e4] e4 [a3,b3,e4] e4 [a3,b3,e4] e4 [a3,b3,e4]!2 e4 [b3,e4] [a3,b3,e4] [b3,e4] [a3,b3,e4] ~ a3 ~ e4 [b3,e4] [g#3,b3,e4] [b3,e4] ~ e4 [g#3,b3,e4] ~ [g#3,e4] [b3,e4] [g#3,b3,e4] [b3,e4] [g#3,b3,e4] e4 [g#3,e4] e4, ~@13 [b3,e4]@2 [b3,e4]@2 ~@3 [g#3,b3,e4]@2 ~ [b3,e4]@2 ~@4 b3@3]/2", // Asus2 E5 Asus2 E5 Asus2 E5 E E5 …
  AL: "[a3,b3,e4] e4 [a3,b3,e4] e4 [a3,b3,e4] e4 [a3,b3,e4]!2 e4 [b3,e4] [a3,b3,e4] [b3,e4] [a3,b3,e4] [b3,e4]@2 [a3,e4]", // Asus2 E5 Asus2 E5 Asus2 E5 A5
  AM: "[a3,b3,e4] e4 [a3,b3,e4] e4 [a3,b3,e4] e4 [a3,b3,e4]!2 e4 [b3,e4] [a3,b3,e4] [b3,e4] [a3,b3,e4] ~ a3 e4, ~@13 [b3,e4]@2 ~", // Asus2 E5 Asus2 E5 Asus2 E5
  AN: "[[a3,b3,e4] e4 [a3,b3,e4] e4 [a3,b3,e4] e4 [a3,b3,e4]!2 e4 [b3,e4] [a3,b3,e4] [b3,e4] [a3,b3,e4] ~ a3 e4 [b3,e4]@30 ~@2, ~@13 [b3,e4]@2 g#3@31 ~@2]/3", // Asus2 E5 Asus2 E5 Asus2 E5
})).s("gm_acoustic_guitar_steel").gain(0.48).pan(0.6)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@10 A B C D E F G ~@2 H I J ~ H I J ~ H K L ~ H K J A B C D E F G ~@2 H I J ~ H I J M N O P Q R ~@9 S T U ~ S T ~@2 H
  V W ~ H V W ~ H V W ~ H V W ~ H V W ~ H V W ~@3
>`.pickRestart({
  A: "~@9 [b3,e4] ~@6", B: "~@2 a3 ~@6 [b3,e4] ~@6", C: "~@7 e4 ~ [b3,e4] ~@6", D: "~@2 a3 ~@13, ~ e4@2 ~@13",
  E: "~@9 [a3,e4] ~@6", F: "~ e4 a3 ~@13", G: "~@7 b3 ~@2 b3 ~@5", H: "~@2 b3 ~@13", I: "~ b3 ~@6 b3 g3 ~ b3 ~@4",
  J: "~@5 b3 a3 ~@2 a3 ~@6", K: "~ b3 ~@6 b3 a3 ~ b3 ~@4", L: "~@5 b3 g3 ~@2 a3 ~@6", M: "~@2 g3 [c4,e4] ~@4 c4 ~@6 c4",
  N: "~ d4 [d4,f#4] ~@7 [d4,f#4] ~@4 [d4,f#4]", O: "~@2 [c4,e4] ~@5 c4 ~ [c4,e4] ~@4 c4",
  P: "a3 [d4,f#4]!2 ~@4 a3 [d4,f#4] d4 ~@6", Q: "~@2 [g3,c4,e4] ~@5 [c4,e4] ~@7", R: "~@2 [a3,d4,f#4] ~@7 d4 ~@3 d4@2",
  S: "~@5 e4 ~@9 b3", T: "~@6 e4 ~@9", U: "~@3 b3 ~@9 b3@3", V: "~ b3 ~@7 g3 ~ b3 ~@4", W: "~@5 b3 ~@3 a3 ~@6",
})).s("gm_acoustic_guitar_steel").gain(0.24).pan(0.6)

// chords · overdriven guitar
const overdriven_guitar = note(`<
  ~@26 A@2 B C D E F G ~@8 H@8 I J K L M N O@2 P Q@3 P R S T U V W X Y@2 Z@8 AA@8 AB@2 AC AD@3 AE@5
>`.pickRestart({
  A: "[~@2 e3@4 ~ e3@2 ~ e3@6 f#3 ~ f#3@6 ~ f#3@7, b3]/2", B: "a3 ~ a3@6 ~ a3@7, c#4", C: "e4@3 [b3,e4], c4 ~",
  D: "e3 [e3,b3] e3 [e3,b3] [e3,e4]@6 e4@2 ~ e4@3, ~@3 e3", E: "f#3!3 ~ c#4@6 c#4@6, ~@3 f#3@13",
  F: "a3@10 a3 ~@2 a3@3, c#5@15 ~", G: "~@3 a3@4 ~ a2@2 a3@4 ~@2, ~ a2@4 ~@11",
  H: "[~@70 e4@53 ~@5, b3@26 ~ b3@35 ~@2, ~ e4@67 ~@60]/8", I: "[a2,e4]@3 e3 d3 e3 a3@4 a3@2 a2 a3@2 a2, ~@3 e4@5",
  J: "d3@3 [d3,d4]@2 ~ d3@4 d3@2 a2 d3@3, ~@6 f#4@9 ~", // D
  K: "a2@3 e3 d3 e3 [a3,e4]@4 [a3,c4]@2 a2 a3@2 a2, ~@3 c4@3 ~@6 e4@4", // A5 Am
  L: "[d3,f#4]@3 d3 ~@2 f#4@4 g4@3 [d3,f#4]@3, ~@6 d3@7 ~@3", M: "[a2,e4]@3 a2 d3 e3 a3@7 a3 [a2,e4]@2",
  N: "f#4@2 ~ [d3,d4] ~@2 d3@4 d3@6, ~@3 f#4@5", O: "[e4@15 ~]/2", P: "c#4",
  Q: "[[c4,b5]@6 d4@6 ~@4 b5@8 g#3@7 ~ a#3@16, ~@3 a5@5 ~@16, ~@3 e4@8 ~]/3", // Cmaj7
  R: "g3@2 ~@4 d4@9 ~, ~ e4@2 ~@5, ~@2 g3@5 ~", S: "g#3@15 ~", T: "g#3", U: "b3", V: "b3@4 b3@7 ~ b3@4",
  W: "e4@4 e4@7 ~ [g#3,e4]@4, g#3@5 ~@3", X: "e4!2 ~ b3, b3@11 ~@5, ~@8 e4@7 ~",
  Y: "[[b3,e4]@21 ~@3 e5@2 f#5@2 g#5@2 a5@2]/2", Z: "[b5@15 ~@55 e4@53 ~@5, b3@26 ~ b3@35 ~@2, ~@4 e4@13 ~@15]/8",
  AA: "[~ g#4@31 g4@16 ~@22 e4@53 ~@5, b3@57 ~ b3@70, ~@3 a4 ~@4]/8", AB: "[~@5 e5@7 ~@4, b3@9 ~@23, ~ e4@15]/2",
  AC: "~ b4 e5 b4 e5 b4 a4 b4@9",
  AD: "[~ b4 [e5,f#5]@2 e5 b4 ~ b4 ~ b4 ~ b4@2 a4@2 b4@19 ~@7 b4 ~ b4 e5 f#5 g#5 a5, ~@13 e4@17 ~@18]/3", // Esus2
  AE: "[~@9 e5@3 ~@2 f#5@4 g5@2 [e5,f#5]@2 e5@4 e5@4 ~@2 b3@38 ~@10, b5@5 ~ b5@6 b5@18 ~@50, ~@3 e5@5 ~@22 e5@33 ~@17]/5", // Esus2
})).s("gm_overdriven_guitar").gain(0.48).pan(0.7)

// chords · rock organ
const rock_organ = note(`<
  A@2 ~@4 B@3 C ~ D E ~@5 F@3 G F@3 G H I J@2 K@3 L ~ D E M ~@4 F@3 G F@3 N O P Q P Q P R@3 S T@3 U V@4 F@3 W F@3 G F@3
  N F@3 G F@3 N F@3 G F@3 G X@3
>`.pickRestart({
  A: "[b4@13 ~@3]/2", B: "[~@2 a5, e5@47 ~]/3", C: "[b4,e5,g#5]@14 [g4,a4,b4,c#5] f4", D: "~@9 d6 ~@3 d6 ~ d6",
  E: "~@9 d6 ~@6", F: "[g#5 f#5 g5, [b4,e5]]/3", G: "[d5,f#5,a5]", H: "[e5,g#5,b5]", I: "[c#5,f#5,a#5]",
  J: "[[b4,a5]@2 [g5,b5] [c#5,f#5,a5], e5@3 ~]/2", K: "[[g#5,b5]@16 [f#5,a#5]@16 [b4,a5]@15 a3, e5@47 ~]/3",
  L: "[a5,c#6,e6] a3 [a5,c#6,e6]@2 a3 a4 a3 a4 [e5,a5,c#6] a4 [e5,a5,c#6] a4 [e5,g5] [e5,f#5] [b4,c#5,d#5] g4", // A Em Esus2 B
  M: "~@10 [g3,a3,b3] [c4,d4,e4,f4,g4,a4,b4] [c5,d5,e5,f5,e6,b6] ~ [c6,d6,e6,f6,g6,a6] [f5,a5,b5], ~@6 f#6 ~", // G Cmaj7 Bdim Dm7 Bm7b5
  N: "[d5,f#5,a5]@14 [d4,e4] [f4,g4,a4,b4,c5,d5]", O: "[g5,c6,e6], [e5,f5] ~@15", P: "[a5,d6,f#6]", Q: "[g5,c6,e6]",
  R: "[g#5@15 ~@17 a5@14 a3 b3, [b5,e6]@47 ~]/3", S: "[c4,e5,g5]@3 [b3,d5,f#5]@3 g3 f#3",
  T: "[e3@16 f#3@16 a3@13 ~ a3 b3, e5, b5@2 a5]/3", U: "[c4,c5,g5]@6 b3@5 ~ g3@2 f#3@2, ~@3 [b4,f#5]@5, ~@12 f#3 ~@3",
  V: "[e3 ~ g5 [f#5,a5], b4, e5@3 ~]/4", W: "[b4,e5,a5]@12 [b4,e5] g5 [b4,c5,d5,e5,f5] [d4,e4,f4,g4,a4], ~@6 a5 ~",
  X: "[[b4,e5]@13 ~@3, g#5@37 ~@11]/3", // E5
})).s("gm_rock_organ").gain(0.48).pan(0.3)

// chords · rock organ · soft notes
const rock_organ_soft = note("<A@2 ~@4 B@3 C ~ D ~@21 E ~ D ~ F ~@18 G@2 ~@41>".pickRestart({
  A: "[[e4,g#4]@27 ~@5, f#4@29 ~@3]/2", B: "[[g#4,f#5] [d5,g5] c#5, b4@47 ~]/3", C: "~@13 d5 ~ [b3,d4,e4]",
  D: "~@11 d6 ~@4", E: "~@14 a#4 a4", F: "~@15 g5", G: "[~@15 a#5@16 ~]/2",
})).s("gm_rock_organ").gain(0.24).pan(0.3)

// chords · distortion guitar
const distortion_guitar = note(`<
  ~@9 A ~ B@2 ~@4 C@2 D E@5 F D@3 G D@3 H ~@3 I J@2 ~ C@2 D E@5 F K L@3 M N O@2 ~ P@5 Q@8 ~ D E@5 F ~ D E@5 F ~ D E@5 F
  R@3
>`.pickRestart({
  A: "e3@7 ~", B: "[~@14 e5@17 ~, ~@14 b4@15 ~@3]/2", C: "[~@3 [e3,b3,e4]@5]/2", D: "[b3,e4]",
  E: "[b3@7 b3@8 ~ e4@4, e4@32 ~@28 b3@17 ~@3]/5", F: "e4", G: "[b3,e4]@7 ~", H: "[a3,e4]@15 ~",
  I: "~@9 b5 f#5 d5 ~@3 d5", J: "[[b4,e5]@29 ~@3]/2", K: "~@3 a3@4 [d3,e3], a2@13 ~@3",
  L: "[d3@14 e3@2 ~@14 e3@2 d3@6 [d3,a3]@4 [d3,a3]@5 a3, a3@10 ~ a3@8 ~@5, ~@8 a2@7 ~@9]/3", // D5
  M: "e3@6 a3@7 ~ e3@2, a2@13 ~@3", N: "d3@5 ~ a3@10, ~@3 d3@2 ~@3", O: "[[e2,b3]@31 ~, e4@7 ~]/2",
  P: "[~@12 [b3,e4]@55 ~@13, ~@6 e3@17 ~@17]/5", Q: "[[b3,e4]@55 ~@9 e3@64, ~@63 [b3,e4]@64 ~]/8",
  R: "[[e2,b2]@19 ~@5]/3", // E5
})).s("gm_distortion_guitar").gain(0.56).pan(0.4)

// chords · distortion guitar · soft notes
const distortion_guitar_soft = note("<~ A@6 B ~ C ~@27 D ~@14 E ~@46>".pickRestart({
  A: "[~@6 b3@28 ~@8 b3@8 b3@2 f#4@2 b3@2 e4@2 b3@9 ~@3 [b3,e4]@17 ~@9, ~@6 e4@25 ~@7 e4@9 ~@49]/6", // E5
  B: "~@5 b3@3, ~@4 b3@5 ~@7, ~@6 e4@9 ~", C: "b3@7 ~", D: "~@13 d5 ~@2", E: "~@7 d3",
})).s("gm_distortion_guitar").gain(0.16).pan(0.4)

// drums · kick
const kick = s("bd").struct(`<
  ~@9 A B C B C B@2 D E F@7 G F@3 H F@3 I B J B C B@2 D K F@7 G L M L N L O A ~@3 A ~@3 P@7 A F@8 G F G Q F@3 R F@4 S G
  F T A ~ U
>`.pickRestart({
  A: "x", B: "x!2 ~@2 x!2 ~@2", C: "x ~ x ~@5 x ~ x ~@2 x ~@2", D: "~ x ~@2 x!2 ~@2", E: "x!2 ~@2 x ~ x ~",
  F: "x ~ x ~@4 x ~@2 x ~@5", G: "x ~ x ~@4 x ~@3 x ~@4", H: "x ~ x ~@4 x ~@2 x!2 ~@4", I: "x ~@6 x ~@8",
  J: "x ~ x ~@4 x ~@2 x ~@2 x ~@2", K: "x!2 ~@2 x ~@3", L: "x ~@2 x ~@2 x ~@3 x ~@3 x ~",
  M: "x ~@2 x ~@2 x ~@3 x!2 ~@2 x ~", N: "x ~@2 x ~@2 x ~@3 x!2 ~@4", O: "x ~@2 x ~@2 x ~@8 x", P: "x!4",
  Q: "x ~ x ~@4 x ~@3 x ~@2 x ~", R: "x ~ x ~@4 x ~@2 x ~@2 x ~ x", S: "x ~ x ~@4 x ~@2 x!2 ~@2 x ~",
  T: "x ~ x ~@4 x ~@8", U: "~@9 x ~@6",
})).gain(0.72)
// … 94 more lines

More by Nek