Strudelify
To Love You More cover art

All the Way...A Decade of Song

To Love You More

Celine Dion

KeyA majorTempo120 bpm
0:00/0:00
// To Love You More — Celine Dion
// 120 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 163 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · alto sax · "Alto Sax   (GS)"
const alto_sax = note(`<
  ~@8 A@2 B@2 C@3 D E@2 F@2 G@2 H@2 I@2 J@2 K@4 L@2 M@6 N@2 O@4 P Q R@2 S@6 T@2 B@2 U@2 V@2 E@2 W@6 N@2 O@4 P Q R@2 X@6
  Y Z AA@2 AB@4 ~@7 AC@2 AD AE@6 AF AG@2 AH AI@4 AJ AK@3 AL@2 AM@8 AN@8 AO@8 AN@8 AP@3 ~@2
>`.pickRestart({
  A: "[e4@8 e4@12 ~@4 d4@2 c#4@4 b3 a3]/2", B: "[b3@3 e4@11 ~@2]/2", C: "[c#4@3 b3@6 ~ c#4!2 d4@2 e4 f#4@9]/3",
  D: "~@2 g#4 b4", E: "[a4@3 ~ e4@18 ~@2 f#4@4 a4@4]/2", F: "[g4@3 ~ d4@18 ~@2 e4@4 g4@4]/2", G: "[f4@2 e4@4 d4 c#4]/2",
  H: "[e4@7 ~]/2", I: "[e4@4 e4@6 d4 c#4 b3@2 a3!2]/2", J: "[b3 e4@7]/2",
  K: "[c#4@6 b3@13 ~ c#4@2 c#4@2 d4@6 e4@26 g#4@6 b4@2]/4", L: "[a4@3 e4@7 ~@3 f#4 a4@2]/2",
  M: "[g4@2 d4@8 ~@2 e4@8 e4@2 d4 e4@5 d4@2 e4@12 ~@2 a4 b4 ~@2]/6", N: "[[c#5,e5]@4 [b4,d5]@2 a4 b4@3 g#4@4 ~@2]/2",
  O: "[[a4,c#5]@2 [a4,c#5]@6 [g#4,b4]@4 [f#4,a4]@2 g#4@6 ~@4 g#4@3 ~ e4@2 f#4@6 d5@2 [c#5,e5]@4 b4@4 a4@8 b4@2 [g#4,b4]@6 [g#4,c#5]@2]/4", // A G#m F#m C#m G#m C#5
  P: "[a4,c#5]", Q: "~@4 a4 b4 ~@2", R: "[[c#5,e5]@4 [b4,d5]@2 [a4,c#5] [b4,e5]@3 g#4@4 ~@2]/2",
  S: "[[a4,c#5]@2 [a4,c#5]@6 [g#4,b4]@4 [f#4,a4]@2 [g#4,c#5]@7 ~@3 f#4@4 e4@8 d5@2 [c#5,e5]@4 b4@4 c#5@8 b4@2 [g#4,b4]@4 [a4,c#5]@2 [a4,c#5]@30 ~@4, ~@23 a4@5 ~@20]/6", // A G#m F#m C#5 C#m G#m A
  T: "[e4@4 e4@6 d4 c#4 b3@2 a3@2]/2", U: "[c#4@3 b3@6 ~ c#4!2 d4@2 e4!2]/2", V: "[f#4@5 ~ g#4 b4]/2",
  W: "[g4@3 ~ d4@18 ~@2 e4@6 f4@10 e4@4 d5@2 c#5@8 ~@2 b4@4 c#5@2 c#5@26 a4@2 b4@2 ~@4]/6",
  X: "[[a4,c#5]@2 [a4,c#5]@6 [g#4,b4]@4 [f#4,a4]@2 [g#4,c#5]@7 ~@3 f#4@4 e4@8 d5@2 [c#5,e5]@4 b4@4 c#5@2 ~@6 b4@2 [g#4,b4]@4 [a4,c#5]@2 [a4,c#5]@30 ~@4, ~@23 a4@5 ~@20]/6", // A G#m F#m C#5 C#m G#m A
  Y: "[a4,c5]@6 a4 a#4 g4 f4@7, ~ c5", Z: "~ a4 b4 c5@2 b4 a4 b4",
  AA: "[a4@4 ~@8 [c#5,e5]@2 [c#5,e5]@4 b4 a4@9 ~@4, ~@9 e5@5 ~@2]/2", // C#m
  AB: "[~@6 f4@2 a4@2 b4@4 c5@4 b4@2 a4@7 ~ a4@2 e5@12 c#5@4 b4@18]/4", AC: "[~@7 e4@9]/2", AD: "~@4 f#4@3 a4",
  AE: "[g4@2 d4@10 e4@2 g4 f4@5 e4@2 d5 c#5@5 b4@2 c#5 c#5@13 a4 b4 ~@2]/6", AF: "~@9 [c#5,e5]@7",
  AG: "[~ [b4,d5]@4 a4@2 b4@6 g#4@8 ~@4 [a4,c#5]@2 [a4,c#5]@5]/2", AH: "~ [g#4,b4]@4 [f#4,a4]@2 g#4@6 ~@3",
  AI: "[~ g#4@3 ~ e4@8 d5@2 [c#5,e5]@4 b4@4 a4@8 b4@2 [g#4,b4]@6 [g#4,c#5]@2 [a4,c#5]@10 e4@10 ~@3]/4", // C#m G#m C#5 A
  AJ: "~ a4@2 b4@2 ~@4 [c#5,e5]@7", // C#m
  AK: "[~ [b4,d5]@4 [a4,c#5]@2 [b4,e5]@6 g#4@8 ~@4 [f#4,a4]@2 [g#4,b4]@2 [a4,c#5]@2 [b4,d5]@2 [a4,c#5]@4 [f#4,a4]@2 [g#4,c#5]@7 ~@2]/3", // Bm A E5 F#m G#m A Bm A …
  AL: "[~ f#4@4 e4@2 e4@6 d5@2 [c#5,e5]@4 b4@4 a4@8 b4, ~@23 c#5@2 ~@7]/2", // C#m
  AM: "[~ [g#4,b4]@4 [a4,c#5]@2 [a4,c#5]@30 ~@4 a4@10 b4@16 a4@16 g#4@10 a4@16 [d5,f#5]@2 [c#5,e5]@4 [b4,d5]@4 [a4,c#5]@9]/8", // G#m A D C#m Bm A
  AN: "[~ [g#4,b4]@6 [a4,c#5]@2 [a4,c#5]@32 a4@10 b4@16 a4@16 g#4@10 a4@16 [d5,f#5]@2 [c#5,e5]@4 [b4,d5]@4 [a4,c#5]@9]/8", // G#m A D C#m Bm A
  AO: "[~ [g#4,b4]@6 [a4,c#5]@2 [a4,c#5]@32 a4@10 b4@16 a4@16 g#4@10 a4@2 g#4@4 e4@10 [d5,f#5]@2 [c#5,e5]@4 [b4,d5]@4 [a4,c#5]@9]/8", // G#m A D C#m Bm A
  AP: "[~ [g#4,b4]@6 [a4,c#5]@2 [a4,c#5]@32 ~@7]/3", // G#m A
})).s("gm_alto_sax").gain(0.7)

// chords · alto sax · "Alto Sax   (GS)" · soft notes
const alto_sax_soft = note("<~@40 A@2 B@2 C@2 ~@6 D ~@19 A@2 B@2 C@2 ~@6 D E ~@27 F ~ G H I ~@6 H J ~@37>".pickRestart({
  A: "[~@6 c#5 e5@3 ~@6]/2", B: "[~@7 c#5@3 ~@6]/2", C: "[~@2 f#5 ~@2 d5@2 c#5@4 ~@5]/2", D: "~@2 f#5 ~@2 d5@2 ~",
  E: "c#5@3 ~@5", F: "~@5 c#5@2 e5@6 ~@3", G: "~@7 c#5@6 ~@3", H: "~@13 f#5@2 ~", I: "~@3 d5@4 c#5@8 ~",
  J: "~@3 d5@4 ~@2 c#5@6 ~",
})).s("gm_alto_sax").gain(0.39)

// other · piano · "Piano 2    (GS)"
const piano = note(`<
  ~@56 A@2 B@2 C@2 D B A@2 E@2 F G H I J B C B A K A K A B C B A K A@2 ~@8 L M N O P Q R S ~@59
>`.pickRestart({
  A: "a3 e4 a4 e4 a3 e4 a4 e4", B: "g#3 e4 g#4 e4 g#3 e4 g#4 e4", C: "f#3 c#4 a4 c#4 f#3 c#4 a4 c#4",
  D: "a3 d4 a4 d4 a3 d4 a4 d4", E: "g3 d4 g4 d4 g3 d4 g4 d4", F: "f3 d4 f4 d4 f3 d4 f4 d4",
  G: "e3 c#4 e4 c#4 e3 c#4 e4 c#4", H: "e3 b3 e4 b3 e3 b3 e4 b3",
  I: "e3@2 b3@2 e4@2 b3@2 e3 [f#3,g#3] [a3,b3] [c#4,d4] [d#4,e4] [f#4,g#4] [a4,b4] [c#5,d5]", // F#sus2 Asus2 Dmaj7 Emaj7 F#sus2 Asus2 Dmaj7
  J: "a3 e4 a4 e4 a3 e4 a4 e4, d#5 ~@15", K: "b3 e4 g#4 e4 b3 e4 g#4 e4",
  L: "e3 a3 c#4 e4 a4 e4 c#5 a4 e5 c#5 a5 e5 c#6 a5 e5 c#5",
  M: "f#3 b3 d#4 f#4 b4 f#4 d#5 f#5 b5 f#5 d#5 b4 f#4 d#4 b3 f#3",
  N: "e3 b3 e4 g#4 b4 e4 e5 g#5 b5 g#5 e5 b4 g#4 e4 b3 g#3", O: "e3 g3 b3 e4 g4 e4 b4 e5 g5 e5 f#5 g5 b5 g5 f#5 e5",
  P: "d3 f#3 a3 d4 f#4 a4 d5 f#5 a5 f#5 d5 a4 f#4 d4 a3 f#3", Q: "c3 g3 c4 e4 g4 c5 e5 g5 c6@2 g5@2 e5@2 c5@2",
  R: "[g4,b4,d5] [a4,c5,e5]", S: "[a4,c5,f5] [g#4,b4,e5]",
})).s("gm_piano").gain(0.46)

// other · violin · "Violin     (GS)"
const violin = note(`<
  A B C D E F G H I ~@32 J K L M N@2 O P J K L M Q@2 ~@3 R S T U V W X Y Z AA AB@2 AC AD ~ J K L M N@2 O AE@3 AF@3 I AD
  AG AH AI AJ AK AH AL AM AN@2 AO@2 AP AQ AR AS ~@4 AT AU AV AW ~ AX@7 AY@6 AZ@2 BA@2 ~@13 BB@7 BC@2 BD@6 BE@2 BF@2 ~
>`.pickRestart({
  A: "~@2 e4 e5 d5 c#5 b4 c#5", B: "e4", C: "~@2 e4 e5 d5 c#5 b4 a4", D: "g#4", E: "~@2 a4 a5 g#5 f#5 e5 f#5",
  F: "c#5@3 a5 g#5 f#5 e5 g#5", G: "f#5 g#5", H: "a5@2 b5 d6", I: "c#6", J: "~ b4 e5 f#5 g#5 a5 b5 g#5", K: "a5",
  L: "~ g#4 c#5 d#5 e5 f#5 g#5 e5", M: "f#5", N: "[e5@26 a5 g#5 f#5 e5 d5 c#5]/2",
  O: "b4 ~ e6 d6 c#6 d6 b5 c#6 a5 b5 c#5 d5 e5 f#5 g#5 a5", P: "c#6 ~", Q: "e5/2", R: "~@6 a4 g#4",
  S: "a4 b4 c#5 d5 e5 c#5 b4 c#5", T: "a4", U: "f#4@2 g#4 a4 b4@2 c#5@2", V: "d5@12 d5 [d5,e5] c#5 d5", W: "e5 b4",
  X: "a4@14 c#5 d5", Y: "e5@4 e5 d5 c#5 e5", Z: "d5@14 b4 c#5", AA: "d5@5 e5 f5 g5", AB: "[d5@5 e5 f5 c#5@7 d5 e5]/2",
  AC: "b4", AD: "e4!2 b4!2 e5!2 e4@2 b4@2 e5@2 b5@2 e5@2", AE: "[a5@5 b5 c#6 b5@5 b5 a5 g#5 f#5@6 g#5 a5 g#5]/3",
  AF: "[g#5@5 f#5 e5 f#5@3 f#6 e6@2 d6@2 c#6@5 b5@4]/3", AG: "~@12 a3 b3 c4 b3", AH: "a3 b3", AI: "a3@12 a3 b3 c4 b3",
  AJ: "c#4", AK: "~@10 f3 ~ a3 b3 c4 b3", AL: "b3", AM: "e3!2 b3!2 e4!2 b3!2 e4@2 b4@2 e5@2 b5@2",
  AN: "[a5@5 b5 c#6 b5@3 f#5@6]/2", AO: "[b5@10 c#6@2 d6@2 c#6@4 b5@4 c#6@2 d6@3 c#6@2 b5@3]/2", AP: "b5 a5@7",
  AQ: "a5 g5", AR: "g5 g4 b4 d5 g5 g4 g5 e5 a5 a4 c5 e5 a5 a4 a5 e5",
  AS: "a5 a4 c5 f5 a5 a4 a5 f5 b5 b4 e5 g#5 b5 b4 b5 e5", AT: "a4 ~ d5 ~ f5 ~ d5 ~ a5 ~ f5 ~ d5 ~ a5 ~",
  AU: "a4 ~ e5 ~ a5 ~ a4 ~ a5 ~ e5 ~ c#5 ~ a5 ~", AV: "b4 ~ e5 ~ g#5 ~ b4 ~ g#5 ~ e5 ~ b4 ~ g#5 ~",
  AW: "b4 ~ e5 ~ g#5 ~ e5 ~ e6 ~ e6 ~@5",
  AX: "[~@11 b4@2 e5@2 f#5@2 g#5@2 a5@2 b5@2 g#5@2 a5@16 ~@2 g#4@2 c#5@2 d#5@2 e5@2 f#5@2 g#5@2 e5@2 f#5@16 e5@26 a5 g#5 f#5 e5 d5 c#5 b4 ~ e6 d6 c#6 d6 b5]/7",
  AY: "[c#6 a5 b5 c#5 d5 e5 f#5 g#5 a5 a5@10 b5@2 c#6@2 b5@12 a5@2 g#5@2 f#5@12 g#5@2 a5@2 g#5@12 f#5@2 e5@2 f#5@6 f#6@2 e6@4 d6@4 c#6@9]/6",
  AZ: "[~ b5@8 c#6@16 c#6 [c#6,d6] [b5,c#6] [a5,b5]!2 [g#5,a5] [f#5,g#5]]/2", // Dmaj7 Bsus2 Asus2 Amaj7 F#sus2
  BA: "[[f#5,g#5] [e5,f#5] [d5,e5]!2 [c#5,d5]!3 [b4,c#5]!2 a4@16 ~@7, ~@9 b4 ~@22]/2", // F#sus2 Esus2 Dsus2 Dmaj7 Bsus2
  BB: "[~@11 c#6@30 b5@12 e6@4 a5@16 g#5@16 f#5@16 e5@7]/7", BC: "[~ b4@8 c#5@10 c#4!2 e4!2 a4!2 e4!2 a4!2 b4!2 e5]/2",
  BD: "[e5!3 b5!2 e6!2 e5!2 a5@10 b5@2 c#6@2 b5@12 a5@2 g#5@2 f#5@12 g#5@2 a5@2 g#5@12 f#5@2 e5@2 f#5@6 f#6@2 e6@4 d6@4 c#6@9]/6",
  BE: "[~ b5@8 c#6@16 c#6@7]/2", BF: "[~ b5@8 c#6@16 c#6 ~ c#6 ~ c#6 ~ c#6]/2",
})).s("gm_violin").gain(0.59)

// chords · electric guitar clean · "C.D. Gt.   (GS)"
const electric_guitar_clean = note("<~@26 A@2 B C@2 D@2 E ~ F G H I@2 ~@123>".pickRestart({
  A: "[~ g#4@11 b4 a4 g#4 b4, g#3@3 ~, ~ [b3,e4]@24 ~@7]/2", B: "a4", C: "[~ f#4@15, f#3, ~ [a3,c#4]@31]/2",
  D: "[~@3 e4, g#3, ~ b3@31, ~ e4@23 ~@8, ~ g#4@15]/2", E: "a3!2 c4 a3 e4@4", F: "d4 g3 g4@2",
  G: "~ f4@7 e4@4 d4@4, d4 ~", H: "c#4@2 b3 a3", I: "~ e4@7, e3, ~ [g#3,b3]@15",
})).s("gm_electric_guitar_clean").gain(0.35).pan(1)

// chords · distortion guitar · "C.D. Gt.   (GS)"
const distortion_guitar = note(`<
  ~@46 A B C D E D F G A H I@2 J@2 K@2 L@2 M@2 N@2 O P J@2 P Q R S O Q A B C D E D F G A T U O V@2 W X Y Z ~@4 AA AB AC
  AD ~@4 AE AF AG AH AI@7 AJ AK@6 AL AM@2 AN AO AP AQ AR AS@3 AN AO AP AQ AR AS@3 AN AO AP AQ AR AS@3 AN AO AP AQ AR
  AT@4 ~
>`.pickRestart({
  A: "[a3,e4,a4] ~@3 [a3,e4,a4] ~@7 [a3,e4,a4] ~@3", B: "[b3,e4,g#4] ~@3 [b3,e4,g#4] ~@7 [b3,e4,g#4] ~@3", C: "[e3,a3]",
  D: "[e3,g#3]", E: "[f#3,a3]", F: "[d3,f#3]@10 a3 ~ g#3 ~ a3 ~", G: "a3 ~ a3 ~ a3 ~ a3 ~ e3 ~ g#3 ~ f#3 ~ g#3 ~",
  H: "[e3,a3]!2 [e4,a4]@2 [e3,a3]!2 [e4,a4]@2 [e3,a3] [e4,a4]@7", I: "a2/2", J: "e3/2", K: "f#3/2", L: "d3/2",
  M: "a3/2", N: "g3/2", O: "d3", P: "a2", Q: "e3", R: "f#3", S: "c#3", T: "[a3,e4,a4] ~@3 [a3,e4,a4] ~@11", U: "f3",
  V: "[a2 ~ a2 ~ a2 ~ e3@26]/2", W: "f2 ~ f2 ~ f2 ~ f3@10", X: "a3@3 b3@5", Y: "b3", Z: "b3 e3 b3 e4 e3 b3 e4 e3",
  AA: "f#2", AB: "e2", AC: "d2 c2", AD: "a2 g#2", AE: "[d3,f3]", AF: "[a2,e3]", AG: "[b2,e3]",
  AH: "[b2,e3,g#3] ~ [b2,e3,g#3] ~ [b2,e3,g#3] ~ [b2,e3,g#3] ~ [b2,e3,g#3] ~ [b2,e3,g#3] ~@5", // E
  AI: "[~@9 a2@16 e3@16 f#3@16 c#3@16 d3@16 e3@16 [a3,e4,a4] ~@3 [a3,e4,a4] ~@2]/7", // A5
  AJ: "~@5 [a3,e4,a4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@2", // A5 E
  AK: "[~@5 [b3,e4,g#4] ~@3 [e3,a3]@16 [e3,g#3]@16 [f#3,a3]@16 [e3,g#3]@16 [d3,f#3]@10 a3 ~ g#3 ~ a3 ~ a3 ~ a3 ~ a3 ~ a3]/6", // E A5 E F#m E D
  AL: "~ e3 ~ g#3 ~ f#3 ~ g#3 ~ [a3,e4,a4] ~@3 [a3,e4,a4] ~@2", // A5
  AM: "[~@5 [a3,e4,a4] ~@3 [e3,a3]!2 [e4,a4]@2 [e3,a3]!2 [e4,a4]@2 [e3,a3] [e4,a4]@7 ~@4 [e3,a3] ~@2]/2", // A5
  AN: "~@5 [e3,a3] ~@7 [b3,e4] ~@2", AO: "~@5 [b3,e4] ~@7 [c#4,f#4] ~@2", AP: "~@5 [c#4,f#4] ~@7 [c#4,e4] ~@2",
  AQ: "~@5 [c#4,e4] ~@7 [d4,f#4] ~@2", AR: "~@5 [d4,f#4] ~@7 [b3,e4] ~@2",
  AS: "[~@5 [b3,e4] ~@3 [e3,a3]!2 [e4,a4]@2 [e3,a3]!2 [e4,a4]@2 [e3,a3]!6 [e4,a4] ~ [e3,a3]!2 [e4,a4]@2 [e3,a3]!2 [e4,a4]@2 [e3,a3] [e4,a4]@7 ~@4 [e3,a3] ~@2]/3", // E5 A5
  AT: "[~@5 [b3,e4] ~@3 [e3,a3]!2 [e4,a4]@2 [e3,a3]!2 [e4,a4]@2 [e3,a3]!6 [e4,a4] ~ [e3,a3]!2 [e4,a4]@2 [e3,a3]!2 [e4,a4]@2 [e3,a3] [e4,a4]@7 [e3,a3]!2 [e4,a4]@2 [e3,a3]!2 [e4,a4]@2 [e3,a3]!6 [e4,a4] ~ [a3,e4] ~ [a3,e4] ~ [a3,e4] ~ [a3,e4]]/4", // E5 A5
})).s("gm_distortion_guitar").gain(0.35).pan(1)

// chords · acoustic guitar nylon · "N.S. Gt.   (GS)"
const acoustic_guitar_nylon = note("<A B C D E F G H ~@16 I@2 J@2 K@2 L M N O P Q R S T U ~@123>".pickRestart({
  A: "~ [c#4,e4]@15, a3", B: "~@2 d4@4 c#4 [c#4,d4] b3@6 c#4 [a3,b3]", C: "b3", D: "~@14 a3 b3", E: "c#4!2",
  F: "~@2 b3@3 c#4@2 d4@3 ~@3 c#4 d4 e4", G: "f#4", H: "~@6 c#4 [a3,b3] a3@3 g#3@2 e4@3",
  I: "[~ a4@3 ~ a4@11, a3 a3@3, ~ [c#4,e4]@8 [c#4,e4]@23]/2", // C#m
  J: "[~ g#4@11 d4 c#4 b3 c#4, g#3@3 ~, ~ [b3,e4]@24 ~@7]/2", // E5
  K: "[~ a4@3 ~ a4@11, a3 a3@3, ~ [b3,c#4]@8 [b3,c#4]@23]/2", L: "~ a4@7, a3, ~ [d4,f#4]@15",
  M: "~ g#4@7, g#3, ~ [b3,e4]@15", N: "~ a4@7, a3, ~ [c#4,e4]@15", O: "~ a4@7, a3, ~ [c4,e4]@15",
  P: "~ g4@7, g3, ~ [b3,d4]@15", Q: "~ g4@7, g3, ~ [a#3,d4]@15", R: "~ f4@7 e4@4 d4@4, a3 ~",
  S: "~ c#4@7 b3@4 a3@4, a3 ~", T: "~ b3@7 b3@2 e4@2 g#4@2 b4@2, g#3 ~", U: "e5",
})).s("gm_acoustic_guitar_nylon").gain(0.36).pan(0)

// chords · acoustic guitar steel · "N.S. Gt.   (GS)"
const acoustic_guitar_steel = note(`<
  ~@40 A B C D E F G H A B C D E F G I J K H@2 L M N O P@2 Q R S T U V A B C D E F G H A B C D E F G W X@2 T Y X@2 U H
  ~@4 Z AA AB AC ~@8 AD@6 AE@8 AF@3 AG AH AI AJ AK AL AM@2 AG AH AI AJ AK AL AM@2 AG AH AI AJ AK AL AM@2 AG AH AI AJ AK
  AL AM AN ~@2
>`.pickRestart({
  A: "[a3,c#4,e4,a4]@2 [a3,c#4,e4,a4] [a3,c#4,e4,a4]@3 [a3,c#4,e4,a4]@2", // A
  B: "[g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4] [g#3,b3,e4,g#4]@3 [g#3,b3,e4,g#4]@2", // E
  C: "[a3,c#4,f#4,a4]@2 [a3,c#4,f#4,a4] [a3,c#4,f#4,a4]@3 [a3,c#4,f#4,a4]@2", // F#m
  D: "[g#3,c#4,e4,g#4]@2 [g#3,c#4,e4,g#4] [g#3,c#4,e4,g#4]@3 [g#3,c#4,e4,g#4]@2", // C#m
  E: "[a3,d4,f#4,a4]@2 [a3,d4,f#4,a4] [a3,d4,f#4,a4]@3 [a3,d4,f#4,a4]@2", F: "[g#3,b3,e4,g#4]!4",
  G: "[a3,c#4,e4,a4]@3 [a3,c#4,e4,a4]@3 [a3,c#4,e4,a4]@2", H: "[g#3,b3,e4,g#4]@3 [g#3,b3,e4,g#4]@3 [g#3,b3,e4,g#4]@2",
  I: "[a3,c#4,e4,a4]@5 [a3,c#4,e4,a4] [a3,c#4,e4,a4]@10", J: "~ a4@7, a3, ~ [c#4,e4]@15",
  K: "~ a4@2 [a3,c#4,e4,a4]@3 [a3,c#4,e4,a4]@2, a3@3 ~@5, ~ [c#4,e4]@5 ~@10", L: "[f#3,a3,c#4,f#4]",
  M: "[f#3,a3,c#4,f#4]@3 [f#3,a3,c#4,f#4]@3 [f#3,a3,c#4,f#4]@2", // F#m
  N: "~ f#4@2 [f#3,a3,d4,f#4]@3 [f#3,a3,d4,f#4]@2, f#3@3 ~@5, ~ [a3,d4]@5 ~@10", // D D5
  O: "~ g#4@2 [g#3,b3,e4,g#4]@3 [g#3,b3,e4,g#4]@2, g#3@3 ~@5, ~ [b3,e4]@5 ~@10", P: "[a3,c#4,e4,a4]@3 [a3,c#4,e4,a4]@5",
  Q: "[g3,b3,d4,g4]@3 [g3,b3,d4,g4]@5", R: "[g3,a#3,d4,g4]@3 [g3,a#3,d4,g4]@5",
  S: "~ f4@2 [f3,a3,d4,f4]@5, f3@3 ~@5, ~ [a3,d4]@5 ~@10", T: "[e3,a3,c#4,e4]@3 [e3,a3,c#4,e4]@5",
  U: "[e3,g#3,b3,e4]@3 [e3,g#3,b3,e4]@5", V: "~ e4@7, e3, ~ [g#3,b3]@15",
  W: "[a3,c#4,e4,a4]@4 ~ [a3,c#4,e4,a4] [a3,c#4,e4,a4]@10", X: "[f3,a3,c4,f4]@3 [f3,a3,c4,f4]@3 [f3,a3,c4,f4]@2",
  Y: "[e3,a3,c#4,e4]@3 [e3,a3,c#4,e4]@3 [e3,a3,c#4,e4]@2", Z: "[f#3,a3,d4,f#4]", AA: "[g3,c4,e4]",
  AB: "[e3,b3,d4] [a3,c4,e4]", AC: "[a3,c4,f4] [g#3,b3,e4]",
  AD: "[~@9 [a3,c#4,e4,a4]@4 [a3,c#4,e4,a4]@2 [a3,c#4,e4,a4]@6 [a3,c#4,e4,a4]@4 [g#3,b3,e4,g#4]@4 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@6 [g#3,b3,e4,g#4]@4 [a3,c#4,f#4,a4]@4 [a3,c#4,f#4,a4]@2 [a3,c#4,f#4,a4]@6 [a3,c#4,f#4,a4]@4 [g#3,c#4,e4,g#4]@4 [g#3,c#4,e4,g#4]@2 [g#3,c#4,e4,g#4]@6 [g#3,c#4,e4,g#4]@4 [a3,d4,f#4,a4]@4 [a3,d4,f#4,a4]@2 [a3,d4,f#4,a4]@6 [a3,d4,f#4,a4]@4 [g#3,b3,e4,g#4]@4 [g#3,b3,e4,g#4]@3]/6", // A E F#m C#m D E
  AE: "[~ [g#3,b3,e4,g#4]@4 [g#3,b3,e4,g#4]@4 [a3,c#4,e4,a4]@6 [a3,c#4,e4,a4]@6 [a3,c#4,e4,a4]@4 [g#3,b3,e4,g#4]@6 [g#3,b3,e4,g#4]@6 [g#3,b3,e4,g#4]@4 [a3,c#4,e4,a4]@4 [a3,c#4,e4,a4]@2 [a3,c#4,e4,a4]@6 [a3,c#4,e4,a4]@4 [g#3,b3,e4,g#4]@4 [g#3,b3,e4,g#4]@2 [g#3,b3,e4,g#4]@6 [g#3,b3,e4,g#4]@4 [a3,c#4,f#4,a4]@4 [a3,c#4,f#4,a4]@2 [a3,c#4,f#4,a4]@6 [a3,c#4,f#4,a4]@4 [g#3,c#4,e4,g#4]@4 [g#3,c#4,e4,g#4]@2 [g#3,c#4,e4,g#4]@6 [g#3,c#4,e4,g#4]@4 [a3,d4,f#4,a4]@4 [a3,d4,f#4,a4]@2 [a3,d4,f#4,a4]@6 [a3,d4,f#4,a4]@4 [g#3,b3,e4,g#4]@4 [g#3,b3,e4,g#4]@3]/8", // E A E A E F#m C#m D …
  AF: "[~ [g#3,b3,e4,g#4]@4 [g#3,b3,e4,g#4]@4 [a3,c#4,e4,a4]@6 [a3,c#4,e4,a4]@6 [a3,c#4,e4,a4]@4 [a3,c#4,e4,a4]@5 [a3,c#4,e4,a4] [a3,c#4,e4,a4]@10 [a3,c#4,e4,a4]@7]/3", // E A
  AG: "~ [a3,c#4,e4,a4]@8 [g#3,b3,e4,g#4]@7", AH: "~ [g#3,b3,e4,g#4]@8 [a3,c#4,f#4,a4]@7",
  AI: "~ [a3,c#4,f#4,a4]@8 [g#3,c#4,e4,g#4]@7", AJ: "~ [g#3,c#4,e4,g#4]@8 [f#3,a3,d4,f#4]@7",
  AK: "~ [f#3,a3,d4,f#4]@8 [g#3,b3,e4,g#4]@7", AL: "~ [g#3,b3,e4,g#4]@8 [a3,c#4,e4,a4]@7",
  AM: "~ [a3,c#4,e4,a4]@8 [a3,c#4,e4,a4]@7", AN: "~ [a3,c#4,e4,a4]@8 ~@7",
})).s("gm_acoustic_guitar_steel").gain(0.36).pan(0)

// bass · electric bass finger · "FingeredBs (GS)"
const bass = note(`<
  ~@23 A B@2 C@2 D@2 E F G H I J K L M N O M P Q R M O M O M P Q E M L@2 O L S M P T R F U H V J W L S N O M P Q R M O M
  O M P Q E M L@2 X E L E X E M N Y@2 Z AA AB N AC AD ~@4 AE L M AF AG@7 AH@4 AI@8 AJ@8 AI@8 AJ@8 AK@7 ~
>`.pickRestart({
  A: "~@7 a1", B: "a1/2", C: "[e1@15 e1]/2", D: "f#1/2", E: "d1", F: "d2", G: "c#2", H: "c2@7 c2", I: "b1", J: "a#1",
  K: "d1@3 e1@3 f1@2", L: "a1", M: "e1", N: "e2", O: "a1@7 a1", P: "f#1@7 f#1", Q: "c#1", R: "d1@7 d1", S: "e1@7 e1",
  T: "f#1", U: "c#2@7 c#2", V: "b1@7 b1", W: "d2@6 c2 a#1", X: "f1@7 f1", Y: "a2", Z: "g#2", AA: "g2", AB: "f#2",
  AC: "d2 c2", AD: "a1 g#1", AE: "d2@4 d2 c2 a#1 a1", AF: "e2@8 e2 ~ e2 ~@5",
  AG: "[~@9 a1@14 a1@2 e1@16 f#1@14 f#1@2 c#1@16 d1@14 d1@2 e1@16 a1@7]/7",
  AH: "[~@7 a1@2 e1@16 a1@14 a1@2 e1@16 f#1@7]/4",
  AI: "[~@7 f#1@2 c#1@16 d1@16 e1@16 a1@16 a1@16 a1@14 a1@2 e1@16 f#1@7]/8",
  AJ: "[~@7 f#1@2 c#1@16 d1@14 d1@2 e1@16 a1@14 a1@2 e1@16 a1@14 a1@2 e1@16 f#1@7]/8",
  AK: "[~@7 f#1@2 c#1@16 d1@16 e1@16 a1@16 d1@16 a1@16 a1 ~ a1 ~ a1 ~ a1]/7",
})).s("gm_electric_bass_finger").gain(0.59)

// chords · string ensemble 2 · "Slow Str.  (GS)"
const string_ensemble_2 = note(`<
  ~@6 A B C D E@2 F@2 G H I J K L M N O@2 P@2 E@2 Q@2 R H S J K L M T U@2 ~@6 V W ~@6 V@2 P@2 E@2 Q@2 X@2 Y@2 Z@2 AA AB
  AC@2 ~@6 V W ~@6 V@2 AD AE AF AG AD AH@3 AI AJ AK AL AM AN AO AP AQ@2 AR AS AT AU W AV AW@8 AX@8 AY@8 AZ@16 BA@8 BB@3
>`.pickRestart({
  A: "[a3,d4] [b3,e4]", B: "[c#4,f#4] [b3,e4]", C: "[c#5,e5,a5]", D: "[a3,c#4,e4]", E: "[g#3,b3,e4]/2",
  F: "[f#3,a3,c#4]/2", G: "[d4,f#4]", H: "[e4,g#4]", I: "[c#4,e4]@3 c#5", J: "c5", K: "[g4,d5] [d4,g4]", L: "[d4,g4]",
  M: "[d5,f5]@2 [c#5,e5] [b4,d5]", N: "[c#5,e5]", O: "[b3,e4]/2", P: "[a3,c#4,e4]/2", Q: "[a3,c#4,f#4]/2", R: "[a3,d4]",
  S: "[e4,a4]@3 c#5", T: "[c#5,e5]@2 [b4,d5] [a4,c#5]", U: "[b4,e5]/2", V: "[a3,e4,a4]", W: "[b3,e4,g#4]",
  X: "[a3,d4,f#4]/2", Y: "[e4,a4]/2", Z: "[d4,g4]/2", AA: "[d4,f4]", AB: "[c#4,e4]", AC: "[e4,g#4]/2", AD: "a6",
  AE: "b6", AF: "a6@3 b6", AG: "c#7 b6", AH: "b6/3", AI: "a5", AJ: "d#6", AK: "b5", AL: "g5", AM: "f#5", AN: "e5",
  AO: "d5 e5", AP: "f5 e5",
  AQ: "[c#5,e5,a5] ~ [e5,a5,c#6] ~ [a5,c#6,e6] ~ [e5,a5,c#6] ~ [c#6,e6,a6] ~ [a5,c#6,e6] ~ [e5,a5,c#6] ~ [a5,c#6,e6] ~", // A
  AR: "[b4,d5,g5] ~ [d5,g5,b5] ~ [g5,b5,d6] ~ [d5,g5,b5] ~ [b5,d6,g6] ~ [g5,b5,d6] ~ [d5,g5,b5] ~ [g5,b5,d6] ~", // G
  AS: "[a#4,d5,g5] ~ [d5,g5,a#5] ~ [g5,a#5,d6] ~ [d5,g5,a#5] ~ [a#5,d6,g6] ~ [g5,a#5,d6] ~ [d5,g5,a#5] ~ [g5,a#5,d6] ~", // Gm
  AT: "[a3,d4,f4]", AU: "[c#4,e4,a4]", AV: "[b3,e4,g#4]@8 [g#4,b4,e5] ~ [g#4,b4,e5]@2 ~@4",
  AW: "[~@9 a6@16 g#6@16 a6@16 e6@16 a6@16 e6@16 a6@16 b6@7]/8",
// … 173 more lines

More by Celine Dion