Strudelify

La Vie En Rose

Jones Grace

KeyG majorTempo173 bpm
0:00/0:00
// La Vie En Rose — Jones Grace
// 173 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// 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(173/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 · piano · "A.PIANO 1"
const piano = note(`<
  A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 C@2 D@4 E@4 F@4 G H I@2 J@2 K@2 L M N@2 O@2 P Q R S T@2 J@2 U@2 V W X Y Z AA AB AC AD
  AE@2 AF@2 AG@3 AH AI@4 AJ@2 AK AL AM@2 AN AO AP AQ AR@2 AS@2 AT@2 AU@2 AV AW AX@2 AY@2 AZ@2 V W X Y Z AA AB BA AD BB
  BC Q BD BE@4 BF BG BH@2 BI@2 BH@2 BI@2 BH@2 BI@2 BH@2 BI@2 BH@2 BI@2 BH@2 BI@2 BH@2 BI@2 BH@2 BI@2 BJ ~@7
>`.pickRestart({
  A: "[~ g5@22 ~ f#5 ~ a5@5 ~, [g2,g3]@31 ~, [b4,d5]@23 ~ [b4,d5]@7 ~]/2", B: "[[b2,b4,d5,f#5]@31 ~]/2",
  C: "[~ g5@22 ~ [g2,g3,b4,d5] ~ [b4,d5,g5]@6, [g2,g3,b4,d5]@23 ~ a5@2 ~@6, ~@25 [g2,g3]@6 ~]/2", // G
  D: "[[b2,b4,d5,f#5]@31 ~ [g3,b4,d5,g5]@23 ~ [g3,b4,d5] ~ [g2,g3,b4,d5,g5]@5 ~, ~@31 g2@23 ~@2 [g2,a5]@2 ~@6]/4", // Bm G Gsus2
  E: "[~ f#5@29 ~@2 g5@23 ~ [g3,b4,d5] ~ [g2,g3,b4,d5,g5]@6, [b2,b4,d5]@29 ~ [g2,g3]@25 ~ [g2,a5]@2 a#2 ~@5, ~@31 [b4,d5]@24 ~@9]/4", // G Bm G Gsus2 Bm
  F: "[[b2,b4,d5,f#5]@30 ~@2 d5@21 ~@3 [g2,g3,b4,d5] ~ [g2,g3,b4,d5,g5]@5 ~, ~@15 g2@11 ~@6, ~@31 [g3,b4]@22 ~@11, ~@16 g5@8 ~@4 a5 ~@3]/4", // Bm G
  G: "[b2,b4,d5,f#5]@4 [b2,b4,d5,a5]@3 ~", H: "~ f#5@5 ~ [d3,a4,c5,e5]@8 ~, [a2,a4,c5]@7 ~@9, g5 ~@7",
  I: "[[g2,g3,b4,d5]@12 ~ a5@3, g5, ~@3 [g2,g3,b4,d5,f#5]]/2", J: "[f#2,f#3,b4,d5,f#5]/2",
  K: "[e3@12 ~@3 b4, e2, b4@7 g4, g4@13 e4@3, e4@3 e3]/2", L: "[a2,e4,a4,c5]", M: "[d3,d4,f#4,d5]",
  N: "[e4@7 e4, [a2,a3,a4,c5]]/2", O: "[[d3,a3,d4,a4]@6 d4!2, d5, e4 ~@23 [d3,a3,f#4,a4]@8]/2", P: "[a2,a3,e4,a4,c5]",
  Q: "[d3,d4,f#4,a4,d5]", R: "[g2,d4,g4,b4]@15 ~",
  S: "[a2,a3,c5,e5,g5] ~ [a2,a3,c5,e5,a5]@3 ~@3 [d3,a4,e5,g5] ~ [d3,a4,f#5]@2 ~@4, ~@10 d5 ~@5", // Am7 Am Dsus4 D
  T: "[g2,g3,b4,d5,g5]/2", U: "[[e2,e3,b4,e5,g5]@31 ~]/2",
  V: "c3@4 [c5,e5,g5] ~@3 [c5,e5] ~@3 c4 ~ [c5,e5,g5]@2, ~@4 a5 ~@3", // C
  W: "~@2 c5 ~ [c5,e5,g5] ~@3 [c5,e5,g5] ~ [c5,e5] ~ c4@2 c3 ~, c3@2 ~ c4@2 a5 ~@2", // C
  X: "c3@4 [c5,d#5,g5] ~@3 [c5,d#5,a5] ~@3 c4 ~ [c5,d#5,g5]@2, ~@3 c4@2 ~@3", // Cm Adim Cm
  Y: "c3@2 c5 ~ [c5,d#5,g5] ~ c4@2 [c5,d#5,g5] ~ [d#5,a5] ~ c3@2 ~@2, ~@5 c5 ~@2", // Cm D#dim
  Z: "g2@4 [g4,b4,d5] ~@3 [g4,b4,e5] ~@3 g3 ~ [g4,b4,d5]@2", // G Em G
  AA: "~@2 g4 ~ [g4,b4,d5] ~@3 [g4,b4,d5] ~ [g4,b4] ~ g3 ~ g3 ~, g2@2 ~ g3@2 e5 ~@2", // G
  AB: "c3@4 [c5,d#5,g5] ~@3 [c5,d#5,a5] ~@3 c4 ~ [d#5,g5]@2, ~@14 c5 ~", // Cm Adim D#
  AC: "c3@2 c5 ~ [c5,d#5,g5] ~ c4@2 [c5,d#5,g5] ~ [c5,d#5,a5] ~ c3 ~@3", AD: "[a2,a3,c5,e5,a5]@7 ~",
  AE: "[[d3,c5,f#5,a5]@31 ~]/2", AF: "[d5@5 ~@2 b5, [g2,g3,b4], g5@3 g5, ~@10 d5@3 a5@3, ~@11 e5@5]/2",
  AG: "[[b2,b4,d5,f#5]@31 ~@2 e5@14 ~, ~@31 [a2,a3,a4]@16 ~, ~@32 c5@15 ~]/3", // Bm A
  AH: "~@14 [g4,a4,b4] [e4,f4], [d3,a4,f#5]@12 [e5,f5,g5] [c5,d5]@2 ~, d5@11 [a5,b5,c6,d6]@4 ~, ~@9 [a6,b6,c7]@6 ~, ~@10 [e6,f6,g6]@5 ~", // G Fmaj7 D Em Csus2 D7 Am Em
  AI: "[~@8 [d#4,g4,a#4,d5]@7 ~ [d#4,g4,c5]@5 ~ [d#4,a#4]@5 [d#4,c5]@3 ~@2 [f4,d5]@3 ~ c5@2 ~@2 [f3,f4,a4,d5]@3 ~ [f4,a4,c5]@7 ~ [f4,a4,a#4]@3 ~ [f3,f4,a4,c5]@7 ~, d#3@29 ~@2 f3@7 ~@6 f3@10 ~@10, ~@21 g4@5 ~ [g4,a#4] ~@4 a4@6 ~@26, ~@35 f4@2 ~@27]/4", // D#maj7 Cm D#5 Cm Dm F A#maj7 F …
  AJ: "[g4@12 ~@12 d5@3 ~@5, g3@7 ~, d5@17 ~@3 b4@7 ~@5, b4@15 ~ g4@10 ~@6, ~@12 d4@17 ~@3]/2",
  AK: "[d5,a5,d6,g6]@2 [d5,a5,d6,f#6] ~@5", AL: "[d5,a5,d6,g6]@3 [d5,a5,d6,f#6] ~@4",
  AM: "[~@8 [b4,d5,g5]@2 f#5 ~ [d5,g5] ~ [b4,d5,f#5]@3 ~ [b4,e5]@2 ~@2 [g3,b4,d5]@4 e5 ~ [g3,b4,d5,f#5]@3 ~, g3@5 ~@3]/2", // G G5 Bm E5 G Gmaj7
  AN: "f#3@5 ~@3 [d5,f#5]@2 e5@2 f#5 ~ [f#3,b4,e5]@2, ~@8 [f#3,b4]@5 ~@3", // D Esus2 B5
  AO: "~@2 [f#3,b4,d5]@3 ~ [f#3,g4,b4]@4 d5 ~ [f#3,e5]@3 ~, ~@12 [g4,b4] ~@3", // Bm Gmaj7 F#7 G
  AP: "e3@6 ~@2 e5 ~ d#5 ~ e5 ~ [e3,g4,b4,d5]@2, ~@8 [e3,g4,b4]@5 ~@3", // Em7 Em
  AQ: "~ [e3,g4,b4] ~ e3@2 b4 d5 ~, ~@3 g4@4 ~, ~@12 e3 ~@3", // Em
  AR: "[b2@4 ~@4 e5 ~ d5@2 [a3,e5] ~ [d3,f#4,a4,d5]@4 [d3,f#4,c5]@3 ~ [d3,f#4,a4]@4 c5 ~ [d3,d5]@2 ~@2, c#3 ~@7 [a2,a4,c5]@4 ~@2 c#5 ~@3 a4 ~@9 f#4 ~@3]/2", // A5 D D7 D Am
  AS: "[~@8 a5@2 g#5@2 a5 ~ [c5,e5,g5]@3 ~ [c5,e5]@3 ~ c5@3 ~ [c5,d5] ~ [c5,e5] ~@3, a3@31 ~, ~@8 [c5,e5]@5 ~@19]/2", // C Csus2 C
  AT: "[~@8 [d5,f#5]@2 e5@2 f#5 ~ [a4,e5]@3 ~ [a4,d5]@3 ~ [a4,c5]@4 d5 ~ [a4,e5] ~ d3@2, d3@7 ~, ~@8 a4@5 ~@15 d4@2 ~@2]/2", // D A5 D5 Am A5
  AU: "[~@8 c5@2 d5@2 e5 ~ [a4,d5]@4 [a4,c5]@3 ~@5 b4@2 [f#3,c5]@3 ~, a3@14 d3@9 ~@9, ~@8 a4@5 ~@9 a4@8 ~@2, ~@8 e5 ~@13 d4@6 ~@4]/2", // D5 Am F#dim
  AV: "[g3,g4,b4,d5]@15 ~", AW: "[a3,a4,c5,e5]@8 [d3,d4,a4,d5,f#5]@7 ~",
  AX: "[~@8 g5@2 f#5@2 g5 ~ [b4,f#5]@3 ~ [b4,e5]@3 ~ [b4,d5]@4 e5 ~ [b4,f#5]@2 ~@2, g3@31 ~, ~@8 [b4,d5]@4 ~@16 d5 ~@3]/2", // B5 E5 Bm B5 Bm
  AY: "[~@8 [d5,f#5]@2 e5@2 f#5 ~ [b4,e5]@3 ~ [b4,d5]@2 ~@2 [g4,b4]@4 d5 ~ [g4,e5]@2 ~@2, f#3@31 ~, ~@2 b4 ~@5]/2", // D E5 Bm G C
  AZ: "[~@8 e5@2 d#5@2 e5 ~ [g4,b4,d5]@4 [g4,b4]@3 ~ g4@4 b4 ~ [g4,b4,d5]@2 ~@2, e3@7 d3@8 ~, ~@8 [g4,b4]@5 ~@19]/2", // G
  BA: "c3@2 c5 ~ [c5,d#5,g5] ~ c4@2 [c5,d#5,g5] ~ [c5,d#5] ~ c3 ~@3, ~@5 a5 ~@2", BB: "[d3,f#4,a4,d5]@15 ~",
  BC: "[d3,f#4,a4,c5,e5]@15 ~, d4@13 ~@3", BD: "[d3,d4,f#4,a4,c5,e5]@15 ~",
  BE: "[~ b5@30 ~@2 b5@29 ~@2, [g3,d5,g5]@31 ~ [d5,f#5]@31 ~, g2@29 ~@2 [f#2,f#3]@30 ~@3]/4", // G5 D F#
  BF: "[a2,a3,c5,e5,a5]@15 ~", BG: "[c5,f#5,a5]@9 ~@7, d3@3 ~",
  BH: "[~@8 [d#4,g4,a#4,d5]@7 ~ [d#4,g4,c5]@5 ~ [d#4,g4,a#4]@5 ~ [d#4,g4,c5]@3 ~, d#3@28 a#4 ~@3]/2", // D#maj7 Cm D# Cm
  BI: "[[f4,d5]@4 [f4,c5]@2 ~@2 [f3,f4,a4,d5]@4 [f4,a4,c5]@7 ~ [f4,a4,a#4]@3 ~ [f3,f4,a4,c5]@7 ~, [f3,a4]@7 ~@5 f3@10 ~@10]/2", // Dm F5 Dm F A#maj7 F
  BJ: "[g2,g3,b4,d5,g5]@3 ~", // G
})).s("gm_piano").gain(0.56)

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  A B C@2 A B D E A B C@2 A B D E A B C@2 A B D E A B C@2 A B F G H I J K L M N O P Q R S N T U V H I J W X Y Z AA Z AB
  AC AD Z AE AF R AG H AH J AI N AJ AK AL AM AN U AO AP AQ H I J K L M N O P Q R S N T U V H I J W X Y Z AA Z AB AC AD Z
  AE AF R AR R AS H AH J AI N AJ AK AL AM AN AK AL AM AN AK AL AM AN AK AL AM AN AK AL AM AN AK AL AM AN AK AL AM AN AK
  AL AM AN AT ~@7
>`.pickRestart({
  A: "g1@5 ~ g1 ~ g1@6 ~@2", B: "g1@5 ~ g1 ~ g1@4 a1@3 ~", C: "[b1@5 ~ b1 ~ b1@6 ~ b1@5 ~@2 b1 ~ b1@3 ~ a1@3 ~]/2",
  D: "b1@4 ~@2 b1 ~ b1@4 ~@2 b1 ~", E: "b1@2 ~ b1 f#2 d2 f#2 d2", F: "b1@4 ~@2 b1 ~ b1@6 ~@2",
  G: "a1@4 ~@2 a1 ~ d2@3 ~ d2@3 ~", H: "g1@4 ~@2 g1 ~ g1@4 ~@2 g1 ~", I: "g1@4 ~@2 g1 ~ g1@3 ~ g1@3 ~",
  J: "f#1@5 ~ f#1 ~ f#1@4 ~@2 f#1 ~", K: "f#1@5 ~ f#1 ~ f#1@3 ~ f#1@3 ~", L: "e1@5 ~ e1 ~ e1@4 ~@2 e1 ~",
  M: "e1@4 ~@2 e1 ~ e1@2 ~@2 e1@3 ~", N: "a1@4 ~@2 a1 ~ a1@4 ~@2 a1 ~", O: "d2@5 ~ d2 ~ d2@2 e2@2 f#2@2 d2 ~",
  P: "a1@5 ~ a1 ~ a1@4 ~@2 a1 ~", Q: "a1@5 ~ a1 ~ a1@3 ~ a1@3 ~", R: "d2@5 ~ d2 ~ d2@4 ~@2 d2 ~",
  S: "d2@4 ~@2 d2 ~ d2@3 ~ d2@3 ~", T: "d2@5 ~ d2 ~ d2@2 ~@2 d2@2 ~@2", U: "g1@5 ~ g1 ~ g1@4 ~@2 g1 ~",
  V: "a1@5 ~ a1@2 d2@2 e2 ~ f#2 ~ d2@2", W: "f#1@5 ~ f#1 ~ f#1 ~ f#1 ~ f#1@3 ~", X: "e1@4 ~@2 e1 ~ e1@4 ~@2 e1 ~",
  Y: "e1@4 ~@2 e1 ~ e1@2 g1 ~ a1 ~ b1 ~", Z: "c2@5 ~ c2 ~ c2@4 ~@2 c2 ~", AA: "c2@4 ~@2 c2 ~ c2@3 ~ g1@3 ~",
  AB: "c2@4 ~@2 c2 ~ c2@4 a1@3 ~", AC: "g1@4 ~@2 g1 ~ g1@5 ~ g1 ~", AD: "g1@5 ~ g1 ~ g1@3 ~ a1 ~ b1 ~",
  AE: "c2@5 ~ c2 ~ c2@3 ~ c2 ~ c2 ~", AF: "a1@4 ~@2 a1 ~ a1@5 ~ a1 ~", AG: "d2@4 ~@2 d2 ~ d2@2 c2 ~ b1 ~ a1 ~",
  AH: "g1@4 ~@2 g1 ~ g1@2 b1@2 d2 ~ g1 ~", AI: "f#1@4 ~@2 f#1 ~ f#1@4 a1@2 f#1 ~", AJ: "d2@5 ~ d2 ~ d2@3 ~ d2 ~ d2 ~",
  AK: "d#1@4 ~@2 d#1 ~ d#1@5 ~ d#1 ~", AL: "d#1@4 ~@2 d#1 ~ d#1@3 ~ d#1@2 ~@2", AM: "f1@4 ~@2 f1 ~ f1@4 ~@2 f1 ~",
  AN: "f1@4 ~@2 f1 ~ f1@3 ~ f1@2 ~@2", AO: "g1@5 ~ g1 ~ g1@3 ~ g1@3 ~", AP: "d2@3 ~ d2@3 ~@9", AQ: "d2@5 ~ d2 ~@9",
  AR: "d2@4 ~@2 d2 ~ d2@3 ~ a1@3 ~", AS: "d2@4 ~@2 d2 ~ d2 ~ c2 ~ b1 ~ a1 ~", AT: "g1@15 ~",
})).s("gm_acoustic_bass").gain(0.47)

// chords · vibraphone
const vibraphone = note(`<
  A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 C@2 D@2 E@2 F@2 C@2 D@2 C@2 G H I@2 J@2 K@2 L M N@2 O@2 P Q@2 R S@2 J@2 T@2 U V W X@8
  S@2 J@2 Y Z AA@2 AB@4 AC AD I@2 J@2 K@2 L M N@2 O@2 P Q@2 R S@2 J@2 T@2 U V W X@8 ~@2 S@2 J@2 Y Z AA@2 AE@2 AA@2 AE@2
  AA@2 AE@2 AA@2 AE@2 AA@2 AE@2 AA@2 AE@2 AA@2 AE@2 AA@2 AE@2 AF ~@7
>`.pickRestart({
  A: "[g6@22 ~@2 a6@7 ~]/2", B: "[f#6@22 ~@2 e6@7 ~]/2", C: "[g5@24 e5@7 ~]/2", D: "[d5@3 e5]/2", E: "[g5@3 e5]/2",
  F: "[d5@23 ~ e5@8]/2", G: "d5@15 ~", H: "c5@4 d5@3 ~", I: "[g6@15 ~]/2", J: "[f#6@31 ~]/2", K: "[e6@31 ~]/2",
  L: "c6@15 ~", M: "d6", N: "[c6@15 ~]/2", O: "[d6@31 ~]/2", P: "a5@15 ~", Q: "d6@15 ~", R: "e6@8 f#6@7 ~",
  S: "[g6@31 ~]/2", T: "[e6@7 ~]/2", U: "~@4 [e5,g5,c6] ~@3 [a5,c6]@2 ~@4 [e5,g5,c6]@2, ~@8 e5 ~@7",
  V: "~@2 e5 ~ [e5,g5,c6] ~@3 [e5,g5,c6] ~ [e5,a5,c6] ~@4 d#5", W: "[g5,c6]",
  X: "[~@16 d6@27 ~@5 c6@26 ~@6 e6@11 ~@5 d6@31 ~, ~@14 [d5,g5]@29 ~@3 d#5@27 ~@5 [e5,a5]@13 ~@3 [d5,f#5]@33 ~, ~@15 b5@28 ~@4 g5@26 ~@6 c6@11 ~@5 a5@32 ~]/8", // G5 A5 D
  Y: "e6@15 ~", Z: "f#6@3 ~", AA: "[[d#4,d#5]@31 ~, [a#4,g5]@29 ~@3]/2",
  AB: "[~@2 a5@27 ~@4 b5@27 ~@4, [f4,c5]@29 ~@2 [g4,d5]@29 ~@4, ~ f5@28 ~@3 g5@28 ~@4]/4", // F5 G5
  AC: "[d4,a4,d5,g5]@3 ~ [d4,a4,d5] ~@11, ~@2 f#5 ~@5", AD: "[d4,a4,d5,g5]@5 ~ [d4,a4,d5,f#5] ~@9",
  AE: "[~@2 a5@27 ~@3, [f4,c5]@29 ~@3, ~ f5@28 ~@3]/2", AF: "~@2 g5@7 ~@7, [g3,b4,d5]@9 ~@7",
})).s("gm_vibraphone").gain(0.37)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  A B@2 C@2 B@2 D A B@2 C@2 B@2 D A B@2 C@2 B@2 D A B@2 C@2 B@2 D E F G H I J K L K M N O P O E Q R S T U V W X Y Z AA
  AB AC AD AE AF@2 AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU E F G H I J K L K M N O P O E Q R S T U V W X Y Z AA AB
  AC AD AE AF@2 AG AV AG AH AI AJ AK AL AM AN AO AP AQ AN AO AP AQ AN AO AP AQ AN AO AP AQ AN AO AP AQ AN AO AP AQ AN AO
  AP AQ AN AO AP AW@8 ~
>`.pickRestart({
  A: "[g1,g2,b3,d4,g4]@3 ~ [g1,g2,b3,d4,g4] ~@5 [g1,g2,b3,d4,g4] ~@5", // G
  B: "[[g1,g2,b3,d4,g4] ~@7 [g1,g2,b3,d4,g4] ~ [g1,g2,b3,d4,g4] ~@3 [b1,a3,d4,f#4]@5 ~ [b1,a3,d4,f#4] ~@5 [b1,a3,d4,f#4] ~@5]/2", // G Bm7
  C: "[[b1,a3,d4,f#4] ~@5 [b1,a3,d4,f#4] ~@3 [b1,a3,d4,f#4] ~ [b1,a3,d4,f#4] ~ [g1,g2,b3,d4,g4]@6 [g1,g2,b3,d4,g4] ~@5 [g1,g2,b3,d4,g4] ~@5, ~@14 f1 ~@17]/2", // Bm7 G
  D: "[b1,a3,d4,f#4] ~@5 [b1,a3,d4,f#4] ~@5 [b1,a3,d4,f#4] ~@3", E: "[b3,d4,g4]@3 ~ [b3,d4,g4] ~@5 [b3,d4,g4] ~@5",
  F: "[b3,d4,g4] ~@5 [b3,d4,g4] ~@3 b3 ~ [b3,d4,g4] ~@3", G: "[b3,d4,f#4]@3 ~ [b3,d4,f#4] ~@5 [b3,d4,f#4] ~@3 b3 ~",
  H: "[b3,d4,f#4] ~@5 [b3,d4,f#4] ~@3 b3 ~ [b3,d4,f#4] ~@3", I: "[b3,e4,g4]@3 ~ [b3,e4,g4] ~@5 [b3,e4,g4] ~@3 b3 ~",
  J: "[b3,e4,g4] ~@5 [b3,e4,g4] ~@3 b3 ~ [b3,e4,g4] ~@3", K: "[c4,e4,a4]@3 ~ [c4,e4,a4] ~@5 [c4,e4,a4] ~@3 c4 ~",
  L: "[c4,f#4,a4] ~@5 [c4,f#4,a4] ~@3 c4 ~ [c4,f#4,a4] ~@3", M: "[c4,e4,a4] ~@5 [c4,e4,a4] ~@3 c4 ~ [c4,e4,a4] ~@3",
  N: "[d4,f#4,a4]@3 ~ [d4,f#4,a4] ~@5 [d4,f#4,a4] ~@3 d4 ~", O: "[d4,f#4,a4] ~@5 [d4,f#4,a4] ~@3 d4 ~ [d4,f#4,a4] ~@3",
  P: "[c4,e4,a4]@3 ~ [c4,e4,a4] ~@5 [c4,e4,a4] ~@5", Q: "[c4,e4,a4]@2 ~@4 [c4,f#4,a4] ~@3 c4 ~ [c4,f#4,a4] ~@3",
  R: "[b3,d4,g4]@3 ~ [d4,g4] ~@5 [b3,d4,g4]@2 ~@4", S: "[b3,d4,g4]@4 ~@2 [b3,d4,g4]@3 ~ b3 ~ [b3,d4,g4]@2 ~@2",
  T: "[b3,d4,f#4]@4 [b3,d4,f#4] ~@5 [b3,d4,f#4]@2 ~@4", U: "[b3,d4,f#4]@3 ~@3 [b3,d4,f#4]@3 ~@3 [d4,f#4] ~@3",
  V: "[b3,e4,g4]@3 ~ [b3,e4,g4]@2 ~@4 [b3,e4,g4]@3 ~@3", W: "[b3,e4,g4]@5 ~ [b3,e4,g4]@3 ~@3 [b3,e4,g4]@4",
  X: "[c4,e4,g4]@3 ~ [e4,g4]@2 ~@4 [c4,e4,g4]@3 ~@3", Y: "[c4,e4,g4]@4 ~@2 [e4,a4]@4 c4 ~ [c4,e4,g4]@3 ~, ~@3 c4 ~@4",
  Z: "[c4,d#4,g4]@4 [c4,d#4,g4]@2 ~@4 [c4,d#4,a4]@3 ~@3", // Cm Adim
  AA: "[c4,d#4,g4]@5 ~ [c4,d#4]@3 ~ c4 ~ [c4,d#4] ~ d#4 ~, ~@3 a4@2 ~ g4 ~", // Cm
  AB: "[b3,d4,g4]@3 ~ [b3,d4,g4]@2 ~@4 [b3,d4,g4]@3 ~@3", // G
  AC: "d4@2 d4 ~@3 [b3,d4,g4]@3 ~ [d4,g4] ~ d4 ~ d4 ~, [b3,g4]@5 ~@11", // G G5 Em
  AD: "[c4,d#4,g4]@3 ~ [c4,d#4,g4]@4 ~@2 [c4,d#4,g4]@3 ~@3", // Cm
  AE: "c4@5 ~ [c4,d#4,g4]@3 ~ [d#4,g4] ~ [d#4,g4] ~ d#4 ~, g4 ~@7, d#4 ~@15", // Cm D#
  AF: "[[c4,e4,a4]@3 ~ e4@4 [c4,e4,a4] ~ [c4,e4]@3 ~ [c4,d4,f#4]@3 ~@3 [d4,f#4,a4]@4 ~@2 [c4,d4,f#4]@3 ~@3, ~@10 a4@9 ~@7 a4@5 ~]/2", // Am C D7 D D7
  AG: "[d4,f#4,a4]@4 ~@2 [c4,d4,f#4,a4]@3 ~ c4 ~ [c4,d4,f#4,a4] ~ [d4,f#4,a4] ~", // D D7 D
  AH: "[b3,d4,g4]@3 ~ [b3,d4,g4] ~@5 [b3,d4,g4]@2 ~@4", // G
  AI: "[b3,d4,g4]@2 ~@4 [b3,d4,g4]@2 ~@2 b3 ~ [b3,d4,g4] ~ [d4,g4] ~", // G G5
  AJ: "[b3,d4,f#4]@4 [b3,d4,f#4]@2 ~@4 [b3,d4,f#4]@2 ~@2 b3 ~", // Bm
  AK: "[b3,d4,f#4]@3 ~ d4 ~ [b3,d4,f#4]@3 ~@3 [b3,d4,f#4] ~ [b3,d4,f#4] ~", // Bm
  AL: "[c4,e4,a4]@3 ~ e4 ~ [c4,e4,a4]@3 ~ e4 ~ [e4,a4] ~ e4 ~", // Am A5
  AM: "[c4,f#4,a4]@3 ~ f#4 ~ [c4,f#4,a4]@3 ~ [f#4,a4] ~ [f#4,a4] ~ [c4,f#4,a4] ~", // F#dim F#m F#dim
  AN: "[a#3,d#4,g4]@3 ~ [a#3,d#4,g4]@4 ~@2 [a#3,d#4,g4]@3 ~ a#3 ~", // D#
  AO: "[a#3,d#4,g4]@4 ~@2 [a#3,d#4,g4]@3 ~ [a#3,d#4,g4] ~ [a#3,d#4,g4] ~ [d#4,g4] ~", // D#
  AP: "[c4,f4,a4]@3 ~ [c4,f4,a4]@4 ~@2 [c4,f4,a4]@3 ~@3", AQ: "[c4,f4,a4]@4 ~@2 [c4,f4,a4]@3 ~ c4 ~ [c4,f4,a4]@3 ~",
  AR: "[b3,d4,g4]@3 ~ [b3,d4,g4]@3 ~@3 [b3,d4,g4]@3 ~ b3 ~", AS: "[b3,d4,g4]@4 ~@2 [b3,d4,g4]@3 ~ b3 ~ [b3,d4,g4]@3 ~",
  AT: "[a3,d4,g4]@3 ~ [a3,d4,f#4]@2 ~@10", AU: "[a3,d4,g4]@5 ~ [a3,d4,f#4]@2 ~@8",
  AV: "~@4 [d4,f#4,a4]@4 ~@2 [c4,d4,f#4]@3 ~@3, ~@10 a4@5 ~", // D D7
  AW: "[[c4,f4,a4]@4 ~@2 [c4,f4,a4]@3 ~ c4 ~ [c4,a4]@116, ~@12 f4@3 ~@113]/8", // F
})).s("gm_acoustic_guitar_steel").gain(0.48)

// chords · acoustic guitar steel · "STEEL GTR" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@32 A ~@11 B ~ C ~ D ~ A E A F G ~ C H I J K L M N O A@2 ~ P Q R ~ S T U ~ V ~@2 A ~@11 B ~ C ~ D ~ A E A F G ~ C H I
  J K L M N O N O A@2 ~ P Q R ~ S T U ~ S T U ~ S T U ~ S T U ~ S T U ~ S T U ~ S T U ~ S T U ~@8
>`.pickRestart({
  A: "~@14 b3 ~", B: "~@14 d4 ~", C: "~@14 c4 ~", D: "~@4 b3 ~@9 b3 ~",
  E: "~@4 [d4,f#4] ~@5 [b3,d4,f#4] ~ b3 ~ [b3,d4,f#4] ~", F: "~@10 b3 ~@5", G: "~@4 c4@2 ~@8 c4 ~",
  H: "~@10 d#4 ~@3 c4 ~", I: "f#4 ~@13 [b3,g4] ~", J: "~@4 d4 ~@5 b3 ~ [b3,g4] ~ [b3,g4] ~", K: "~@14 [c4,d#4,g4] ~",
  L: "~@2 [d#4,g4] ~ [d#4,g4] ~@5 c4 ~ c4 ~ [c4,g4] ~", M: "~ [c4,a4] ~@2", N: "~@2 [c4,d4,f#4] ~ c4@4 a4 ~@5 c4 ~",
  O: "c4@4 ~@6 [f#4,a4] ~@3 c4 ~", P: "~@4 [b3,f#4] ~@5 b3 ~@5", Q: "~@4 [c4,a4] ~@5 [c4,a4] ~ c4 ~ [c4,a4] ~",
  R: "~@4 [c4,a4] ~@5 c4 ~ c4 ~@3", S: "~@14 a#3 ~", T: "~@14 [c4,f#4] ~", U: "~@10 a4 ~@5", V: "~@10 g4 ~@5",
})).s("gm_acoustic_guitar_steel").gain(0.24)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  A@2 B@4 C@4 D@2 E@2 D@2 A@2 B@4 C@4 D@2 E@2 D@2 ~@16 F@2 D@2 G@2 H@2 I@2 J@2 K@2 L M@2 N@2 O@2 P Q R@2 S@2 T@2 U V
  ~@16 F@2 D@2 G@2 H@2 I@2 J@2 K@2 L M@4 N@2 O@2 P Q R@2 S@2 R@2 S@2 R@2 S@2 R@2 S@2 R@2 S@2 R@2 S@2 R@2 S@2 R@2 S@2 W
  ~@7
>`.pickRestart({
  A: "[g5@31 ~]/2", B: "[[d5,f#5] g5]/4", C: "[[d5,f#5]@32 g5@31 ~]/4", D: "[d5,f#5]/2", E: "g5/2", F: "[d5,g5]/2",
  G: "[e5, b4@7 ~]/2", H: "[c5,e5,g5]/2", I: "[c5,d#5,g5]/2", J: "[b4,d5,g5]/2", K: "[[c5,g5], d#5@7 ~]/2",
  L: "[c5,e5,a5]", M: "[c5,d5,f#5,a5]/2", N: "[b3,d4,g4]/2", O: "[b3,d4,f#4]/2", P: "[c4,e4,a4]", Q: "[c4,f#4,a4]",
  R: "[a#3,d#4,g4]/2", S: "[c4,f4,a4]/2", T: "[[d4,g4], b3@3 ~]/2", U: "[a4,d5,g5]@3 ~ [a4,d5,f#5]@2 ~@10",
  V: "[a4,d5,g5]@5 ~ [a4,d5,f#5] ~@9", W: "[d4,g4,b4]@3 ~",
})).s("gm_string_ensemble_1").gain(0.17)

// other · marimba
const marimba = note(`<
  ~@47 A ~@6 B C D E F G D H@4 ~@12 I J ~@15 A ~@6 B C D E F G D H@4 ~@15 K L M N O L M P Q L M N L@2 M N L@2 M N L@2 M
  L M R ~@7
>`.pickRestart({
  A: "[c5,e5,g5] ~ [c5,e5,a5] ~@5 [a4,d5,g5] ~ [a4,d5,f#5] ~@5", B: "~@4 [c4,e4,g4] ~@3 [c4,e4,a4] ~@5 [c4,e4,g4]@2",
  C: "~@2 c4 ~ [c4,e4,g4] ~@3 [c4,e4,g4] ~ [c4,e4,a4] ~@5", D: "~@4 [c4,d#4,g4] ~@3 [c4,d#4,a4] ~@5 [c4,d#4,g4]@2",
  E: "~@2 c4 ~ [c4,d#4,g4] ~@3 [c4,d#4,g4] ~ [c4,d#4,a4] ~@5", F: "~@4 [g3,b3,d4] ~@3 [g3,b3,e4] ~@5 [g3,b3,d4]@2",
  G: "~@2 g3 ~ [g3,b3,d4] ~@3 [g3,b3,d4] ~ [g3,b3,e4] ~@5", // G Em
  H: "[~@2 c4 ~ [c4,d#4,g4] ~@3 [c4,d#4,g4] ~ [c4,d#4,a4] ~@5 [c5,e5]@10 ~@6 d5@29 ~@3, ~@15 e4@13 ~@2 d4@31 ~@3, ~@16 a4@12 ~@3 [f#4,a4]@30 ~@3]/4", // Cm Adim C F#m
  I: "[a4,d5,g5]@3 ~ [a4,d5] ~@11, ~@2 f#5 ~@5", J: "[a4,d5,g5]@5 ~ [a4,d5,f#5] ~@9",
  K: "~@8 [e3,f3,g3,a3,b3] [c4,d4,e4] [f4,g4,a4] [b4,c5,d5] [e5,f5] [g5,a5] [b5,c6] d6", // Em C F Bm Fmaj7 Gsus2 Cmaj7
  L: "[g4,g5,g6] ~ [g4,g5,g6] ~@3 [g4,g5,g6] ~ [g4,g5,g6] ~@3 [g4,g5,g6] ~ [g4,g5,g6] ~", // G
  M: "~@2 [g4,g5,g6] ~ [g4,g5,g6] ~@3 [g4,g5,g6] ~ [g4,g5,g6] ~@3 [g4,g5,g6] ~", // G
  N: "[g4,g5,g6] ~@3 [g4,g5,g6] ~ [g4,g5,g6] ~@3 [g4,g5,g6] ~ [g4,g5,g6] ~@3", // G
  O: "[g4,g5,g6] ~ [g4,g5,g6] ~@3 [g4,g5,g6] ~@3 [g4,g5,g6] ~ [g4,g5,g6] ~ [g4,g5,g6] ~", // G
  P: "[g4,g5,g6] ~ [g4,g5,g6] ~@3 [g4,g5,g6] ~@3 [g4,g5,g6] ~@3 [g4,g5,g6] ~", // G
  Q: "~@2 [g4,g5,g6] ~@3 [g4,g5,g6] ~ [g4,g5,g6] ~@3 [g4,g5,g6] ~ [g4,g5,g6] ~", R: "[g4,g5,g6] ~@7",
})).s("gm_marimba").gain(0.36)

// drums · kick
const kick = s("bd").struct(`<
  A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A
  B A B A B C A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B C B C A B A B
// … 53 more lines

More by Jones Grace