Strudelify

Rainy Day

The Corrs

KeyE majorTempo127 bpm
0:00/0:00
// Rainy Day — The Corrs
// 127 bpm, 4/4, 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: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 128 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Muted/Driven guitar - L, Muted/Distorted guitar - R.
setcpm(127/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 · recorder · "Backup I (recorder)"
const recorder = note(`<
  ~@36 A@2 ~@2 B@2 ~@18 A@2 ~@2 C ~@27 A@2 ~@2 B@2 ~@2 A@2 ~@2 B@2 ~@2 D@2 ~@2 E@2 ~@14
>`.pickRestart({
  A: "[g#4 ~ g#4@2 f#4@2 e4@2 d#4@2 c#4@3 ~ c#4@8 d#4@6 ~@4]/2",
  B: "[g#4 ~ g#4@2 f#4@2 e4@2 d#4@2 c#4@3 ~ c#4@8 d#4@7 ~@3]/2", C: "g#4 ~ g#4@2 f#4@2 e4@2 d#4@2 c#4@5 ~",
  D: "[g#4 ~ g#4@2 f#4@2 e4@2 d#4@2 c#4@3 ~ c#4@8 d#4@8 ~@2]/2",
  E: "[g#4 ~ g#4@2 f#4@2 e4@2 d#4@2 c#4@2 ~@2 c#4@8 d#4@7 ~@3]/2",
})).s("gm_recorder").gain(0.64).pan(0.4)

// other · epiano2 · "Backup II (chor. piano)"
const epiano2 = note(`<
  ~@36 A@2 ~@2 B@2 ~@18 A@2 ~@2 C ~@27 A@2 ~@2 B@2 ~@2 B@2 ~@2 B@2 ~@2 D@2 ~@2 E@2 ~@14
>`.pickRestart({
  A: "[g#4 ~ g#4@2 f#4@2 e4@2 d#4@2 c#4@3 ~ c#4@8 b3@7 ~@3]/2",
  B: "[g#4 ~ g#4@2 f#4@2 e4@2 d#4@2 c#4@3 ~ c#4@8 b3@6 ~@4]/2", C: "g#4 ~ g#4@2 f#4@2 e4@2 d#4@2 c#4@4 ~@2",
  D: "[g#4 ~ g#4@2 f#4@2 e4@2 d#4@2 c#4@2 ~@2 c#4@8 b3@6 ~@4]/2",
  E: "[g#4 ~ g#4@2 f#4@2 e4@2 d#4@2 c#4@3 ~ c#4@8 b3@5 ~@5]/2",
})).s("gm_epiano2").gain(0.56).pan(0.4)

// chords · synth strings 1 · "Syn strings"
const synth_strings_1 = note(`<
  ~@2 A B C@2 A B C@2 A B C@2 A D C@2 A B C@2 A B E@2 F@6 G@2 H@2 I@2 A B C@2 A J@3 A B K@2 L@4 M@2 G@2 A B C@2 A B N@2
  O@8 ~ P Q R S R S R T@6 U@2 A B C@2 A B C@2 A B C@2 H@2 V@2 A B V@2 A B V@2 W@2 X@2 W@2 Y@8
>`.pickRestart({
  A: "[b3,e4,g#4] [b3,d#4,f#4]", B: "[a3,c#4,e4] [b3,d#4,f#4]",
  C: "[[c#4,e4,g#4]@4 [b3,d#4,f#4]@3 [a3,c#4,e4]@4 [b3,d#4,f#4]@5]/2", D: "[a3,c#4,e4]@3 [b3,d#4,f#4]@5",
  E: "[[c#4,e4,g#4]@8 [b3,d#4,f#4]@6 [a3,c#4,e4]@8 [b3,d#4,f#4]@9 ~]/2", // C#m B A B
  F: "[[g#3,b3,d#4]@3 [a3,c#4,e4]@4 [g#3,c#4,e4]@2 [g#3,b3,d#4]@2 [a3,c#4,e4]@5]/2", // G#m A C#m G#m A
  G: "[[g#3,b3,d#4]@3 [a3,c#4,e4]@9 [b3,d#4,f#4]@4]/2", // G#m A B
  H: "[[b3,e4,g#4]@8 [b3,d#4,f#4]@7 [a3,c#4,e4]@9 [b3,d#4,f#4]@8]/2", // E B A B
  I: "[[c#4,e4,g#4]@4 [b3,d#4,f#4]@3 [a3,c#4,e4]@4 [b3,f#4]@5, ~@11 d#4@3 ~@2]/2", // C#m B A B5
  J: "[[a3,c#4,e4]@7 [b3,d#4,f#4]@8 ~ [c#4,e4]@8 [b3,d#4,f#4]@6 [a3,c#4,e4]@9 [b3,d#4,f#4]@9, ~@5 g#4@3 ~@8]/3", // A B C#m B A B
  K: "[[c#4,e4,g#4]@8 [b3,d#4,f#4]@6 [a3,c#4,e4]@9 ~ [b3,d#4]@8, ~@23 f#4@8 ~]/2", // C#m B A B
  L: "[[g#3,b3,d#4]@6 [a3,c#4,e4]@8 [g#3,c#4,e4]@4 [g#3,b3,d#4]@5 [a3,c#4,e4]@9]/2", // G#m A C#m G#m A
  M: "[[g#3,b3,d#4]@3 [a3,c#4,e4]@4 [g#3,c#4,e4]@2 [g#3,b3,d#4]@3 [a3,c#4,e4]@4]/2", // G#m A C#m G#m A
  N: "[[c#4,e4,g#4]@4 [b3,d#4,f#4]@3 [a3,c#4,e4]@9]/2", O: "[b3@5 c#4 b3@2, f#4]/8", P: "c#4", Q: "b3",
  R: "[b3,e4] [a3,e4]", S: "[b3,f#4]", T: "[[b3,f#4]@91 ~@5]/6",
  U: "[[g#3,b3,d#4]@6 [a3,c#4,e4]@18 [b3,d#4,f#4]@7 ~]/2", // G#m A B
  V: "[[c#4,e4,g#4]@4 [b3,d#4,f#4]@3 [a3,c#4,e4]@5 [b3,d#4,f#4]@4]/2", // C#m B A B
  W: "[[b3,e4,g#4]@4 [b3,d#4,f#4]@3 [a3,c#4,e4]@3 ~ [b3,d#4,f#4]@5]/2", // E B A B
  X: "[[b3,e4,g#4]@4 [b3,d#4,f#4]@2 ~ [a3,e4]@5 [b3,d#4,f#4]@4, ~@7 c#4@3 ~@6]/2", // E B A5 B
  Y: "[[b3,e4,g#4]@8 [b3,d#4,f#4]@6 [a3,c#4,e4]@9 [a3,b3,d#4,f#4]@10 [g#3,a3,c#4,e4]@83 ~@12]/8", // E B A B7 Amaj7
})).s("gm_synth_strings_1").gain(0.36)

// other · violin · "Violin - L"
const violin = note(`<
  ~@2 A B@3 A C@3 ~@36 D@2 E@2 F@2 E@2 F@2 G@2 A B@3 A C@3 H I H I H I H I H I J K J L J M ~@8 A N@3 A O@3 A B@3 A P@3 A
  N@3 A Q@3 ~@14
>`.pickRestart({
  A: "g#5 ~ g#5@2 f#5@2 e5@2 d#5@2 b4@4 c#5@2", B: "[~@2 c#5 ~ c#5 ~ c#5 ~ c#5@2 b4@3 ~ b4@27 ~ b4 c#5 e5@2 f#5@2]/3",
  C: "[~@2 c#5 ~ c#5 ~ c#5 ~ c#5@2 d#5@4 e5@31 ~@3]/3", D: "[b4@7 e5]/2", E: "[b5@10 a5 g#5 f#5@2 g#5@2]/2",
  F: "[f#5@6 e5@21 ~ e5@4]/2", G: "[b5@31 ~]/2", H: "f#5@3 a5@3 f#5@2 g#5@3 e5@3 f#5@2",
  I: "~ f#5@3 a5 ~ f#5 ~ g#5 ~ e5 ~ f#5@2 ~@2", J: "f#5@2 b5 ~ b5@6 a5 ~ a5 g#5 f#5 e5, ~@11 g#5@2 ~@3",
  K: "f#5@2 e5 ~ e5@2 d#5@2 e5@2 d#5@2 b4@3 ~", L: "f#5@2 e5 ~ e5@2 d#5@2 e5@2 f#5 ~ f#5@2 ~@2",
  M: "f#5@2 e5 ~ e5@2 d#5@2 e5@2 d#5@2 b4@4", N: "[~@2 c#5 ~ c#5 ~ c#5 ~ c#5@2 b4@3 ~ b4@26 ~@2 b4 c#5 e5@2 f#5@2]/3",
  O: "[~@2 c#5 ~ c#5 ~ c#5 ~ c#5@2 d#5@4 e5@26 ~@2 b4 c#5 e5@2 f#5 ~]/3",
  P: "[~@2 c#5 ~ c#5 ~ c#5 ~ c#5@2 d#5@4 e5@27 ~ b4 c#5 e5@2 f#5 ~]/3",
  Q: "[~@2 c#5 ~ c#5 ~ c#5 ~ c#5@2 d#5@4 e5@27 ~@7]/3",
})).s("gm_violin").gain(0.48).pan(0.3)

// other · violin · "Violin - R"
const violin_2 = note("<~@73 A@3 ~ B C ~@49>".pickRestart({
  A: "[~ f#5 g#5 d#6 ~@2 d#6 ~ d#6 ~ d#6 ~ d#6!3 ~ d#6@2 ~ b5@15 ~@14, ~@15 e6@2 ~@31]/3",
  B: "~@2 b5 d#6!2 ~ d#6 ~ d#6 ~ d#6 ~ d#6!4", C: "d#6 b5@4 ~@3",
})).s("gm_violin").gain(0.48).pan(0.7)

// other · piano
const piano = note("<~@66 A B A B A B A B A C D E F G D H ~@40 I J@2 ~@3>".pickRestart({
  A: "f#5@3 a5@3 f#5@2 g#5@3 e5@3 f#5@2", B: "~ f#5 ~@2 a5 ~ f#5 ~ g#5 ~ e5 ~ f#5 ~@3",
  C: "~ f#5@2 ~ a5 ~ f#5 ~ g#5 ~ e5 ~ f#5@2 ~@2", D: "f#5@2 b5 ~ b5@4 ~@2 a5 g#5 a5 g#5 f#5 e5",
  E: "f#5@2 e5 ~ e5@2 d#5@2 e5@2 d#5@2 b4@2 ~@2", F: "f#5@2 b5 ~ b5@5 ~ a5 g#5 a5 g#5 f#5 e5",
  G: "f#5@2 e5 ~ e5@2 d#5@2 e5@2 f#5 ~ f#5@2 ~@2", H: "f#5@2 e5 ~ e5@2 d#5@2 e5@2 d#5@2 b4@3 ~", I: "~@13 c#5@3",
  J: "[e5@4 f#5@3 g#5@3 b5@4 ~ c#6@5 f#6@12]/2",
})).s("gm_piano").gain(0.48).pan(0.7)

// chords · accordion
const accordion = note(`<
  ~@2 A@3 B A@4 ~@24 A@3 B A@3 ~@17 A@3 B A@3 ~@25 A@3 B A@3 ~ A@3 B A@7 B A@3 ~ A@3 B A@3 ~@7
>`.pickRestart({
  A: "~@4 [e4,b4]@3 ~@5 [e4,b4]@3 ~", B: "~@4 [e4,b4]@3 ~@5 [e4,b4]@2 ~@2",
})).s("gm_accordion").gain(0.44).pan(0.8)

// bass · electric bass finger · "Fingered bass"
const bass = note(`<
  ~@2 A B C@2 D@2 E@2 F G H@2 I J K@2 I L M@2 I N O@2 P Q P R S T U@2 V@2 W@2 X@2 H@2 Y Z AA@2 Y G AB@2 S R S R S AC AD
  AE AF@2 AG@2 AH@2 AI@2 AJ AK AJ AK AL AM AN AK AO AP AL AQ AR AS AT AU AV AM AL AM AL AP AW AX AF@2 AY@2 AF@2 AZ@2 X@2
  BA@2 BB@2 BC@2 X@2 BD@2 BB@2 BE@2 BF ~@13
>`.pickRestart({
  A: "e2@6 ~@2 b1 ~ b1@4 ~@2", B: "a1@6 b1 ~ b1@4 ~@2 b1@2", C: "[c#2@6 ~@2 b1@5 ~ a1@6 ~@2 b1 ~ b1@4 b1@3 ~]/2",
  D: "[e2@6 b1 ~ b1@5 ~ a1@6 ~@2 b1 ~ b1@5 ~ b1@2]/2", E: "[c#2@5 ~@3 b1@4 ~@2 a1@6 ~@2 b1 ~ b1@4 ~@2 b1@2]/2",
  F: "e2@2 ~ e2 b1@2 ~ b1", G: "a1@5 ~ b1@6 ~@2 b1@2", H: "[c#2@5 ~ c#2@2 b1@4 ~@2 a1@6 ~@2 b1@6 ~@2 b1@2]/2",
  I: "e2@4 ~@2 e2@2 b1@5 ~ b1@2", J: "a1@4 ~@2 b1 ~ b1@4 ~@2 b1@2", K: "[c#2@5 ~@3 b1@4 ~@2 a1@6 ~@2 b1@6 ~@2 b1@2]/2",
  L: "a1@2 ~ b1@3 ~ b1", M: "[c#2@5 ~ c#2@2 b1@5 ~ a1@6 ~@2 b1@6 ~@2 b1@2]/2", N: "a1@4 ~@2 b1 ~ b1@5 ~ b1@2",
  O: "[c#2@5 ~@3 b1@4 ~@2 a1@6 a1@2 b1@5 ~ b1@3 ~]/2", P: "g#1@4 ~@2 a1 ~ a1@5 ~ c#2@2", Q: "~@2 g#1@3 ~ a1@6 ~@2 a1@2",
  R: "~@2 g#1@3 ~ a1@7 ~ a1@2", S: "g#1@5 ~ a1@7 ~ c#2@2", T: "~@2 g#1@3 ~ a1@2 a1@6 ~@2",
  U: "[g#1@5 ~ a1@6 ~@2 a1@7 ~ a1@2 b1@5 ~ b1@2]/2", V: "[e2@5 ~ b1 ~ b1@5 ~ a1@7 ~ a1@2 b1@5 ~ b1@2]/2",
  W: "[c#2@6 ~@2 b1@5 ~ a1@6 ~@2 b1@6 ~@2 b1@2]/2", X: "[e2@4 ~@2 e2@2 b1@5 ~ a1@6 ~@2 a1@2 b1@5 ~ b1@2]/2",
  Y: "e2@5 ~ e2@2 b1@5 ~ b1@2", Z: "a1@5 ~ b1@7 ~ b1@2", AA: "[c#2@5 ~ c#2@2 b1@5 ~ a1@7 ~ b1@7 ~ b1@2]/2",
  AB: "[c#2@5 ~ c#2@2 b1@5 ~ a1@7 ~ b1@5 ~ b1@4]/2", AC: "~@2 g#1@3 ~ a1@6 a1@3 ~", AD: "g#1@5 ~ a1@7 ~ a1 ~",
  AE: "a1@5 ~ a1@2 b1@4 ~@2 b1 ~", AF: "[e2@4 ~@2 e2@2 b1@5 ~ a1@6 ~@2 a1@2 b1@4 ~@2 b1@2]/2",
  AG: "[c#2@3 ~ b1@2 ~ a1@3 ~ b1@3 ~ b1]/2", AH: "[e2@5 ~ e2@2 b1@5 ~ a1@7 ~@3 b1@4 ~@2 b1@2]/2",
  AI: "[c#2@6 ~@2 b1@4 ~@2 a1@7 ~ a1 ~ a1@4 ~@4]/2", AJ: "b1@5 ~ b1@7 ~@3", AK: "b1@5 ~ b1 ~ b1@5 ~@3",
  AL: "b1@5 ~ b1@7 ~ b1@2", AM: "c#2@5 ~ c#2@7 ~ c#2@2", AN: "b1@5 ~ b1@8 ~@2", AO: "b1@5 ~ b1@6 b1@3 ~",
  AP: "c#2@5 ~ c#2@5 ~ c#2@3 ~", AQ: "c#2@3 ~ a1@2 a1 ~", AR: "b1@4 ~@2 b1@7 ~ b1 ~",
  AS: "c#2@2 c#2@3 ~ c#2 ~ a1@3 ~ a1@3 ~", AT: "b1@4 ~@2 b1@7 ~ b1@2", AU: "c#2@2 ~ c#2 a1@3 ~",
  AV: "b1@4 ~@2 b1 ~ b1@5 ~ b1@2", AW: "g#1@4 ~@2 a1 ~ a1@4 ~@2 a1 ~", AX: "a1@5 ~ a1@2 b1@4 ~@2 b1@2",
  AY: "[c#2@5 ~@3 b1@4 ~@2 a1@6 ~@2 a1@2 b1@5 ~ b1@2]/2", AZ: "[c#2@7 ~ b1@4 ~@2 a1@6 ~@2 b1@6 ~@2 b1@2]/2",
  BA: "[c#2@6 ~@2 b1@4 ~@2 a1@6 ~@2 a1@2 b1@5 ~ b1@2]/2", BB: "[e2@5 ~ e2@2 b1@5 ~ a1@6 ~@2 a1@2 b1@5 ~ b1@2]/2",
  BC: "[c#2@5 ~ c#2@2 b1@4 ~@2 a1@5 ~@3 a1@2 b1@5 ~ b1@2]/2", BD: "[c#2@5 ~@3 b1@5 ~ a1@6 ~@2 a1@2 b1@5 ~ b1@2]/2",
  BE: "[c#2@5 ~ c#2@2 b1@5 ~ a1@6 ~@2 a1@2 b1@5 ~ b1@2]/2", BF: "e2 ~",
})).s("gm_electric_bass_finger").gain(0.64).pan(0.4)

// chords · overdriven guitar · "Muted/Driven guitar - L"
const overdriven_guitar = note(`<
  ~@9 A ~@19 B C ~ D@2 ~@3 E ~@3 F ~@24 G@4 H I J@3 I K L K L K L ~@7 M ~@15 M ~@3 M ~@3 M ~@14
>`.pickRestart({
  A: "~@2 e4 ~@5", B: "~@7 [a3,c#4,e4]", C: "~@5 e4@9 ~@2", D: "[~@7 [a3,c#4,e4]@5 ~@4]/2", E: "~@7 b3",
  F: "~@6 [b3,d#4,f#4]@7 ~@3", G: "[[b3,d#4,f#4]@15 ~]/4", H: "[b3,d#4,f#4]", I: "[c#4,e4,g#4]",
  J: "[[b3,d#4,f#4]@43 ~@5]/3", K: "[b3,f#4]", L: "[a3,e4] [b3,f#4]", M: "~ [b3,d#4,f#4]",
})).s("gm_overdriven_guitar").gain(0.39).pan(0.4)

// other · electric guitar muted · "Muted/Driven guitar - L"
const electric_guitar_muted = note("<~@10 A B C D A B C D A B C D A B E@2 ~@16 A B C D A B C ~@79>".pickRestart({
  A: "b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~", B: "c#3 ~ c#3 ~ c#3 ~ c#3 ~ d#3 ~ d#3 ~ d#3 ~ d#3 ~",
  C: "e3 ~ e3 ~ e3 ~ e3 ~ d#3 ~ d#3 ~ d#3 ~ c#3 ~", D: "c#3 ~ c#3 ~ c#3 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~",
  E: "[e3 ~ e3 ~ e3 ~ e3 ~ d#3 ~ d#3 ~ d#3 ~ [a3,c#4]@4 b3@2 [a3,c#4]@2 [b3,d#4]@7 ~@3, ~@14 c#3 ~@17]/2", // A B
})).s("gm_electric_guitar_muted").gain(0.39).pan(0.4)

// other · electric guitar muted · "Muted/Distorted guitar - R"
const electric_guitar_muted_2 = note("<~@10 A B C D E B C D E B C D E B C D ~@16 E B C D E B C D ~@78>".pickRestart({
  A: "~@6 e4 ~ d#4 ~ b3 ~ f#3 ~ b3 ~", B: "e4 ~ b3 ~ b3 ~ b3 ~ d#4 ~ b3 ~@3 b3 ~", C: "e4 ~ b3 ~@3 b3 ~ d#4 ~ b3 ~@5",
  D: "c#4 ~ b3 ~@3 e4 ~ d#4 ~ b3 ~ f#3 ~ b3 ~", E: "~@2 f#3 ~@3 e4 ~ d#4 ~ b3 ~ f#3 ~ b3 ~",
})).s("gm_electric_guitar_muted").gain(0.43).pan(0.7)

// chords · distortion guitar · "Muted/Distorted guitar - R"
const distortion_guitar = note("<~@69 A@2 ~@5 B ~@11 C@2 ~@38>".pickRestart({
  A: "[~@7 [b2,f#3]@9]/2", B: "d#3", C: "[~@3 e4@5]/2",
})).s("gm_distortion_guitar").gain(0.5).pan(0.7)

// chords · acoustic guitar steel · "Steel guitar"
const acoustic_guitar_steel = note(`<
  A@2 B@2 C@2 D@2 E@2 ~@2 F@2 ~@2 G@2 ~@2 H@2 ~@2 I@2 J@2 K@2 L@2 M N B@2 C@2 D@2 O@2 P@2 Q@2 R@2 S@2 T@2 U@2 V@2 W X
  B@2 C@2 D@2 O@2 ~@24 B@2 C@2 D@2 E@2 B@2 C@2 D@2 E@2 B@2 C@2 D@2 E@2 Y@2 Z@2 AA@2 AB@4 ~@4
>`.pickRestart({
  A: "[~@20 c#5@2 d#5@2 g#5@3 ~@5, ~@3 g#3@4 f#4 g#4 b4@2 ~@5, ~@4 a3@7 ~@5, ~@5 c#4@6 ~@5, ~@6 d#4@5 ~@5]/2",
  B: "[[b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,d#4,f#4]@2 [b3,d#4,f#4] [a3,c#4,e4]@2 [a3,c#4,e4] [a3,c#4,e4]@2 [b3,d#4,f#4]@2 [b3,d#4,f#4]@2]/2", // E B A B
  C: "[[c#4,e4,g#4]@4 [c#4,e4,g#4]@3 ~ [b3,d#4,f#4]@6 ~@6 [a3,c#4]@2 [b3,d#4,f#4]@6 [b3,d#4,f#4]@4, ~@14 e4@9 ~@9, ~@7 [a3,c#4]@3 ~@6, ~@9 b3@2 ~@5]/2", // C#m B A B A
  D: "[[b3,e4,g#4]@4 [b3,e4,g#4]@4 [b3,d#4,f#4]@4 [b3,d#4,f#4]@2 [a3,c#4,e4]@6 [a3,c#4,e4]@4 [b3,d#4,f#4] ~@3 [b3,d#4,f#4]@4]/2", // E B A B
  E: "[[c#4,e4,g#4]@2 [c#4,e4,g#4]@2 [b3,d#4,f#4]@2 [b3,d#4,f#4] a3@2 a3 [a3,c#4] [b3,d#4,f#4]@3 [b3,d#4,f#4] ~, ~@7 e4@4 ~@5, ~@7 c#4@3 ~@6, ~@9 b3@2 ~@5]/2", // C#m B A B
  F: "[~@10 [a3,c#4] [b3,d#4,f#4]@3 [b3,d#4,f#4] ~, ~@7 e4@4 ~@5, ~@7 [a3,c#4]@3 ~@6, ~@9 b3@2 ~@5]/2", // A B A
  G: "[~@20 [a3,c#4]@2 [b3,d#4,f#4]@3 ~@7, ~@7 e4@4 ~@5, ~@7 [a3,c#4]@3 ~@6, ~@9 b3@2 ~@5]/2", // A B A
  H: "[~@10 c#4 [b3,d#4,f#4]@3 ~@2, ~@7 [a3,e4]@4 ~@5, ~@7 c#4@3 ~@6, ~@9 b3@2 ~@5]/2", // B A5
  I: "[~@10 [a3,c#4] [b3,d#4,f#4]@2 ~@3, ~@7 e4@4 ~@5, ~@7 [a3,c#4]@3 ~@6, ~@9 b3@2 ~@5]/2", // A B A
  J: "[[g#3,b3,d#4]@3 [a3,c#4,e4]@4 [g#3,c#4,e4]@2 [g#3,b3,d#4]@2 [a3,c#4,e4]@2 [a3,c#4,e4] [a3,c#4,e4]@2]/2", // G#m A C#m G#m A
  K: "[[g#3,b3,d#4]@3 [a3,c#4,e4]@4 [g#3,c#4,e4]@2 ~@2 [a3,c#4,e4] [a3,c#4,e4]@2 [a3,c#4,e4]@2, ~@9 [g#3,b3,d#4]@7]/2", // G#m A C#m A G#m
  L: "[[g#3,b3,d#4]@6 [a3,c#4,e4]@7 ~ [g#3,c#4,e4]@4 ~@4 [a3,c#4,e4]@4 [a3,c#4,e4]@2 [a3,c#4,e4]@3 ~, ~@18 [g#3,b3,d#4]@13 ~]/2", // G#m A C#m A G#m
  M: "[g#3,b3,d#4]@3 a3@2 a3 [a3,c#4,e4]@2, ~@3 [c#4,e4]@3 ~@2", // G#m A C#m
  N: "[a3,c#4,e4]@4 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [b3,d#4,f#4]@4 [b3,d#4,f#4]@2 [b3,d#4,f#4] ~", // A B
  O: "[[c#4,e4,g#4]@2 [c#4,e4,g#4]@2 [b3,d#4,f#4]@2 [b3,d#4,f#4] [a3,c#4,e4]@4 ~@5]/2", // C#m B A
  P: "[[b3,e4,g#4]@4 [b3,e4,g#4]@3 ~ [b3,d#4,f#4]@4 [b3,d#4,f#4]@2 [a3,c#4,e4]@6 [a3,c#4,e4]@2 [b3,d#4,f#4]@6 [b3,d#4,f#4]@4]/2", // E B A B
  Q: "[[c#4,e4,g#4]@2 [c#4,e4,g#4]@2 [b3,d#4,f#4] [b3,d#4,f#4]@2 a3@2 a3 [a3,e4] [b3,d#4,f#4]@2 [b3,d#4,f#4] [b3,d#4,f#4]@2, ~@7 c#4@4 ~@5, ~@7 e4@3 ~@6, ~@9 d#4@2 ~@5]/2", // C#m B A5 B
  R: "[[b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,d#4,f#4]@2 [b3,d#4,f#4] [a3,c#4,e4]@2 [a3,c#4,e4]@2 [b3,d#4,f#4]@2 [b3,d#4,f#4] [b3,d#4,f#4]@2]/2", // E B A B
  S: "[[c#4,e4,g#4]@2 [c#4,e4,g#4]@2 [b3,d#4,f#4] [b3,d#4,f#4]@2 ~@3 [a3,c#4] [b3,d#4,f#4]@3 [b3,d#4,f#4] ~, ~@7 e4@4 ~@5, ~@7 [a3,c#4]@3 ~@6, ~@9 b3@2 ~@5]/2", // C#m B A B A
  T: "[[g#3,b3,d#4]@3 a3@3 a3 [g#3,c#4,e4]@2 g#3 ~ [a3,c#4,e4]@2 [a3,c#4,e4] [a3,c#4,e4]@2, ~@3 [c#4,e4]@4 ~@2 [b3,d#4]@7]/2", // G#m C#m A C#m B
  U: "[[g#3,b3,d#4]@6 [a3,e4]@6 [a3,e4]@2 [g#3,c#4,e4]@4 ~@4 [a3,c#4,e4]@2 [a3,c#4,e4]@4 [a3,c#4,e4]@3 ~, ~@6 c#4@8 ~@4 [g#3,b3,d#4]@13 ~]/2", // G#m A5 C#m A G#m
  V: "[[g#3,b3,d#4]@6 [a3,c#4,e4]@6 [a3,e4] ~ [g#3,c#4,e4]@4 [g#3,b3,d#4]@4 [a3,c#4,e4]@4 [a3,c#4,e4]@2 [a3,c#4,e4]@4]/2", // G#m A A5 C#m G#m A
  W: "[g#3,b3,d#4]@2 [g#3,b3,d#4] [a3,c#4,e4]@2 [a3,c#4,e4]!3", // G#m A
  X: "[a3,c#4,e4]@4 [c#4,e4]@2 [c#4,e4]@2 [b3,f#4]@4 [b3,f#4]@2 [b3,d#4,f#4] ~, ~@2 a3@2 d#4@3 ~", // A C#m B5 B
  Y: "[~@4 f#4@3 a4@3 g#4@2 f#4@4, e4, ~@2 b4@5 ~@9]/2", Z: "[~@4 f#4@3 a4@3 g#4@2 f#4@4, e4, ~@4 b4@11 ~@17]/2",
  AA: "[~@2 b4@2 f#4@3 a4@3 g#4@2 f#4@4, e4]/2",
  AB: "[~@8 f#4@6 ~ [a3,e4]@8 ~ [b3,d#4,f#4]@10 ~ e4@27 ~@2, e4@9 ~@5 c#4@9 ~@11 [a3,c#4]@28 ~@2, ~@2 b4@5 ~@25]/4", // A5 B A
})).s("gm_acoustic_guitar_steel").gain(0.48).pan(0.6)

// chords · electric guitar clean · "Clean guitar"
const electric_guitar_clean = note("<~@82 A@2 B C@2 D E@2 ~@38>".pickRestart({
  A: "[~@6 b3 ~@2 e3@2 c#4@2 b3 c#4@2, e3@4 e3@3 b2@4 ~@5, ~@2 b3@4 ~@2 c#3@3 ~@5]/2",
  B: "~@6 b3 b2, e3@4 e3@3 ~, ~ b3@2 ~",
  C: "[c#3@2 e3@3 ~ c#4@4 e3@2 ~@16 b3@2 b2@2, ~@3 b3@2 b3@2 ~, ~@8 e3@3 e3@4 ~]/2",
  D: "c#3@2 e3@3 ~ c#4@4 b3@2 c#4@2 ~@2", E: "[~@12 b3@6 b3@5 ~@9, e3@6 e3@17 ~@9, ~ b3@2 ~@5]/2",
})).s("gm_electric_guitar_clean").gain(0.48).pan(0.6)

// other · pad halo · "Halo"
const pad_halo = note("<~@124 A@4>".pickRestart({
  A: "[~@11 b5@3 c#6@5 e6@30 ~@15]/4",
})).s("gm_pad_halo").gain(0.32).pan(0.7)

// drums · kick
// … 45 more lines

More by The Corrs