Strudelify

Where Were You (When the World Stopped Turning) (live, CMA Awards)

Alan Jackson

KeyC majorTempo115 bpm
0:00/0:00
// Where Were You (When the World Stopped Turning) (live, CMA Awards) — Alan Jackson
// 115 bpm, 4/4, key C major. 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 142 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(115/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(`<
  ~@12 A B A C A B D A E F@2 G H F@2 G C A B A C A B D I@2 J K L M N O P Q J K L M N O R S@2 T U V W T X Y Z A B A C A B
  D A E T U V W T X Y Z A B A C A B D A@2 B A C A B D I@2 J K L M N O P Q J K L M N O R A J K L M N O P Q J K L M N O R
  S@4 AA@2 ~@4 AB@4
>`.pickRestart({
  A: "f1", B: "c2", C: "c2@7 ~", D: "a1", E: "g1@7 ~", F: "c2/2", G: "g1", H: "c2@15 ~",
  I: "[~@16 f2@3 ~ f2@2 ~@2 f2@4 f1@2 ~@2, f1@21 ~ f1@5 ~@5]/2", J: "f1@3 f1 f2@2 e2 d2", K: "c2@5 ~ c2 ~ c2@6 g1 ~",
  L: "f1@5 ~ f1@2 f2@6 e2@2", M: "c2@5 ~ c2 ~ c2@2 g1 ~ d2 ~ e2 ~", N: "f2@5 ~ f2 ~ f2@4 e2@2 d2@2",
  O: "c2@6 g1 ~ c2@5 ~ c2 ~", P: "a1@5 ~ a1 ~ a1@4 a2@2 a1 ~", Q: "f1@5 ~ f1 ~ f1@2 f2@2 e2@2 f1@2",
  R: "g1@8 g2@4 g1@3 ~", S: "[f1@23 ~ g1@7 ~]/2", T: "c2@7 g1", U: "c2@13 ~ c2@2", V: "g1@13 ~ g2@2",
  W: "c2@9 ~ c2@4 c2 ~", X: "c2@11 ~ c2 ~ c2@2", Y: "g1@5 g2 g1 g2", Z: "c2@5 ~ c2 ~ c2@5 ~ c2 ~", AA: "[f1@15 ~]/2",
  AB: "[~@15 c2@41 ~@8]/4",
})).s("gm_electric_bass_finger").gain(0.36).pan(0.6)

// chords · piano
const piano = note(`<
  ~@2 A@2 B@2 C D B@2 C D E F E G E F H I J K L M N O P Q R E F E G E F S T@2 U V W X Y Z AA AB U V W X Y AC AD AE@2 B@2
  C D B@2 C D E F E G E F H I J K L M N O P Q R E F E G E F S AF E F E G E F S T@2 U V W AG Y Z AA AB U V W X AH AI AJ
  AK AL AM W X Y Z AA AB U V W AG Y AC AD AE@4 AN AO B@2 ~@2 AP@4
>`.pickRestart({
  A: "[[c2,d4]@29 ~@3, c4@27 ~@5]/2", B: "[~@8 [c4,f4]@7 ~, c2@29 ~@3]/2", C: "g3", D: "c3@13 ~@3", E: "[f2,a3,c4,f4]",
  F: "[c2,g3,c4]", G: "[g3,c4]@11 ~@5, c2@13 ~@3", H: "[a2,a3,c4,e4]", I: "c4@3 [g3,c4], f2", J: "g2@3 ~, g3@5 ~@3",
  K: "[c4,e4]!2, [c2,g3]", L: "~@5 c4@3, [c3,e4,g4], c4@5 ~@3, ~ g3", M: "g3@5 ~@2 a3, [b3,d4], ~@5 g3@3",
  N: "~@3 d4, c3, ~@3 c4@5", O: "c4@7 c4, e4", P: "~@3 e4, [c3,c4,g4], ~@5 g3@3", Q: "~@7 g3, g2, ~@3 a3",
  R: "~@6 d4@2 ~@2 d4@2 c4@2 g3 ~, c3@15 ~, ~ g3@3 ~@4, ~ c4 e4 ~", S: "~@3 c4@5, a2, ~@2 e3@9 ~@5, ~ a3@3",
  T: "[a3@20 ~@6 a3@2 [f2,a3,c4,f4] ~@3, f2@11 f2@3 ~@2, c4@8 ~@2 a3@3 ~@3, e4 ~@19 f4@8 ~@4, ~@5 c4!2 ~]/2", // F
  U: "a3@3 ~@3 a3@2, [c4,f4]@5 [c4,f4]@3, f2!2, ~@3 a3@3 ~@2", // F5
  V: "g3@4 ~ [c4,e4,g4] ~ c4, c3@3 ~, [c4,e4]@5 ~ [d4,g4]@2, ~@2 g3 ~", // C G5
  W: "~@3 f4 ~ e4@3, f3@3 ~, ~ c4@2 ~, ~@2 [f4,a4] ~, ~@10 g4@3 ~@3", // F
  X: "~@5 g3 [b3,d4,g4]@2, c3, [c4,e4,g4]@2 [c4,e4,g4] ~, ~ e3@2 ~, ~@3 g3@2 ~@3", // G C
  Y: "f3@3 ~@4 f3, a3, c4@3 [g3,c4], f2 ~@5 f3@8 ~@2, ~@5 f2@3", // C5
  Z: "~@3 d4 ~@2 [c4,e4,g4]@2, c3, ~ g3@3 ~ g3@3, ~ c4 e4 ~", AA: "[a3,c4,e4]@4 [a3,c4,e4] [g3,b3,e4]@3, a2",
  AB: "~@10 [f3,c4]@2 [g3,c4]@2 f3 ~, f2@15 ~, a3@13 ~@3, c4@5 ~@3, ~@6 c3@7 ~@3", // F5 C5
  AC: "~@6 d4@2 ~@4 [c4,e4,g4]@3 ~, c3@15 ~, ~@2 g3@6 ~@2 g3@5 ~, ~ c4 e4 ~", // C
  AD: "~@3 d3 ~@2 g3@2, g2, [g3,b3,d4]@2 [a3,d4] ~, ~@5 d3@3", AE: "[[f3,c4,f4,a4]@12 [g2,g3,b3,d4]@3 ~]/2",
  AF: "[f2,a3,c4], e4 ~@15", AG: "~@4 [c4,e4,g4] g3 [b3,d4,g4]@2, c3, [c4,e4,g4] ~, ~ e3@2 ~, ~@3 g3@2 ~@3",
  AH: "f3@6 ~@6 [g3,c4]@2 f3 ~, a3@15 ~, c4@3 ~, f2 ~@5 f3@8 ~@2, ~@10 f2@5 ~", // C5
  AI: "[c3,c4,e4,g4]@5 ~ [c3,c4,e4,g4] ~@3 [c3,c4,e4]@2 ~@2 c4@2, ~@5 g4@3, ~@3 d4", // C
  AJ: "~@6 d3@2 a3@4 g3@3 ~, g2@3 ~, ~@4 g3@4 d4@7 ~",
  AK: "f3@5 ~ [f3,c4,f4,a4] ~ [f3,c4,f4,a4] ~ [f3,c4,f4,a4] ~ [f3,c4,f4,a4] ~ [f3,c4,f4,a4] ~", // F
  AL: "[f3,c4,f4,a4]@5 ~ a4@3 ~@3 f4@3 ~, ~@6 [f3,c4]@9 ~, ~@3 f4@3 ~@2, ~@10 g4@5 ~", // F F5
  AM: "[c3,c4,e4,g4]@5 ~ [c3,c4,e4,g4] ~@3 [c4,g4]@2 [d4,g4]@2 c4 ~, ~@10 c3@5 ~, ~@10 e4 ~@5", // C C5 G5
  AN: "[c5,a5]@6 ~@2 [d5,b5]@7 ~", AO: "[e5,c6]@7 ~", AP: "[~@15 [c2,e4]@45 ~@4, ~@15 [g3,c4]@41 ~@8]/4",
})).s("gm_piano").gain(0.31).pan(0.7)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@4 A@2 B ~ A@2 B ~@2 C ~ D ~ C ~ E ~ F ~ G ~ H ~ I ~@2 C ~ D ~ C ~@2 J ~@7 K ~@9 A@2 B ~ A@2 B ~@2 C ~ D ~ C ~ E ~ F
  ~ G ~ H ~ I ~@2 C ~ D ~ C ~@3 C ~ D ~ C ~@2 J ~@7 K ~@7 L ~@7 K ~@13 A@2 ~@2 M@4
>`.pickRestart({
  A: "[e4@29 ~@3, c4 ~]/2", B: "~@3 d4@5", C: "e4", D: "e4@13 ~@3", E: "[f3,a3]", F: "~ g4", G: "g2", H: "[c3,g3]",
  I: "[b3,d4], g3@7 ~", J: "~ f4@3 ~@12, c4 ~@3", K: "f3@5 ~@3", L: "~@4 c4 ~@11", M: "[~@15 c3@43 ~@6]/4",
})).s("gm_piano").gain(0.15).pan(0.7)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  ~@2 A@2 B@2 C D B@2 C D E F G H E I J K L B@2 C D B@2 C D E F G H E I M N O P Q R S T U@2 V P Q R S T W X Y@2 B@2 C D
  B@2 C D E F G H E I J K L B@2 C D B@2 C D E F G H E I M Z@2 F G H E I M N O P Q R S T U@2 V P Q R S T W AA AB P Q R S
  T U@2 V P Q R S T W X Y@4 AC AD AE@3 AF@4 ~
>`.pickRestart({
  A: "[~@4 d4@2 ~@22 g3@2 g4 ~, c3@31 ~, ~@2 g3@24 d4@5 ~, ~@3 g4@3 g4@3 d4@3 g4@3 ~, ~@10 d4@4 c5@6 g4@2 c5@9 ~]/2",
  B: "[~@28 f4@2 d4 ~, c3@14 d4@10 g3@7 ~, ~@2 g3@6 g3@2 g4@6 c3@15 ~, ~@4 d4@8 g3@5 ~ g3@4 c5@9 ~, ~@6 c5@11 ~@3 f4@6 d4@4 ~@2]/2",
  C: "~@12 d4@2 g3 ~, g3@2 g3@2 g3@3 ~, ~ d4@5 ~@2, ~@6 a4@9 ~, ~@10 g4@5 ~",
  D: "~@12 g3@2 d4 ~, c3@15 ~, d4@6 g4@9 ~, ~@2 g3@8 c4@5 ~, ~@2 c4@2 d4@3 ~",
  E: "~@4 c4@2 ~ f4, f3, ~ a3@7, ~ c4 ~ c4, ~@3 f4@4 ~", F: "~@7 c4, c3, ~ e4@3 e4@4, ~@2 d4@3 d4@3, ~@3 g3@3 g3@2",
  G: "~@3 e4, f3, ~ a3@7, ~@2 c4@3 c4@3, ~@3 f4@5",
  H: "~@10 c4@2 d4@2 g3 ~, c3, ~@2 g3@6 g3@5 ~@3, ~@2 c4@3 ~@3, ~@3 d4@3 ~@2",
  I: "~@12 g3@2 c4 ~, c3@7 ~, ~ e4@3 e4@3 ~, ~@2 d4@3 d4@2 ~, ~@3 g3@3 ~@2",
  J: "~@7 a3, a2, e4 e3, ~ c4@4 e4@3, ~@2 e3 a3@3 c4@2", K: "~@7 d4, f3@3 c4, ~ a3@7, ~@2 c4@2 c4 e4@3, ~@3 f4@5",
  L: "g2@15 ~", M: "~@7 e4, a2@3 e3, ~ e3@3 e3 c4@3, ~ a3@3, ~@3 b3@5", N: "~ c4@3, f3, ~ a3@7",
  O: "[f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~", // F
  P: "f4 ~ f4 ~@2 f4@2 f4, [c4,a4]@5 [c4,a4]@3, f3!2, ~@3 f4@2 ~@3", // F
  Q: "~ c4@3 c4@2 ~@6 c4@2 c4@2, [c3,g4]@7 [c3,g3]@3 [c3,g3]@6, ~ e4@7 ~@4 [e4,g4]@4, ~@3 c4 [c4,e4,g4]@2 ~@2", // C5 Em C
  R: "~@2 [c4,f4,a4]!2, f3@3 f3@5, ~ c4 ~@2", S: "c4@2 ~@2 [e4,g4]!2 c4!2, [e4,g4]@2 ~ [e4,g4], c3@3 c3@5, ~ c4!2 ~",
  T: "c4 ~@3 c4 ~@2 c4, [f4,a4]@2 [f4,a4]!2, f3@3 f3@5, ~@2 c4@2 ~ c4@2 ~", // F
  U: "[~@15 c4, c3@8 ~@3 c4@4 ~, ~ c4@5 c4@6 c4@4 a3@8 a3@8, ~ g4@3 g4@4 ~@2 e4@3 e4@3, ~@2 e4@3 e4@2 e4@2 c4@2 a4@5]/2",
  V: "~@6 a4 f3, f3@3 f3@2 f3@2 ~, ~@2 f4@5 ~, ~@4 g4@3 ~",
  W: "~@6 c4 e4, c3@15 ~, ~ c4@5 c4@6 ~@4, ~@2 g4@6 g4@7 ~, ~@2 e4@3 e4@2 ~",
  X: "~@3 b4, g3, ~ b3@3, ~@3 d4@2 d4@3, ~ g4", Y: "[[f3,a4]@12 [g3,b3]@3 ~]/2",
  Z: "[~@12 c4@2 ~ f4, f3 f3, ~ a3@8 a3@7, ~ c4@4 c4 ~ c4, ~@11 f4@4 ~]/2",
  AA: "g3@3 ~@2 g3 ~@2 [g3,b3,d4]@4 [g3,b3,d4]@4, [g2,b3,d4]@7 g2@9, ~@3 g3 ~@4", // G
  AB: "[f3,a3,c4]@5 ~ [f3,a3,c4,f4,a4] ~ [f3,a3,c4,f4,a4] ~ [f3,a3,c4,f4,a4] ~ [f3,a3,c4,f4,a4] ~ [f3,a3,c4,f4,a4] ~", // F
  AC: "~@3 a4 ~@3 g4, f3!2, a4@3 ~ g4@3 ~, ~ a3@3 ~@4, ~@2 c4@2 ~ c4@3", AD: "[f3,f4]@13 ~@3",
  AE: "[~@28 f4@2 d4 ~ g2@16, c3@7 d4@5 [d3,g3]@2 f3@6 ~@4, ~@2 g3@6 g3@2 g4@6 c3@4 f4@6 [e3,d4]@5 ~ g3@13 ~@3, ~@4 d4@8 g3@5 ~ g3@4 [c3,c5]@9 ~@17, ~@6 c5@11 ~@3 g2@11 ~@17]/3", // G5 E7 C
  AF: "[~@31 g4@30 ~@3, ~@3 c3@13, ~@16 g3@45 ~@3, ~@5 c4@10 ~, ~@25 d4@36 ~@3]/4",
})).s("gm_acoustic_guitar_nylon").gain(0.31).pan(0.4)

// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~@2 A@2 ~@3 B ~@3 B ~@6 C D E F@2 G H@3 I J K L M N O P Q R@2 S T U V W X Y Z S T U V AA X AB AC AD ~@3 B ~@3 B ~@6 C
  D E F@2 G H@3 I J K L M N O P Q AE@3 AF@5 AG@5 AH@8 AI@8 AJ@8 AK@5 AL@2 AM@3 ~@8
>`.pickRestart({
  A: "[~@6 c5@10 ~@2 d4@5 ~@2 g4 c5@4 ~@2, c3@23 ~@9, ~@4 d4@13 g4@6 ~ d4@2 ~@6, ~@5 g4@11 c5@7 ~@9]/2",
  B: "c4@2 e4 f4@2 e4 d4 c4", C: "~@3 d4, ~ a3@4 ~@3, ~@2 b3@3 ~@3, ~@3 c4@5", D: "~ f4 ~ d4, f3@11 ~@5, ~ e4",
  E: "g3@3 ~, b3@5 ~@3", F: "[~@6 d4@4 e4@19 ~@3, c3@23 ~@9, ~@2 g3@21 ~@9, ~@2 c4@3 ~@11]/2", G: "g3@7 ~",
  H: "[~@2 c4@4 d4@4 e4@2 d4@2 c4@31 ~@3]/3", I: "g3", J: "e4@4 d4@4 c4@3 ~ e4@2 ~@2", K: "~@3 c5, ~ f4@3, ~ a4",
  L: "~@3 e5, ~ e5@2 ~, ~@3 d5@5, ~ c5", M: "d5@2 c5@5 ~", N: "~@3 d5, ~ g5@3, ~ e5", O: "f5", P: "e5@2 c5 b4",
  Q: "a4@3 ~", R: "[~@6 a5 g5 a5@2 c6@4 ~@2, ~@2 f5@13 ~@17, ~@4 e5@11 ~@17, ~@6 d5@9 ~@17, ~@4 c5@7 ~@5]/2",
  S: "~@2 f4 g4 a4@2 g4@2, ~@2 f3@9 ~@5", T: "e4@4 ~ c5 d5 e5", U: "f5@13 ~@3", V: "~@3 e5, e5@3 ~, ~ c5@3, ~ g5",
  W: "~@3 c5, f5@15 ~, ~@4 e5@11 ~, ~@8 d5@7 ~", X: "~@4 g4@2 ~ g4, ~@2 e5@9 ~@5, ~@4 d5@7 ~@5, ~@6 c5@5 ~ a4@4",
  Y: "a4 c5", Z: "~@6 d5 ~, a4@7 ~, ~@4 f5@3 ~", AA: "~@3 c5, f5@15 ~, ~@4 e5@11 ~, ~ d5",
  AB: "~ g5 ~ d5, ~ d5@5 ~@2, ~ g5", AC: "~@4 a4@2 f4@2 b4@2 ~@2 a4@2 b4 ~, f5@7 ~, ~@10 f4@5 ~", AD: "c5@7 ~ d5@6 ~@2",
  AE: "[~@6 a5 g5 ~@14 e5@2, ~@2 f5@13 ~@21 e5@8 ~@4, ~@4 e5@11 ~@9 a4@8 ~@6 d5@10, ~@6 d5@9 ~@5 f4@12 ~@16, ~@2 c5@5 c5@3 c5@2]/3",
  AF: "[d5 ~@6 d5 f5@4 e5@2 ~ b4 a4@3 ~, ~ c5@13 c5@6, ~@20 g5@13 ~@47, ~@24 e5@9 ~@47]/5",
  AG: "[~@12 a5@2 g5@2 a5@4 c6@8 ~@8 f4@2 g4@2 a4@4 g4@4 e4@8 ~@4 d5@2 e5@2 f5@13 ~@3, ~@2 f5@13 ~@65, ~@4 e5@11 ~@65, ~@6 d5@9 ~@19 f3@9 ~@37, ~@4 c5@25 c5@11]/5",
  AH: "[~@12 e5@4 ~@24 g4@4 ~@2 g4@2 a4@8 ~@20 d5@2 ~@6 f4@2 g4@2 a4@4 g4@4 e4@8 ~@4 d5@2 e5@2 f5@13 ~@3, e5@12 ~@4 f5@15 ~@41 f5@6 ~@50, ~@2 c5@12 c5@5 c5@9 c5@25 c5@11, ~@8 g5@8 ~@4 e5@11 ~@3 e5@9 ~@85, ~@24 d5@7 ~@5 d5@7 ~ a4@4 ~@16 a4@14 ~@4 f3@9 ~@37]/8",
  AI: "[~@12 e5@4 ~@24 g4@4 ~@2 g4@2 ~@6 a4@2 ~@4 g4@3 ~@5 f4@2 ~@6 [a4,f5]@2 b4 ~@5 f4@2 g4@2 a4@4 g4@4 e4@8 ~@4 d5@2 e5@2 f5@13 ~@3, e5@12 ~@4 f5@15 ~@21 g4@4 b4@7 ~@7 f4@4 f4@5 ~@3 f3@9 ~@37, ~@2 c5@12 c5@5 c5@17 c5@17 c5@11, ~@8 g5@8 ~@4 e5@11 ~@3 e5@9 ~@7 d4@7 ~ a4@5 ~@5 a4@8 ~@52, ~@24 d5@8 ~@4 d5@7 ~ a4@4 g3@15 ~@9 b4@4 ~@52]/8", // Dm
  AJ: "[~@12 e5@4 ~@24 g4@4 ~@2 g4@2 a4@8 ~@20 d5@2 ~@6 f4@2 g4@2 a4@4 g4@4 e4@8 ~@4 d5@2 e5@2 f5@13 ~@3, e5@12 ~@4 f5@15 ~@41 f5@6 ~@50, ~@2 c5@12 c5@5 c5@9 c5@25 c5@11, ~@8 g5@8 ~@4 e5@11 ~@3 e5@9 ~@85, ~@24 d5@8 ~@4 d5@7 ~ a4@4 ~@16 a4@14 ~@4 f3@9 ~@37]/8",
  AK: "[~@12 e5@4 ~@24 g4@4 ~@2 g4@2 ~@4 g5@4 ~@4 d5@4 ~@4 a4@2 f4@2 b4@2 ~@2 a4@2 b4 ~, e5@12 ~@4 f5@15 ~@25 g5@8 f5@14 ~@2, ~@2 c5@12 c5@5 c5@21, ~@8 g5@8 ~@4 e5@11 ~@3 e5@9 ~@7 d5@10 ~@20, ~@24 d5@8 ~@4 d5@7 ~ a4@4 ~@26 f4@5 ~]/5",
  AL: "[~@8 d5@6 ~@6 a4@2 f4@2 b4@2 ~@2 a4@2 b4 ~, c5, ~@8 f5@7 ~, ~@26 f4@5 ~]/2",
  AM: "[~@8 d5@6 ~@8 c4@2 ~@6 c3@2 [f2,a3]@13 ~@3, c5@15 ~, ~@2 f2 [f2,b3] ~@2, ~@4 c4 f3 ~ f3 ~@4, ~@3 c3 ~@4]/3", // F Fdim
})).s("gm_electric_guitar_jazz").gain(0.31).pan(0.8)

// other · fiddle
const fiddle = note(`<
  ~@11 A B C B ~ B C D E F ~@2 G ~ H@2 I A B C B ~ B C ~ J K ~@15 L M N@2 ~@5 A B C B ~ B C D E F ~@2 G ~ H@2 I A B C B
  ~ B C O ~ P Q R S@2 ~ O J K ~@15 L ~@15 L T L T U V ~@8
>`.pickRestart({
  A: "c4@8 e4@7 ~", B: "f4", C: "e4@15 ~", D: "a3@15 ~", E: "a3", F: "g3@13 ~@3", G: "b3", H: "[e4@15 ~]/2",
  I: "b3@15 ~", J: "~@3 f4", K: "a4@4 c5@7 ~@5", L: "a3 b3", M: "c4 [d4,f4]", N: "[g4@21 ~@11]/2", O: "a4, e4@13 ~@3",
  P: "[f3,f4]@8 [f3,a4]@7 ~", Q: "g4", R: "f4@9 ~@7", S: "[g4@4 e4@4 d4@4 c4@17 ~@3]/2", T: "c4@8 d4@7 ~", U: "f4 e4",
  V: "c4@13 ~@3",
})).s("gm_fiddle").gain(0.2).pan(0.2)

// other · fiddle · soft notes
const fiddle_soft = note("<~@15 A ~@8 B ~@7 A ~@4 C ~@28 A ~@8 B ~@7 A ~@6 D ~@5 C ~@45>".pickRestart({
  A: "e4@3 ~", B: "c4@3 d4", C: "~@9 f5@4 ~@3, ~@9 g5@2 ~@5", D: "~ a4",
})).s("gm_fiddle").gain(0.1).pan(0.2)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~@2 A@2 ~@34 B@2 C D E F G H B@2 C D E F I J K L@2 ~@8 M N O P@2 Q R S@4 T@2 U V W X Y Z AA AB ~ AC AD AE AF ~ AA AB
  AG AH AI B@2 C D E F G H B@2 C D E F AJ AK B@2 C D E F G H B@2 C D E F I J K J K AL AM ~@8
>`.pickRestart({
  A: "[[e3,g4]@15 ~, c5@7 ~]/2", B: "[f2 ~ a3 ~@2 e4 g4@2, [f5,a5] [e5,g5], ~@4 f3@7 ~ c4@8 ~@12]/2",
  C: "a4 f4@2 a4, [f5,a5]", D: "g4 e4, g5, ~@4 c4@3 ~", E: "[f3,c4,c5], f4@7 ~", F: "b4 c5, [e4,g5], c4@13 ~@3",
  G: "e4 a4, [a3,e5,a5]", H: "f4@6 ~@2 [c4,a5]@4 c6@3 ~, [f3,f5]@7 ~", I: "~@2 g4@2 [g2,b4]@3 ~, [g2,d4] ~",
  J: "[c4,a4] [d4,b4]", K: "[e4,c5]@4 [f4,d5]@3 ~", L: "[c3@19 ~@13]/2", M: "f2@2 ~ d4, ~ [f2,e4]",
  N: "~@12 c5@3 ~, [c3,e4]@15 ~, ~@4 g4@11 ~", O: "c5@8 e5@5 ~@3", P: "[~@4 d5@2 c5@6 b4@3 ~]/2", Q: "f2 [f2,c4]",
  R: "g4@13 ~@3, g3@5 ~@3", S: "g5/4", T: "[e5@15 ~]/2", U: "g4 b4 ~@2, g3@9 ~@7", V: "g4 e5 ~@2",
  W: "f3@2 ~ a3, f2@3 ~, ~@8 g3@7 ~", X: "~ c4, c3", Y: "f3", Z: "~ c4 ~ [g3,e4], c3 [c3,d4]",
  AA: "[f3,f4]@2 ~ a4, ~@8 [f3,g4]@7 ~", AB: "[c3,g4] [c3,c5]", AC: "~@4 f4@3 ~ [c4,a4]@4 [f3,c5]@3 ~, ~ f3@2 ~",
  AD: "f5", AE: "g5", AF: "f5 a5", AG: "[a2,a3] e4 d4 c4, ~ a2@2 ~", AH: "~ [c4,f4,a4] [f3,c5] [f3,e5], f3 ~",
  AI: "~ a5@2 ~, f3@3 ~, f5@9 ~@7", AJ: "[g3,d4,g4,b4] [g3,g4,d5]", AK: "~@4 f5@4 g5@4 [f4,a5]@3 ~, [f4,c5]@8 f4@3 ~@5",
  AL: "[f5,a5] g5", AM: "c6@7 ~",
})).s("gm_string_ensemble_1").gain(0.2).pan(0.6)

// chords · string ensemble 1 · soft notes
const string_ensemble_1_soft = note(`<
  ~@2 A@2 ~@37 B C ~@6 B C ~@4 D ~@9 E ~ F G ~ H ~@7 I J ~@2 K ~@8 L ~@8 B C ~@6 B C ~@6 B C ~@6 B C ~@6 M N ~@8
>`.pickRestart({
  A: "[g3@13 ~@3]/2", B: "e5", C: "a5", D: "e5, g4@3 ~", E: "~@4 f4@5 ~@7", F: "~@3 f5", G: "e5@9 ~@7", H: "[f3,a3] f3",
  I: "~@3 a4, ~ d5", J: "~@4 g5@3 ~", K: "~ f4", L: "g5@15 ~", M: "~ b5", N: "a5@7 ~",
})).s("gm_string_ensemble_1").gain(0.1).pan(0.6)

// drums · kick
const kick = s("bd").struct(`<
  ~@2 A ~@9 A ~@3 A ~@4 A ~@7 A ~@3 A ~@4 B A B C B@2 C D B A B C B@2 E A ~ B A B A B@7 C B@4 F B A B A B@7 C B@7 C B@4
  F B A B C B@2 C D B A B C B@2 E D B A B C B@2 C D B A B C B@2 E A ~ A ~ A ~@3 A ~@5
>`.pickRestart({
  A: "x", B: "x ~@6 x", C: "x ~@4 x ~ x", D: "x ~@2 x ~@4", E: "x ~@2 x ~@2 x ~", F: "x ~@5 x!2",
})).gain(0.41)

// drums · rim
const rim = s("rim").struct("<~@55 [~ x]!16 [~@3 x!2 ~@3] [~ x]!24 [~@3 x!2 ~@3] ~@45>").gain(0.41)

// drums · snare
const snare = s("sd").struct("<~@37 A B@15 ~@43 C B@15 D B@15 ~@14>".pickRestart({
  A: "~@3 x", B: "~ x", C: "~@7 x", D: "~@4 x!2 ~ x",
})).gain(0.46)

// drums · low tom
const low_tom = s("lt").struct("<~@45 A ~@5 B ~@2 B ~@41 C ~@7 A ~@5 B ~@9 A ~@5 B ~@15>".pickRestart({
  A: "~@3 x ~@4", B: "~@3 x", C: "~@5 x ~@2",
})).gain(0.46)

// drums · hihat
const hihat = s("hh").struct(`<
  A@2 B@36 C@2 D A C@2 D A C@2 D A C@2 D A D C@2 D@2 A@3 D A@2 D A@4 E@2 C@2 D@2 A@3 D A@2 D A@4 E A@2 D A@4 E@2 C@2 D A
  C@2 D A C@2 D A C@2 D A C@2 D A C@2 D A C@2 D A C@2 D A D A D A D B@2 ~@6
>`.pickRestart({
  A: "x!4", B: "~ x ~ x", C: "x!2", D: "x ~ x!2", E: "x!3 ~",
})).gain(0.36)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~@38 A@2 B ~ A@2 B ~ A@2 B ~ A@2 B ~ B C A B D ~@3 B ~@2 B ~@6 C A B D ~@3 B ~@2 B ~@7 B ~@6 A@2 B ~ A@2 B ~ A@2 B ~
  A@2 B ~ A@2 B ~ A@2 B ~ A@2 B ~ A@2 B ~ B ~ B ~ B ~@8
// … 57 more lines

More by Alan Jackson