Strudelify

Loaded

Ricky Martin

KeyD minorTempo196 bpm
0:00/0:00
// Loaded — Ricky Martin
// 196 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 160 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(196/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.

// other · piano
const piano = note(`<
  ~@4 A@3 B ~@9 C@4 D@2 E F G@8 ~@10 H@7 I ~ J K@2 ~@2 L@2 M N O@2 P@2 ~@16 Q@7 F G@8 ~@10 H@7 I ~ J K@2 ~@2 L@2 M N O@2
  P@2 ~@6 H@7 I ~ J K@2 ~@2 L@2 M R S T U@2 ~ V W
>`.pickRestart({
  A: "[~@6 [db3,e3] [e3,g3]@17]/3", B: "[d3,f3] [a2,d3]", C: "[~@7 f4@7 e4@9 f4@4 a4@2 f4@2 e4]/4",
  D: "[f4@6 e4 f4@9]/2", E: "e4@5 f4@2 e4", F: "f4@2 e4 f4@5", G: "[[a3,f4]@3 a3@27 ~@2]/8",
  H: "[~@2 eb4@4 d4@3 c4@2 d4@2 c4@2 eb4@7 d4@3 c4@2 d4@2 c4@2 db4@8 e4@11 a4@2 f4@3 d4]/7", I: "a4@3 f4@5",
  J: "~@6 g4 gb4", K: "[g4@3 gb4 g4@2 gb4 g4@2 gb4 g4@6]/2", L: "[a4@4 f4@3 a4@5 f4@4]/2",
  M: "g4 gb4 g4 gb4 g4 gb4 g4 gb4", N: "g4@2 gb4 g4@4 gb4", O: "[g4 e4@2 g4@2 e4@2 g4@2 gb4 g4 gb4 g4@3 f4]/2",
  P: "[a4@3 f4 a4@2 f4 a4@2 f4@7]/2", Q: "[~@5 f4@9 e4@7 f4@6 a4@2 f4@17 e4@7 f4@2 e4]/7", R: "g4@2 gb4 g4@2 gb4 g4@2",
  S: "a4", T: "g4", U: "[~ a4@6 f4@2 a4@6 g4@3 g4@8 ~@6]/2",
  V: "[db4,e4,a4] g4 [db4,e4,a4] g4 [db4,e4,a4] g4 [db4,e4,a4]@2", W: "[d4,f4,a4]",
})).s("gm_piano").gain(0.05)

// bass · electric bass finger
const bass = note(`<
  ~@9 A B C D E F G H I B C D E F G J K@4 L@4 M@7 N O P O P O Q R@2 S T U V W X Y Z AA AB AC@2 AD AE AF AG AA AB AC@2 AD
  AE AH AI A B C D AJ F G H AK B C D E F G J K@4 L@4 M@7 N O P O P O Q R@2 S T U V W X Y Z AA AB AC@2 AD AE ~@5 AL O AM
  AN AM AN Q ~ AO S T U V W X Y Z AA AB AC AP AQ AR AS AT AU AV AW
>`.pickRestart({
  A: "d2@4 ~@2 d2 ~ g2@6 bb1 ~", B: "bb1 ~ bb1@3 ~ bb1 ~ e2@2 f2@2 bb1@2 bb1@2", C: "c2@3 ~ c2@3 ~ gb2@6 a1 ~",
  D: "a1 ~ a1@3 ~ a1@2 eb2@2 e2@2 a1 ~ a1@2", E: "d2@2 d2@2 d2@2 d2@2 g2@6 bb1 ~",
  F: "bb1 ~ bb1@2 ~@2 bb1 ~ e2@2 f2@2 bb1 ~ bb1@2", G: "c2@2 c2 ~ c2@2 c2 ~ gb2@6 ~@2",
  H: "a1 ~ a1@2 ~@2 a1@2 e2@2 a1@2 ~@2 a1 ~", I: "d2@3 ~ d2@3 ~ g2@6 bb1 ~", J: "a1 ~ a1@2 ~@2 a1@2 g1@2 a1@2 ~@4",
  K: "[d2@4 ~@2 d2 ~ a1@3 ~ bb1@8 ~@2 bb1 ~ bb1@3 ~ c2@8 ~@2 c2 ~ g1@3 ~ a1@8 ~@2 a1 ~ e1@3 ~ d1@3 ~]/4",
  L: "[d1@5 ~ d2@2 c2@3 ~ bb1@8 ~@2 bb1 ~ bb1@3 ~ c2@9 ~ g1 ~ ab1@3 ~ a1@8 ~@2 e1@2 a1@3 ~ d1@3 ~]/4",
  M: "[d1@6 d2@2 c2@3 ~ bb1@8 ~@2 bb1 ~ d2@3 ~ c2@8 ~@2 g1@2 ab1@3 ~ a1@9 ~ a1@2 a2@3 ~ d2@10 f1@5 ~ bb1@9 ~ d2 ~ d2@3 ~ c2@8 ~@2 c2@2 g1@4 c2@3 ~]/7",
  N: "c2@5 ~ c2@2 g1@3 ~ c2@4", O: "f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~",
  P: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~", Q: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2@2",
  R: "[a1@4 ~@2 a1@4 ~@4 a1@4 ~@2 a1@3 ~ a1@2 ~@2 a1@4]/2", S: "d2@4 ~@2 d2 ~ a1@4 ~@2 a1 ~",
  T: "d2@4 ~@2 d2 ~ g1@4 ab1@3 ~", U: "a1@2 ~ a1 e1@2 ~ e1", V: "a1@4 ~@2 a1@2 e1 ~ e1@2 g1@2 ab1@2",
  W: "a1@5 ~ a1@2 e1@4 ~@2 e1@2", X: "a1@5 ~ a1@2 e1@3 ~ a1@4", Y: "d1@3 ~@3 d1 ~ e1@4 ~@2 e1 ~",
  Z: "f1@4 ~@2 f1 ~ gb1 ~ g1@2 ab1 ~ a1@2", AA: "d1@4 ~@2 d1 ~ a1@4 ~@2 a1@2", AB: "d1@2 ~ d1 f1 f2 g1 ab1",
  AC: "a1@4 ~@2 a1@2 e1@3 ~ g1@2 ab1@2", AD: "a1@4 ~@2 a1 ~ e1 ~ e1 ~ g1@2 e1 ~", AE: "a1@4 ~@2 a1 ~ e1@3 ~ a1@4",
  AF: "d1@4 ~@2 d1 ~ e1@4 ~@2 e1 ~", AG: "f1@4 ~@2 f1 ~ gb1@2 g1@2 ab1@2 a1@2", AH: "d1@4 ~@2 d1 ~ a1@4 ~@2 a1 ~",
  AI: "d1 d2@3", AJ: "d2@5 ~ d2@2 g2@6 bb1 ~", AK: "d2@2 ~@2 d2@2 ~@2 g2@6 bb1 ~", AL: "~@3 a1",
  AM: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ d2 ~ eb2 ~ e2 ~", AN: "f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ a1 ~ c2 ~ d2 ~", AO: "~@2 a2 a1",
  AP: "a1@4 ~@2 a1@2 a1 ~ db2@2 a1@4", AQ: "f2 ~ f2 ~ d2 ~ c2 ~ f2 ~ f2 ~ d2 ~ c2 ~",
  AR: "eb2 ~ eb2 ~ bb1 ~ bb1 ~ eb2 ~ bb1 ~ eb2 ~ e2@2", AS: "f2 ~ f2 ~ d2 ~ c2 ~ f2 ~ f2 ~ c2 ~ eb2@2",
  AT: "~@2 eb2 ~ bb1 ~ bb1 ~ eb2 ~ bb1 ~ eb2 ~ bb1 ~", AU: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
  AV: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~", AW: "d1@9 ~@7",
})).s("gm_electric_bass_finger").gain(0.61)

// other · french horn
const french_horn = note(`<
  ~ A ~@2 B C@2 D ~@9 E F G H I J K L M@8 ~@10 N O@2 P@3 Q R ~ S T U ~@2 V W X Y Z AA AB AC ~@3 B C@2 D ~@9 AD AE@2 AF@2
  AG@2 AH M@8 ~@10 N O@2 P@3 Q R ~ S T U ~@2 V W X Y Z AA AB AC ~@6 N O@2 P@3 Q R ~ S T U ~@2 V W X AI AJ AK AL@2 ~ AM
  AN
>`.pickRestart({
  A: "[d3,d4]@5 ~@11", B: "~@6 [db4,e4] [e4,g4]", C: "[[e4,g4]@31 ~]/2", D: "[d4,f4] [a3,d4]", E: "~@7 f5",
  F: "~ f5 ~ f5 ~ f5 e5@2", G: "~@6 e5 f5", H: "~@2 f5@3 ~ a5@3 ~ f5@3 ~ e5@2", I: "f5@5 ~@7 e5 ~ f5@2",
  J: "~ f5 ~ f5 ~ f5 ~ f5", K: "e5@5 ~@5 f5 ~ f5 ~ e5 ~", L: "f5@2 ~@2 e5 ~ f5@2 ~@2 f5 ~ f5 ~ f5 ~",
  M: "[[a4,f5]@11 ~ a4@11 ~ a4@2 ~@2 a4@12 a4@3 ~ a4@9 ~@7 a4@7 ~ a4@3 ~ a4@3 ~ a4@11 ~ a4@2 ~@2 a4@11 ~ a4@2 ~@2 a4@10 ~@10]/8", // Dm
  N: "~@4 eb5@3 ~ eb5@3 ~ d5 ~ d5@2", O: "[~@2 c5@2 ~@2 d5@2 ~@2 c5@2 ~@2 eb5@5 ~ eb5@2 ~@2 eb5@3 ~ d5 ~ d5@2]/2",
  P: "[~@2 c5@2 ~@2 d5@2 ~@2 c5@3 ~ db5@14 ~@2 e5@14 ~@4]/3", Q: "~@4 a5@2 ~@2 f5@4 ~@2 d5 ~",
  R: "a5 ~ a5@2 ~@2 f5@6 ~@4", S: "~@12 g5 ~ gb5 ~", T: "g5@2 ~@2 g5 ~ gb5 ~ g5@2 ~@2 gb5 ~ g5@2",
  U: "~@2 gb5 ~ g5@2 ~@2 g5@6 ~@2", V: "a5 ~ a5 ~ f5@2 ~ a5", W: "~@2 a5@2 ~@2 a5 ~ f5@5 ~@3",
  X: "g5 ~ gb5 ~ g5 ~ gb5 ~ g5 ~ gb5 ~ g5@2 gb5 ~", Y: "g5@3 ~ gb5 ~ g5@4 ~@2 g5 ~ gb5 ~",
  Z: "g5 ~ e5 ~@3 g5 ~ g5 ~ e5@2 ~@2 g5 ~", AA: "g5 ~ gb5 ~ g5 ~ gb5 ~ g5@3 ~ g5 ~ f5@2",
  AB: "a5@2 ~@2 a5 ~ f5@2 a5@2 ~@2 f5@2 a5@2", AC: "~@2 f5@7 ~@7", AD: "~@5 f5 ~ f5",
  AE: "[~@2 f5@2 ~@2 f5@2 ~@2 f5@3 ~ e5@6 ~@6 f5@3 ~ f5@2]/2", AF: "[~@2 f5@3 ~ a5@3 ~ f5@3 ~ f5@8 ~@6 f5 ~ f5@2]/2",
  AG: "[~@2 f5@3 ~ f5@2 ~@2 f5@2 e5@6 ~@8 f5 ~ f5 ~ e5 ~]/2", AH: "f5@2 ~@2 e5 ~ f5@2 ~@2 f5 ~ f5 ~ e5 ~",
  AI: "g5@3 ~ gb5 ~ g5@3 ~ gb5 ~ g5 ~ g5 ~", AJ: "a5 ~ a5@2 ~@2 a5 ~ a5 ~ a5@2 ~@2 a5 ~",
  AK: "g5 ~ g5 ~ g5 ~ g5 ~ g5@2 ~@2 g5 ~ g5 ~", AL: "[~ a5@2 ~@2 a5 ~ f5 ~ a5@4 ~@2 g5@2 ~ g5@7 ~@7]/2",
  AM: "[db5,e5,a5]@2 g5 ~ [db5,e5,a5]@2 g5@2 [db5,e5,a5]@2 g5@2 [db5,e5,a5]@2 ~@2", AN: "[d5,f5,a5]@3 ~@13",
})).s("gm_french_horn").gain(0.5)

// chords · synth brass 1
const synth_brass_1 = note(`<
  ~@5 A B C ~@24 D ~@15 E@3 F G H@2 I J K@2 ~ L@3 ~@6 A B C ~@24 D ~@15 E@3 F M H@2 I J K@2 ~ L@3 ~@13 E@3 N M H@2 I J
  K@2 ~@4 O@2 P Q R
>`.pickRestart({
  A: "~@6 [db5,e5] ~ [db5,e5] ~ [db5,e5] ~ [db5,e5] ~ [db5,e5] ~", // Dbm
  B: "[db5,e5] ~ [db5,e5] ~ [db5,e5] ~ [db5,e5] ~ [db5,e5] ~ [db5,e5] ~ [db5,e5] ~ [db5,e5] ~", C: "[d5,f5] [a4,d5]",
  D: "~@4 [e4,e5] ~ [db4,db5]@4 ~@6", E: "[~@3 a5 [d5,f5]@5 ~@3, ~@3 [a3,a4]@2 ~@7]/3", F: "[a4,db5]@15 ~",
  G: "[a4,e5]@7 ~", H: "[g5@9 ~@7]/2", I: "[f4,a4,d5]@7 ~", J: "[a4,d5,f5]@7 ~", K: "[[d5,f5,a5]@5 ~@3]/2",
  L: "[~@12 [e5,g5]@31 ~@5]/3", M: "[a4,db5,e5]@7 ~", N: "[e4,a4,db5]@15 ~",
  O: "[~ [f5,a5]@20 ~ [f5,a5]@2 ~@2 [f5,a5]@2 ~@2 [f5,a5]@2]/2", P: "~@2 [e5,g5]@3 ~ [e5,g5]@2 ~@2 [d5,f5] ~ [e5,g5]@4",
  Q: "[db4,e4,a4]@2 g4 ~ [db4,e4,a4]@2 g4@2 [db4,e4,a4]@2 g4@2 [db4,e4,a4]@2 ~@2", R: "[d4,f4,a4]@3 ~@13",
})).s("gm_synth_brass_1").gain(0.55)

// chords · synth brass 1 · soft notes
const synth_brass_1_soft = note(`<
  ~@49 A@2 B C D@2 ~@5 E@3 ~@50 A@2 B ~ D@2 ~@5 E@3 ~@14 A@2 ~@2 D@2 ~@13
>`.pickRestart({
  A: "[a5@5 ~@3]/2", B: "e4@15 ~", C: "db5@7 ~", D: "[[db5,e5]@19 ~@13]/2", E: "[~@12 db5@31 ~@5]/3",
})).s("gm_synth_brass_1").gain(0.35)

// other · overdriven guitar
const overdriven_guitar = note(`<
  A B C D E D F G H ~@16 I@7 J@4 K@5 ~@6 L@2 ~@16 B C D E M F G N ~@4 O ~@2 P Q R S ~@5 T@5 U@8 V@3 ~@6 L@2 ~@26 W@2
  ~@16 X@2 Y
>`.pickRestart({
  A: "~@6 [f2,f3]@3 ~ [d2,d3] ~ [f2,f3]@4", B: "[d2,d3]@2 ~@2 [d2,d3]@3 ~@3 [d2,d3]@2 ~@2 [d2,d3]@2",
  C: "~@2 [d2,d3] ~ [d2,d3] ~ [f2,f3]@4 [d2,d3]@2 [f2,f3]@2 [g2,g3]@2", // D F D F G
  D: "[a2,a3]@2 ~@2 [a2,a3]@3 ~@3 [g2,g3]@2 [ab2,ab3]@2 [a2,a3]@2", // A G Ab A
  E: "~@2 [a2,a3]@2 ~@2 [a2,a3]@2 ~@2 [d2,d3] ~ [g2,g3]@2 [ab2,ab3]@2", // A D G Ab
  F: "~@2 [a2,a3]@2 ~@2 [a2,a3]@2 ~@2 [d2,d3]@2 [f2,f3]@3 ~", G: "[d2,d3]@2 ~@2 [d2,d3]@3 ~@3 [d2,d3]@2 ~@2 [d2,d3] ~",
  H: "[d2,d3] ~@3", I: "[[d3,d4]@25 ~ e4@2 ~@2 [e3,e4]@26 ~@2 [f3,f4]@3 ~ [f3,f4]@27 ~ g4@3 ~ [g3,g4]@18]/7",
  J: "[~@4 [g3,g4] ~ ab4 [a3,a4]@12 ~ [g3,g4] ~ [f3,f4] e4@9]/4", // G A G F
  K: "[~@10 [f3,f4]@3 ~ [f3,f4]@26 ~@2 [g3,g4]@3 ~ g4@31 ~@3]/5", L: "[e3,a3,db4]/2",
  M: "[a2,a3]@2 ~@2 [a2,a3]@3 ~@3 [g2,g3]@2 ab2@2 [a2,a3]@2", N: "[d2,d3] a5@3", O: "[d4,d5]", P: "~@5 a3@3",
  Q: "d2@2 ~@2 d2@3 ~@9", R: "~@7 [g3,c4,d4]", S: "~@2 [g3,c4,d4]@2 ~@2 [g3,c4,d4] ~ [g3,c4,d4]@2 ~@2 [g3,c4,d4]@2 ~@2",
  T: "[[d3,d4]@25 ~ [e3,e4]@2 ~@2 [e3,e4]@26 ~@2 [f3,f4]@3 ~ f4@18]/5", // D E F
  U: "[~@10 [g3,g4]@3 ~ [g3,g4]@24 ~@2 [g3,g4]@2 ~@2 ab4@2 [a3,a4]@24 ~@2 [g3,g4]@2 ~@2 f4@2 e4@26 ~@2 [f3,f4]@3 ~ f4@18]/8", // G A G F
  V: "[~@10 [g3,g4]@3 ~ g4@31 ~@3]/3", W: "[e3,a3]/2", X: "g5/2", Y: "a5@5 ~@11",
})).s("gm_overdriven_guitar").gain(0.35).pan(0.9)

// other · overdriven guitar · soft notes
const overdriven_guitar_soft = note(`<
  ~@26 A ~@3 B ~ C ~ D@3 ~ E@3 ~@28 C ~@22 F@3 ~ C ~ G@7 ~@34 H@2 ~@19
>`.pickRestart({
  A: "~@5 e3 ~@2", B: "~@10 g3@3 ~@3", C: "~@6 ab3 ~", D: "[~@7 e3@13 ~@4]/3", E: "[~@14 g3@31 ~@3]/3",
  F: "[~@14 f3@27 ~@7]/3", G: "[~@12 f3@2 e3@26 ~@6 f3@26 ~@6 g3@31 ~@3]/7", H: "db4/2",
})).s("gm_overdriven_guitar").gain(0.24).pan(0.9)

// other · brass section
const brass_section = note("<~@64 A B C D E F G H I ~@53 A B C D E F J K ~@23 L M N>".pickRestart({
  A: "~@7 [d4,d5]", B: "~ [f4,f5]@2 ~ [f4,f5]@2 ~@2 [d4,d5]@3 ~@3 [d4,d5]@2",
  C: "[f4,f5]@2 [f4,f5]@3 ~ [d4,d5]@3 ~ [db4,db5]@2 [d4,d5]@2 [eb4,eb5]@2", // F D Db D Eb
  D: "[e4,e5]@2 ~@2 [e4,e5]@2 ~@2 [e4,e5]@3 ~@3 [db4,db5] ~", // E Db
  E: "[e4,e5] ~ [e4,e5]@2 ~@2 [e4,e5]@3 ~ [db4,db5]@2 [d4,d5]@2 [eb4,eb5]@2", // E Db D Eb
  F: "[e4,e5]@3 ~@3 [db4,db5] ~ [e4,e5]@3 ~@3 [db4,db5] ~", G: "[e4,e5]@2 ~@2 [e4,e5]@2 ~@2 [e4,e5]@2 ~@4 [d4,d5] ~",
  H: "[f4,f5]@2 ~@2 [f4,f5]@2 ~@2 [f4,f5]@3 ~ [e4,e5]@2 [d4,d5]@2", I: "~ a5@3",
  J: "[e4,e5]@2 ~@2 [e4,e5]@2 ~@2 e4@2 [d4,d5] ~ [eb4,eb5] ~ [e4,e5] ~, ~@8 e5 ~@7", K: "[f4,f5]@3 ~@13", L: "[c4,c5]",
  M: "[db4,db5]", N: "d4 ~, d5@5 ~@11",
})).s("gm_brass_section").gain(0.63)

// chords · lead 8 bass lead
const lead_8_bass_lead = note(`<
  ~ A B C D C D A E ~@40 A B C D C D A E A B C D C D A E A B C D C D A ~@41 A B C D C D A E A B C D C D A B C D C D ~@8
  A B C D C D A E A B C D ~@7
>`.pickRestart({
  A: "[f3,a3,d4] ~@3 [f3,a3,d4] ~@5 [f3,a3,d4] ~@3 [f3,a3,d4] ~", B: "~@2 [f3,a3,d4] ~@3 [f3,a3,d4] ~@5 [f3,a3,d4] ~@3",
  C: "[e3,a3,db4] ~@3 [e3,a3,db4] ~@5 [e3,a3,db4] ~@3 [e3,a3,db4] ~", // A
  D: "~@2 [e3,a3,db4] ~@3 [e3,a3,db4] ~@5 [e3,a3,db4] ~@3", // A
  E: "~@2 [f3,a3,d4] ~@3 [f3,a3,d4] ~ [f3,a3,d4] ~@3 [f3,a3,d4] ~@3", // Dm
})).s("gm_lead_8_bass_lead").gain(0.22)

// other · overdriven guitar
const overdriven_guitar_2 = note(`<
  ~@50 A B C D E F G H I J K L M N O ~@49 A B C D E F G H I J K L M ~@15 A B C D E F G H I J P Q R Q R S T U
>`.pickRestart({
  A: "~@8 g2@3 ~ ab2@2 ~@2", B: "a2@2 ~@2 a2@2 ~@2 e2 ~ g2 ~ ab2 ~ a2@2", C: "~@2 a2@2 ~@2 a2@2 ~@2 e2 ~ g2 ~ ab2 ~",
  D: "a2@2 ~@2 a2@2 ~@2 a2@2 g2 ~ ab2 ~ a2 ~", E: "a2 ~ a2@2 ~@2 a2 ~ a2@2 e2 ~ g2 ~ a2@2",
  F: "d2@2 ~@2 d2@3 ~@3 e2@2 ~@2 f2@2", G: "~@2 f2@2 ~@2 g2@2 ab2@2 a2@2 ab2 ~ a2@2", H: "d2@3 ~@5 a2@3 ~@5",
  I: "d3@3 ~@3 g2@3 ~ g2 ~ g2@2 ab2@2", J: "a2@2 ~@2 a2@2 ~@2 e2@2 g2 ~ ab2 ~ a2@2",
  K: "~@2 a2@2 ~@2 a2@3 ~ f2 ~ g2@2 ab2 ~", L: "a2 ~ a2 ~@2 a2 ~ a2", M: "~@6 a2@2 ~@2 a2@3 ~ a2@2",
  N: "d2@2 ~@2 d2@2 ~@4 e2@2 ~@2 d2 ~", O: "f2@3 ~@3 g2 ~ ab2@2 ~@2 a2@3 ~", P: "~@2 a2@2 ~@2 a2@3 ~ a2 ~ c3@2 d3@2",
  Q: "[a3,c4,f4]!7 [g3,bb3,eb4]", R: "[g3,bb3,eb4]!8", S: "[e3,g3,c4]", T: "[e3,a3,db4]", U: "[f3,a3,d4] ~@3",
})).s("gm_overdriven_guitar").gain(0.45)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~ A B@3 C D@2 E F G H I F J K L F G H I F J K L F G H I F J K L F G H I F J M N O P O P O P Q R ~@16 S@2 C@3 D@2 E F G
  H I F J K L T G H I F J K L F G H I F J K L F G H I F J M N O P O P O P Q R ~@14 S@2 C@4 O P O P O P Q R ~@12 O P O P
  U V W
>`.pickRestart({
  A: "[f3,a3,d4]!8", B: "[[f3,a3,d4]!7 a3 [e3,a3,db4]!8 [e3,a3,db4]!8, ~@7 [f3,d4]@16 ~]/3", C: "[e3,a3,db4]!8",
  D: "[[e3,a3,db4]!7 a3 [f3,a3,d4]!8, ~@7 [e3,db4]@9]/2", E: "[f3,a3,d4] ~@7",
  F: "[f3,a3,d4]@2 [f3,a3,d4]@2 [f3,a3,d4] ~ [f3,a3,d4]@2 [f3,a3,d4]@2 [f3,a3,d4]@2 [f3,a3,d4] ~ [d3,f3,bb3]@2", // Dm Bb
  G: "[d3,f3,bb3]@2 [d3,f3,bb3]@2 [d3,f3,bb3] ~ [d3,f3,bb3]@2 [d3,f3,bb3]@2 [d3,f3,bb3]@2 [d3,f3,bb3] ~ [e3,g3,c4]@2", // Bb C
  H: "[e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4] ~ [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4] ~ [db3,e3,a3]@2", // C A
  I: "[db3,e3,a3]@2 [db3,e3,a3]@2 [db3,e3,a3] ~ [db3,e3,a3]@4 [db3,e3,a3]@2 [db3,e3,a3]@2 [db3,e3,a3]@2", // A
  J: "[d3,f3,bb3]@2 [d3,f3,bb3]@2 [d3,f3,bb3] ~ [d3,f3,bb3]@2 [d3,f3,bb3]@2 [d3,f3,bb3]@2 [d3,f3,bb3]@4", // Bb
  K: "[e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4] ~ [db3,e3,a3]@2", // C A
  L: "[db3,e3,a3]@2 [db3,e3,a3]@2 [db3,e3,a3] ~ [db3,e3,a3]@2 [db3,e3,a3]@2 [db3,e3,a3]@2 [db3,e3,a3] ~ [f3,a3,d4]@2", // A Dm
  M: "[e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4] ~ [e3,g3,c4]@2", // C
  N: "[e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4] ~ [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4] ~ [e3,g3,c4]@2", // C
  O: "[a3,c4,f4]!8", P: "[g3,bb3,eb4]!8", Q: "[e3,a3,db4]@3 ~@3 [e3,a3,db4]@2 ~@6 [e3,a3,db4] ~",
  R: "~@4 [e3,a3,db4]@2 ~@2 [e3,a3,db4]@3 ~@5", // A
  S: "[f3,a3,d4] ~ [f3,a3,d4] ~ [f3,a3,d4] ~ [f3,a3,d4] ~ [f3,a3,d4] ~ [f3,a3,d4] ~ [f3,a3,d4] ~ [f3,a3,d4] ~", // Dm
  T: "[f3,a3,d4]@2 ~@2 [f3,a3,d4]@2 [f3,a3,d4]@2 [f3,a3,d4]@2 [f3,a3,d4]@2 [f3,a3,d4] ~ [d3,f3,bb3]@2", // Dm Bb
  U: "[g3,c4,e4]!8", V: "[g3,db4,e4]!8", W: "[a3,d4,f4] ~@7",
})).s("gm_acoustic_guitar_steel").gain(0.43)

// chords · overdriven guitar
const overdriven_guitar_3 = note(`<
  ~ A@2 B C B D E F ~@16 G@2 H@2 I@2 J@2 K@3 L@3 M@2 N O N O N O P@2 ~@23 Q ~@9 R S ~@3 T U G@2 H@2 I@2 J@2 K@3 L@3 M@2
  N V@2 W@2 X P@2 ~@14 Y Z AA AB AA AC N V@2 W@2 X P@2 ~@12 AD@2 AE@2 AF AG AH
>`.pickRestart({
  A: "[~@4 a4@5 ~@5 d4@2, d4@17 ~@15, ~@4 f4@13 ~@15]/2", B: "~ a4, db4, ~ e4@3", C: "~@3 d4", D: "~@3 f4",
  E: "~@8 a4@7 ~, d4@7 ~, ~@4 f4@11 ~", F: "d5@12 [a3,d4]@3 ~", G: "[f4,f5]/2", H: "[[e4,e5]@7 ~]/2",
  I: "[f4, f5@7 ~]/2", J: "[[e4,e5]@3 e5]/2", K: "f5/3", L: "[~@4 g5@15 ~ a5@4]/3", M: "[bb5@19 ~ c5@12]/2",
  N: "[a3,c4,f4]", O: "[g3,bb3,eb4]", P: "[e3@6 a3@6 e3@2 db4@15 ~@3]/2", Q: "~ d4@3", R: "~@7 d4",
  S: "~@2 d4@2 ~@2 d4 ~ d4@2 ~@2 d4@2 ~@2", T: "[d3,d4,d5]@2 ~ [d3,d4,d5]@2 ~ [d3,d4,d5]@2",
  U: "~@6 [d3,d4,d5]@4 ~@2 [d3,d4,d5]@3 ~", // D
  V: "[~ f4@5 ~ g4@7 ~ f4@17, [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@8 [a3,c4]@17 ~]/2", // Eb Am
// … 104 more lines

More by Ricky Martin