Strudelify
Saint Agnes and the Burning Train cover art

1991 · The Soul Cages

Saint Agnes and the Burning Train

Sting

KeyE minorTempo110 bpm
0:00/0:00
// Saint Agnes and the Burning Train — Sting
// 110 bpm, 3/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 113 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(110/3)

// 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, A@4 for four bars: edit a riff to change every repeat.

// chords · acoustic guitar steel · "Guitar"
const acoustic_guitar_steel = note(`<
  ~ A B C@2 D E F G H@2 I@2 J K F G L@2 G M N F G@2 L@2 G O P F Q@2 R S@2 T U@2 V W F X Y@2 Z AA AB AC F AD L@2 AE@2 AF
  AG@2 AH L@2 G AI P AJ@3 AK F AL@2 AM AN Y@2 AO AP AQ AR AS AT Y@2 AA AU@2 AV F G Y@2 AW AX D N AY@2 Y AZ BA BB BC BD@2
  BE BF@6 ~@2
>`.pickRestart({
  A: "~ e2@4 [e3,g3,b3]@2 ~@6 [e3,g3]@3 e2@3 ~ [e3,g3,b3]@2 ~@2, ~@3 b3 ~@2", // Em
  B: "e2@2 [e3,g3,b3] ~@3 [e3,g3,b3]@2 e2@2 e3 ~", // Em
  C: "[f#2@4 [f#3,a3,c4]@2 ~@6 [f#3,a3,c4]@4 f#2@4 [f#3,a3,c4]@2 ~ f#2@4 ~ [f#3,a3,c4]@2 ~@6 [f#3,a3,c4]@4 f#2@4 [f#3,a3,c4]@2 ~@2]/2", // F#dim
  D: "d2@2 [d3,f#3,a3] ~@3 [d3,f#3,a3]@2 d2@2 [d3,a3] ~", E: "d2@4 [d3,a3]@2 ~@6 [d3,a3]@4 d2@3 [d3,a3]@3 ~@2",
  F: "c2@2 [c3,e3,g3] ~@3 [c3,e3,g3]@2 c2@2 [c3,e3,g3] ~", // C
  G: "b1@2 [b2,d#3,f#3] ~@3 [b2,d#3,f#3]@2 b1@2 [b2,d#3,f#3] ~", // B
  H: "[e2@3 ~ [e3,g3]@3 ~@5 [e3,g3,b3]@4 e2@3 ~ b3@2 ~ e2@4 [e3,g3,b3]@2 ~@7 [e3,g3,b3]@4 e2@3 [e3,b3]@2 ~@3, ~@3 b3@2 ~@14 [e3,g3]@2 ~@27]/2", // Em E5 Em
  I: "[f#2@3 ~ c4@2 ~@6 [a3,c4]@3 ~ f#2@3 [f#3,a3,c4]@2 ~@2 f#2@4 [f#3,a3,c4]@2 ~@7 [f#3,a3,c4]@3 f#2@4 ~ [a3,c4]@2 ~@2, ~@3 a3@3 ~@37 f#3@2 ~@3]/2", // Am F#dim Am
  J: "d2@3 ~ f#3@2 ~@6 [d3,a3]@4 d2@3 ~ [d3,a3]@2 ~@2, ~@3 [d3,a3]@2 ~@19", // D5
  K: "d2@2 [d3,a3] ~@3 [d3,f#3,a3]@2 d2@2 [d3,a3] ~", L: "a1@2 [a2,c3,e3] ~@3 [a2,c3,e3]@2 a1@2 [a2,c3,e3] ~",
  M: "e2@4 [e3,g3,b3]@3 ~@5 [e3,g3,b3]@4 e2@4 [e3,g3,b3]@2 ~@2", // Em
  N: "d2@3 [d3,a3]@2 ~@7 [d3,a3]@4 d2@4 [d3,f#3,a3]@2 ~@2", // D5 D
  O: "e2@4 [e3,g3,b3]@2 ~@6 [e3,g3]@4 e2@3 ~ g3@2 ~@2, ~@11 b3@3 ~@5 [e3,b3]@3 ~@2", // Em E5
  P: "d2@3 [d3,f#3,a3]@2 ~@7 [d3,f#3,a3]@4 d2@4 [d3,f#3,a3]@2 ~@2", // D
  Q: "b1@4 [b2,d#3,f#3]@2 ~@6 [b2,d#3,f#3]@3 ~ c2@4 [c3,e3,g3]@2 ~@2", // B C
  R: "b1@4 [b2,d#3,f#3]@2 ~@6 [b2,d#3,f#3]@3 c2@4 ~ [c3,e3,g3]@2 ~@2", // B C
  S: "[b1@3 ~ f#3@2 ~@6 [b2,d#3,f#3]@3 ~ b1@3 [b2,d#3,f#3]@2 ~@2 e2@4 [e3,g3,b3]@2 ~@6 [e3,g3,b3]@4 ~ e2@3 [e3,g3,b3]@2 ~@3, ~@3 [b2,d#3]@2 ~@43]/2", // B Em B
  T: "e2@3 [e3,g3,b3]@2 ~@7 [e3,g3]@4 e2@3 [e3,g3,b3]@2 ~@3, ~@11 b3@4 ~@9", // Em
  U: "[f#2@3 [a3,c4]@2 ~@7 [f#3,a3,c4]@4 f#2@3 [f#3,a3,c4]@2 ~@2 f#2@4 [f#3,a3]@2 ~@7 [f#3,a3,c4]@4 f#2@4 [a3,c4]@2 ~@2]/2", // Am F#dim F#m F#dim Am
  V: "d2@2 [d3,f#3,a3] ~@3 [d3,f#3,a3]@2 d2@2 [d3,f#3,a3] ~", W: "d2@2 [d3,a3] ~@3 [d3,a3]@2 d2@2 [d3,a3] ~",
  X: "b1@4 [b2,d#3]@2 ~@6 [b2,d#3,f#3]@4 b1@3 ~ [b2,d#3,f#3]@2 ~@2", // B
  Y: "e2@2 [e3,g3,b3] ~@3 [e3,g3,b3]@2 e2@2 [e3,g3,b3] ~", Z: "f#2@4 [a3,c4]@2 ~@6 [f#3,a3,c4]@4 f#2@3 ~ [a3,c4]@3 ~",
  AA: "f#2@2 [f#3,a3,c4] ~@3 [f#3,a3,c4]@2 f#2@2 [f#3,a3,c4] ~", // F#dim
  AB: "d2@4 [d3,f#3,a3]@2 ~@6 [d3,a3]@4 d2@3 ~ d3@3 ~, ~@19 a3@2 ~@3", // D D5
  AC: "d2@2 [d3,a3] ~@3 [d3,a3]@2 d2@2 [d3,f#3,a3] ~", AD: "b1@4 [b2,d#3,f#3]@2 ~@6 [b2,d#3,f#3]@3 b1@4 ~ b2@2 ~@2",
  AE: "[b1@3 ~ f#3@2 ~@6 [b2,d#3,f#3]@3 ~ b1@3 [b2,d#3,f#3]@2 ~@2 e2@4 [e3,g3,b3]@2 ~@7 [e3,g3,b3]@4 e2@3 [e3,g3,b3]@2 ~@3, ~@3 [b2,d#3]@2 ~@43]/2", // B Em B
  AF: "d2@3 [d3,a3]@2 ~@7 [d3,a3]@4 d2@4 [d3,a3]@2 ~@2", // D5
  AG: "[c2@4 [c3,e3,g3]@2 ~@5 [c3,e3,g3]@4 ~ c2@3 [c3,e3,g3]@2 ~@2 b1@4 [b2,d#3,f#3]@2 ~@7 [b2,d#3,f#3]@3 b1@4 ~ [b2,d#3,f#3]@2 ~@2]/2", // C B
  AH: "b1@2 [b2,d#3,f#3] ~@3 [b2,d#3,f#3]@2 b1@2 [b2,d#3] ~", // B
  AI: "e2@3 ~ g3@2 ~@6 [e3,g3,b3]@3 ~ e2@4 [e3,g3,b3]@2 ~@2, ~@3 [e3,b3]@2 ~@19", // Em E5
  AJ: "[c2@3 [c3,e3,g3]@2 ~@7 [c3,e3,g3]@3 c2@4 [c3,e3,g3]@2 ~@2 b1@4 [b2,d#3,f#3]@2 ~@7 [b2,d#3,f#3]@4 b1@4 [b2,d#3,f#3]@2 ~ c2@4 ~ e3 ~@7 [c3,e3,g3]@4 c2@4 [c3,e3,g3]@2 ~@2, ~@51 [c3,g3]@2 ~@19]/3", // C B C C5
  AK: "b1@3 ~ [b2,d#3,f#3]@2 ~@6 [b2,d#3,f#3]@4 b1@4 b2@2 ~@2", AL: "[b1,b2,d#3,f#3]@5 ~@3 [c2,c3,e3,g3] ~@3",
  AM: "[b1,b2,d#3,f#3]@11 ~@5 [c2,c3,e3,g3]@2 ~@6", AN: "[b1,b2,d#3,f#3]@17 ~@7",
  AO: "g#2@2 [e3,g#3,b3] ~@3 [e3,g#3,b3]@2 g#2@2 [e3,b3] ~", AP: "a2@2 [e3,a3,c4] ~@3 [e3,a3,c4]@2 a2@2 [e3,a3,c4] ~",
  AQ: "f#2@4 [f#3,a3,b3]@2 ~@6 f#3@3 f#2@4 ~ c3@2 ~@2, ~@19 [f#3,a3]@3 ~@2", AR: "b2 ~@7",
  AS: "e2@3 ~ g3@2 ~@6 [e3,g3,b3]@3 ~ b1@3 ~ [e3,g3,b3]@2 ~@2, ~@3 [e3,b3]@2 ~@19", AT: "e2 ~@7",
  AU: "[f#2@3 ~ [a3,c4]@2 ~@6 [f#3,a3,c4]@4 f#2@4 [f#3,a3,c4]@2 ~ d2@4 ~ [d3,f#3,a3]@2 ~@6 [d3,f#3,a3]@4 d2@4 [d3,f#3,a3]@2 ~@2, ~@3 f#3@2 ~@43]/2", // Am F#dim D
  AV: "d2@2 [d3,f#3,a3] ~@3 [d3,a3]@2 d2@2 [d3,a3] ~", // D D5
  AW: "f#2@4 [f#3,a3,c4]@2 ~@6 [f#3,a3,c4]@4 f#2@3 [f#3,a3,c4]@2 ~@3", // F#dim
  AX: "f#2@3 [f#3,a3,c4]@2 ~@7 c4@4 f#2@3 [f#3,a3,c4]@2 ~@3, ~@11 [f#3,a3]@4 ~@9", // F#dim F#m
  AY: "[c2@4 [c3,e3,g3]@2 ~@6 [c3,e3,g3]@4 c2@4 [c3,e3,g3]@2 ~ b1@4 ~ [b2,f#3]@2 ~@6 b2@4 b1@3 ~ [b2,f#3]@2 ~@2, ~@27 d#3@2 ~@6 [d#3,f#3]@5 ~@3 d#3@2 ~@3]/2", // C B5 D#m
  AZ: "e2@4 [e3,g3,b3]@2 ~@6 [g3,b3]@4 e2@3 ~ [e3,g3,b3]@2 ~@2", BA: "e2@4 [e3,g3,b3]@3 ~@5 b3@4 e2@4 [e3,g3,b3]@2 ~@2",
  BB: "e2@4 [e3,g3,b3]@2 ~@7 g3@3 e2@4 ~@4, ~@3 [e3,b3] ~@2", BC: "e2@3 b3@2 ~@11 e2@4 e3@2 ~@2",
  BD: "[e2@3 ~ g3@2 ~@10 e2@4 b3@2 ~ e2@4 ~ g3@2 ~@6 [e3,g3,b3]@4 e2@3 ~ [e3,b3]@2 ~@2, ~@3 [e3,b3]@2 ~@22 b3@3 ~@18]/2", // Em E5
  BE: "e2@2 b3 ~@3 [g3,b3]@2 e2@2 e3 ~", BF: "[~ g3@142 ~, [e2,e3,b3]@143 ~]/6",
})).s("gm_acoustic_guitar_steel").gain(0.18)

// chords · acoustic guitar steel · "Guitar" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@2 A ~@2 B C ~@3 D E ~ F G ~@6 E ~@15 H I ~ J ~ K ~@2 G ~ F L ~ M ~@4 C ~@2 B ~@8 M ~@7 N ~ O ~@8 F ~@6 B E ~@3 P Q R
  S T U V ~@8
>`.pickRestart({
  A: "~@21 g3 ~@2, ~@10 b3 ~", B: "~@10 f#3 ~", C: "~@4 f#3@2 ~@6 f#3@4 ~@3 f#3@3 ~@2", D: "~@20 g3 ~@3",
  E: "~@3 f#3@2 ~@7 f#3@4 ~@8", F: "~@6 f#3@2 ~@2 f#3 ~", G: "~@2 f#3 ~@7 f#3 ~", H: "~@3 f#3@2 ~@19",
  I: "~@3 c4@2 ~@15 f#3@2 ~@2", J: "~@2 f#3 ~@3 f#3@2 ~@2 f#3 ~", K: "~@2 f#3 ~@9", L: "~@2 f#3 ~@3 f#3@2 ~@4",
  M: "~@10 [d#3,f#3] ~", N: "~@10 g#3 ~", O: "~@4 [a3,c4] ~@3", P: "~@3 e3 ~@2", Q: "~@3 [e3,g3] ~@2",
  R: "~@10 [e3,g3,b3] ~", S: "~@2 g3 ~@3 [e3,g3,b3]@2 ~@2 [g3,b3] ~, ~@3 e3@2 ~@19",
  T: "~@6 [e3,g3,b3]@2 ~@2 [e3,g3] ~", U: "~@3 e3@3 ~@14 g3@2 ~@2", V: "~@2 [e3,g3] ~@3 e3@2 ~@2 [g3,b3] ~",
})).s("gm_acoustic_guitar_steel").gain(0.11)

// bass · electric bass finger · "Bass"
const bass = note(`<
  ~ A@2 B@2 C@2 D E A F G@2 C H D E I@2 E A C J E@2 I K L@2 C M@2 N@2 O@2 A B P C@2 D E Q A R B C@2 D E I K S@2 C M@2 E
  I K E A C T@4 J U V W@2 X Y Z AA AB AC AD AE AF Q P@2 C@2 D AG A@2 B@2 C@2 AH E AI@2 AJ@2 AK@2 AL@2 AM@8
>`.pickRestart({
  A: "e2@7 ~", B: "f#2@7 ~", C: "d2@5 ~", D: "c2@5 ~", E: "b1@5 ~", F: "e2@2 ~", G: "[f#2@21 ~@2 f#2@20 ~@5]/2",
  H: "d2@7 ~", I: "a1@7 ~", J: "c2@11 ~", K: "a1@3 ~", L: "[b1@19 ~@4 e2@21 ~@4]/2", M: "[c2@20 ~@3 b1@21 ~@4]/2",
  N: "[b1@17 ~@6 b1@19 ~@6]/2", O: "[b1@21 ~@2 e2@21 ~@4]/2", P: "f#2@19 ~@5", Q: "e2@19 ~@5", R: "~ f#2@18 ~@5",
  S: "[b1@17 ~@6 e2@20 ~@5]/2", T: "[c2@20 ~@3 b1@46 ~@2 b1@23 ~@2]/4", U: "b1@5 ~@3 c2@2 ~@2", V: "b1@3 ~ c2 ~",
  W: "[b1@12 ~@4 c2@4 ~@3 b1@13 ~@12]/2", X: "e2@14 ~@2 e2 e2@5 ~@2", Y: "e2@14 ~@2 e2@5 ~@3",
  Z: "g#2@12 ~@3 g#2 g#2@5 ~@3", AA: "a2@12 ~@4 a2@5 ~@3", AB: "f#2@13 ~@3 f#2@5 ~@3", AC: "b2 ~@5", AD: "e2@3 ~ b1 ~",
  AE: "e2@5 ~@19", AF: "e2@3 ~ e2 ~", AG: "b1@17 ~@7", AH: "b1@7 ~ b1@4 ~ c2@11", AI: "[~ e2@39 b1@8, ~ f2 ~@46]/2",
  AJ: "[e2@5 b1]/2", AK: "[e2@37 ~@3 b1@5 ~@3]/2", AL: "[e2@41 ~@7]/2", AM: "[e2@41 e2@138 ~@13]/8",
})).s("gm_electric_bass_finger").gain(0.18)

// chords · piano
const piano = note("<~@35 A B@7 C@8 D@2 ~@14 E@3 F G H ~@24 I@2 J@2 K@4 L@3 ~@5>".pickRestart({
  A: "~@3 e5@2 ~ e5@3 e5@2 e4@3 e5@3 [e4,e5]@2 e5@2 ~ e5@2, e4@2 e4@2 ~ e4@2 ~@14 e4@2 ~, ~ e5@2 ~@8 e5@2 ~@11", // E
  B: "[~@2 e4@2 ~ e4@2 [e4,e5]@2 ~@2 e4@2 e4@2 e4@2 e4 ~@6 f#5@2 ~ f#5@2 ~@2 f#4@2 ~ f#4@2 [f#4,f#5]@2 ~ f#5@2 ~@3 f#5@2 ~@2 f#4@2 f#5@2 ~@3 f#5@2 ~@20 d4@2 ~ d4@2 ~ d4@2 ~@2 f#5@2 ~ f#5@2 ~@3 f#5@2 ~@2 [d4,d5]@2 ~ d4@2 ~ d4@2 [d4,f#5]@2 ~ [d4,d5]@2 ~ d4@2 ~@5 [c4,e5]@2 ~@2 [c4,c5]@2 ~ c5@2 [c5,e5]@2 ~@2 c4@2 ~ c4@2 e5@2 ~@5 b3@2 ~ b3@2 ~ b3@2 ~ b3@2 ~@8 b3@4, ~ e5@3 e5@3 ~@2 e4@2 ~@7 [e4,e5]@48 ~@6 d4@2 d5@2 [d5,f#5]@3 [d5,f#5]@3 [d5,f#5]@3 [d5,f#5]@3 ~@5 f#5@2 ~@3 f#5@3 [d5,f#5]@3 f#5@3 ~@2 f#5@3 [d5,f#5]@3 ~@8 e5@3 e5@3 ~@3 e5@3 e5@3 ~@2 e5@28, ~@10 e5@3 e5@5 ~@8 f#4@2 ~ f#4@2 ~@7 f#4@2 ~ f#4@2 f#4@3 f#4@2 ~@4 f#4@2 f#4@3 f#4@3 f#4@4 f#4@48 ~@10 c4@2 ~@3 c4@4 c4@2 ~@5 c4@30, ~@30 f#5@3 f#5@3 ~@6 f#5@2 ~@3 f#5@3 ~@3 f#5@2 ~@3 f#5@4 f#5@11 f#5@2 d4@2 ~@9 d4@3 d4@3 d4@2 d4@3 d4@2 ~@16 [d4,f#5]@44 [b4,d#5]@9, ~@143 b3 d#5@3 [b4,d#5]@3 d#5@3 [b4,d#5]@3 d#5 b3@7 ~@4]/7", // E F# D C E D B
  C: "[e4 e5@2 [e4,e5]@3 ~@2 e4@2 e5@2 ~ e5@2 ~@2 e4@2 ~@2 [e5,g5]@2 ~ [e5,g5]@2 ~ [e5,g5]@2 ~@2 e4@2 ~@5 e5@2 ~@8 [f#4,f#5]@2 ~@2 f#4@2 ~ f#4@2 ~@2 f#5@2 ~ f#5@2 ~@2 f#4@2 ~@12 f#5@5 ~@10 d4@2 ~ d4@2 ~@8 [d5,f#5]@4 ~@2 [d5,f#5]@4 ~@29 e5@2 ~@2 c4@2 ~ c4@2 ~@16 b3@2 ~@13 d#5@3 ~ a3, ~@6 e4@2 ~@4 e4@3 e4@2 ~@3 e4@3 e4@3 e4@3 e4@2 ~@3 e4@2 g5@3 ~@2 [e5,g5]@2 [e5,g5]@48 ~@6 [d5,f#5]@3 ~@2 [d5,f#5]@6 ~@10 [d5,f#5]@4 ~@5 d5@4 d5@3 d5@4 d5@26 [c5,e5]@26 ~@2, ~@7 e5@3 ~@6 [e5,g5]@3 [e5,g5]@2 ~@9 [e5,g5]@3 [e5,g5]@2 e5@2 e4@3 e4@2 e4@48 ~@11 d4@3 d4@8 d4@8 d4@4 d4@4 d4@4 d4@3 ~ d4@4 d4@28 [b3,d#5] b4 b3 [b4,d#5]@3 [b4,d#5]@2 b3@4 [b4,d#5]@4 b3@6 ~@2, ~@50 f#4@2 ~@6 f#4@2 ~ f#4@3 f#4@2 ~@3 f#4@3 f#4@13 f#4@3 f#4@48 ~@8 c4 e5 c4@3 c4 e5@3 [c5,e5]@3 [c5,e5] c4 e5 c5 c4@30 ~@2, ~@51 f#5@3 f#5@3 f#5@2 ~@6 f#5@3 f#5@2 f#5@9 ~@7 f#5@11 ~@3 f#5@2 ~@20 f#5@4 f#5@4 f#5@3 f#5@4 f#5@4 f#5@48 ~@3]/8", // E Em F# D Em D C Em …
  D: "[~@3 e5@2 ~@3 a3@3 a3@5 a3@4 ~@8 a3@4 ~@12 a3@2 ~@2, ~ e5@2 ~@3 e5@3 ~@13 e5@4 e5@4 ~@4 [a4,e5]@4 [a4,e5]@4 [a4,e5]@4 ~@2, ~@2 a3@3 a3@2 a4@3 ~@10 a3@4 a3@4 ~@4 a3@4 a3@4 a3@4 ~@4]/2", // A5
  E: "[~@2 b4@2 ~ b4@2 ~@2 c5@2 ~ c5@2 ~@3 c5@2 ~ c5@2 ~@2 b4@2 ~@2 c5@2 ~@2 b4@2 ~ b4@2 ~@2 c5@2 ~@2 b4@2 ~@4 b4@20 ~@3, b4@2 ~@6 b4@3 b4@3 b4@2 b4@3 b4@2 ~ b4@2 ~@3 b4@3 b4@2 ~@6 b4@3 b4@2 ~@3 b4@3 ~@23, ~ c5@3 c5@3 c5@2 ~@6 c5@2 ~@6 c5@3 c5@2 ~@3 c5@3 c5@3 c5@2 ~@3 c5@3 c5@2 c5@21 ~@4]/3",
  F: "~ b4 ~ c5 b4 ~ b4@2 ~@4, b4@2 ~@3 b4@3 ~@2 b4@2 ~@12, ~ c5@3 c5@2 ~@5 c5@5 ~@8",
  G: "~ c5@2 ~@3 c5@2 ~@3 c5@2 ~@2 b4@3 ~ c5@2 ~ c5@2, b4@2 ~ b4@2 b4@3 b4@2 b4@3 b4@2 ~@3 b4@3 b4@3, ~@4 c5@2 ~@3 c5@2 ~@3 c5@3 ~@7",
  H: "~@2 b4@2 ~@2 c5@2 ~ c5@3 ~ b4@2 ~@2 c5@2 b4@2 b4@3, b4@2 ~@3 b4@3 b4@3 ~@5 b4@3 ~@5, ~ c5@3 c5@2 ~@9 c5@2 ~@7",
  I: "[g4 g5@2 ~ g4@2 ~@2 g4@2 ~ g4@2 ~@3 g4@2 ~@2 g5@2 ~@4 g4@2 ~ g4@2 ~ g4@2 ~@2 [g4,g5]@3 ~@3 a4@2 ~@2 a5 ~, ~@6 g5@4 g5@3 g5@2 g5@2 ~ g5@2 ~@3 g5@2 g5@3 g5@3 g5@2 ~@8 a5@3 a5@2 ~@2, ~@14 g4@2 ~@3 g4@3 g4@2 g4@2 ~@14 a4@2 ~@3 a4@2 ~]/2", // G
  J: "[~@3 g5@2 ~@4 g4@2 ~ g4@2 ~@3 g4@2 ~ g4@2 ~@3 g4@2 ~ g4@2 [g4,g5]@2 ~ g4@2 [g4,g5]@3 g5@2 ~@4 a5@2 ~ a5, g4@2 g4@2 ~ g4@2 g4@2 ~@6 g4@2 ~@6 g4@2 ~@16 a4@2 a4@2 ~ a4@2, ~ g5@2 ~@3 g5@2 g5@3 g5@3 g5@2 g5@3 g5@3 g5@2 g5@3 g5@3 ~@2 g5@3 ~@7 a5@2 ~@4]/2", // G
  K: "[~@5 g4@2 ~ g4@2 ~@3 g4@2 ~ g4@2 ~@3 g4@2 ~ g4@2 [g4,g5]@2 ~ g4@2 ~@3 g4@2 g5@3 ~@3 a4@2 [a4,a5]@2 a5 g4@2 ~@3 g4@2 ~ g4@2 ~ g4@2 ~@3 g4@2 ~ g4@2 ~@3 g4@2 ~ g4@2 ~ g4@2 ~ g4@2 g5@2 g5@3 ~@2 a5@2 ~@3 a5 ~, ~ g4@2 g4@2 ~@6 g4@2 ~@6 g4@2 ~@11 g4@2 ~@6 a4@2 ~@8 g4@2 ~@9 g4@2 ~@6 g4@2 ~@11 g4@5 ~ a4@2 ~ a4@2 a4@2 ~, ~@2 g5@2 g5@3 g5@3 g5@2 g5@3 g5@3 g5@2 g5@3 g5@3 ~@2 g5@3 g5@2 g5@2 ~@6 a5@3 ~@5 g5@2 g5@3 g5@3 g5@3 g5@2 g5@3 g5@3 g5@2 g5@3 g5@3 g5@3 g5@3 ~@10 a5@2 ~@2]/4", // G A
  L: "[~@2 g4@2 g5@2 ~@3 g5@2 g5@3 g5@4 ~@54, ~ g5@3 ~@2 g5@3 ~@63, ~@7 g4@48 ~@17]/3",
})).s("gm_piano").gain(0.07).pan(0)

// chords · piano · soft notes
const piano_soft = note("<~@35 A@2 ~@2 B C@3 ~ D ~@2 E F G H I@2 ~@17 J K L ~@25 M ~ N ~ O ~@2 P@3 ~@5>".pickRestart({
  A: "[~@7 e4@2 e4@2 ~@5 e4 ~@2 e4@2 ~@2 e4@3 ~@22]/2", B: "~@16 d5@2 d5@3 d5@3",
  C: "[d5@3 ~@5 d5@3 d5@3 ~@11 c5@3 ~@9 c5@2 c5@3 c5@3 ~@3 b4@3 ~@3 b4@3 ~@3 b4@3 ~@9, ~@19 d5@48 ~@5, ~@5 c5@3]/3",
  D: "~@15 g5@2 ~@7", E: "~@2 d5 ~@9", F: "~ d5@2 ~@9", G: "~ c5@2 c5@3 c5@3 ~@15", H: "~@10 b4 ~",
  I: "[~ a4@3 a4@3 ~@3 [a4,e5]@4 [a4,e5]@4 ~ a4@3 a4@4 a4@4 [a4,e5]@4 ~@14, ~@9 e5@2 ~@13]/2", J: "~@9 c5@2 ~@13",
  K: "~@17 c5@2 ~@5", L: "~@12 c5@3 ~@5 c5@4, ~@11 b4@2 ~@11", M: "~@5 g4 ~@6, ~@9 g5@2 ~@13", N: "~@7 g4 ~@4",
  O: "~@4 g4 ~@3", P: "[~@5 g4@2 ~@11 g5@48 ~@6]/3",
})).s("gm_piano").gain(0.05).pan(0)

// other · acoustic guitar nylon · "Guitar Melody #2"
const acoustic_guitar_nylon = note("<~@65 A@2 B C D E@2 F@2 G H I J@2 K@2 ~@24 L@8>".pickRestart({
  A: "[~@36 a4@4 b4@2 a4@2 ~ f#4@2 ~, ~@23 c4@17 ~@8, ~@27 e4@10 ~@11, ~@31 f#4@8 ~@9]/2", B: "b4@11 ~",
  C: "~@13 a4@3 b4@2 a4@3 f#4@2 ~, c4 f#4 ~, ~@4 e4@7 ~@13", D: "b4@7 ~@7 b4@2 ~ c5@3 b4 ~ a4@2, ~@13 a4@2 ~@9",
  E: "b4@11 ~ a4@2 b4@2 c5@3 ~ b4@2 a4 ~", F: "[b4@12 a4@4 g4@4 f#4@2 ~ b4@21 g4@4]/2", G: "e4@7 ~",
  H: "e5@3 ~@2 e5@3 ~ e5@2 ~@3 e5@2 ~ e5@3 d5@3 ~", I: "e5@3 c5@4 ~ a4@10 ~@6",
  J: "[f#4@4 g4@4 a4@3 b4@4 d5@4 c5@4 b4@2 ~@7 g5@3 ~@5 f#5@2 ~@6]/2", K: "[e5@3 ~]/2",
  L: "[~@19 e4@11 d#4@5 c4@5 b3@136 ~@16, [e2,e3]@59 ~@5]/8", // E
})).s("gm_acoustic_guitar_nylon").gain(0.35)

// chords · piano · "Piano #2"
const piano_2 = note("<~@31 A@7 B@2 C@8 D@2 E ~@55 F@5 ~@2>".pickRestart({
  A: "[~@7 f#5@2 ~@5 f#5@2 ~ f#5@2 ~@2 g5@2 ~@2 a5@2 ~ a5@2 ~@3 g5@2 a5@2 ~ a5@2 ~ a5@2 ~ a5@2 a5@2 ~ a5@2 ~ a5@2 ~ a5@2 b5@2 ~ b5@2 ~ b5@2 a5@2 ~@2 b5 b5@2 c6@2 ~ c6@2 ~ c6@2 b5@2 ~ b5@2 ~@2 c6@2 ~@76 f#5@3, ~ f#5@2 f#5@4 ~@3 f#5@4 ~@6 f#5@48 ~@6 b5@3 b5@3 ~@2 c6@3 c6@2 ~@4 c6@48 ~@7 a5@5 a5@6 a5@6 a5@5, ~@2 g5@3 g5@4 g5@3 g5@4 g5@3 g5@2 ~@3 g5@3 g5@3 g5@3 ~@4 g5@3 g5@3 g5@48 ~@5 e5@3 g5@5 e5@3 g5@4 e5@9 e5@8 e5@8 e5@32, ~@31 a5@4 ~@13 b5@3 b5@3 b5@3 ~@2 a5@3 a5@3 ~@2 a5@48 g5@8 ~ g5@7 g5@8 g5@29, ~@86 b5@3 b5@48 ~@7 f#5@4 f#5@6 f#5@6 f#5@5 ~@3]/7",
  B: "[~@45 d5@2 f#5, a5@5 a5@6 a5@5 a5@5 a5@27, ~@2 f#5@6 f#5@5 f#5@6 f#5@8 f#5@5 f#5@5 f#5@5 f#5@5 ~, ~@24 d5@5 ~ d5@4 d5@5 ~ d5@5 ~@3]/2",
  C: "[~@63 d5, ~@3 d5@5 d5@5 d5@5 d5@30 b4@3 d#5@2 b4@3 d#5@2 b4@3 d#5@3 b4@5 b4@48 ~@5 a5@6 a5@5 a5@5 a5@6 a5@5 a5@6 a5@5 a5@5 a5@27, ~@5 f#5@6 f#5@5 f#5@4 f#5@47 d#5@48 ~@5 f#5@5 f#5@5 f#5@6 f#5@5 f#5@5 f#5@6 f#5@5 f#5@6 f#5@8 ~@5 f#5@5 f#5@5 f#5@5 ~, ~@24 c5@5 c5@6 c5@5 c5@5 c5@45 g5@5 ~ g5@5 g5@5 g5@5 g5@5 g5@48 ~@6 f#5@5 ~@17, ~@26 e5@6 e5@5 e5@5 ~ e5@29 e5@2 g5@3 e5@3 g5@2 e5@3 g5@3 e5@5 e5@5 e5@6 e5@5 e5@5 e5@48 ~@11 d5@5 ~ d5@5 d5@5 ~@3]/8",
  D: "[~@20 f#5@2 ~@23 c5@2 ~, f#5@5 f#5@5 f#5@5 f#5@5 ~@6 e5@6 e5@5 e5@5 ~ e5@4 ~, ~@2 d5@6 d5@5 d5@5 d5@5 c5@6 c5@5 c5@5 ~ c5@5 ~@3]/2",
  E: "~@18 d#5@3 b4@2 ~, b4@5 b4@5 ~ b4@5 b4@5 ~@3, ~@3 d#5@5 d#5@5 d#5@5 ~@6",
  F: "[~@20 e4@2 ~ e4@2 e5@2 e5@3 ~@4 e4@2 e5@3 ~ e4@2 ~@2 e5@2 ~@2 e4@2 ~ e4@3 e4@2 ~ e4@2 ~@2 e5@2 ~ e5@3 ~ e4@3 e4@3 e4@3 ~@12 e4@3 ~@3 e4@3 ~@6 e4@3 ~@13, ~@19 [b4,e5]@3 e5@3 ~@8 e5@3 ~@6 e5@2 ~@3 e5@3 e5@3 ~@3 e5@3 e5@2 ~@59, ~@43 e4@3 e4@2 ~@12 e4@3 e4@3 ~@54]/5", // E5
})).s("gm_piano").gain(0.09).pan(1)

// chords · piano · "Piano #2" · soft notes
const piano_soft_2 = note("<~@33 A ~@13 B ~@58 C D@2 E@4>".pickRestart({
  A: "~@9 b5 ~@2", B: "d5@5 ~@19", C: "~@9 e4 ~ b4",
  D: "[~@4 e4@2 ~ e4@2 b4@3 ~ e4@2 [b4,e5]@3 b4@2 b4@3 b4@3 b4@3 [b4,e5]@3 b4@3 b4@3 b4@2 b4@2 ~ [b4,e5]@3 [b4,e5]@2, ~ b4@2 b4@6 ~@3 b4@3 ~@27 e4@2 ~@4, ~@2 e4@2 ~@2 e5@3 ~@39]/2", // E5
  E: "[~ [b4,e5]@2 ~@3 [b4,e5]@2 ~ [b4,e5]@2 ~@3 e4@2 e5@2 ~@2 e4@2 e5@3 ~ e4@2 ~ e4@2 ~ b4@2 ~@2 e4@2 ~ e4@2 ~@2 e4@2 ~ e4@3 ~@9 e4@4 e4@2 ~ e4@28 ~@3, ~@3 e5@2 e4@3 e4@3 e4@2 b4@6 b4@13 ~@3 b4@3 [b4,e5]@3 ~ b4@3 b4@11 b4@37 ~@3, ~@4 b4@2 ~@6 e5@4 ~@2 e5@4 ~@3 e5@3 e5@3 e5@3 e5@4 ~@3 e5@4 e5@4 e5@3 e5@4 e5@8 e5@30 ~@2, ~@25 e4@2 e4@2 ~@19]/4", // E5
})).s("gm_piano").gain(0.05).pan(1)

// chords · string ensemble 1 · "Strings"
const string_ensemble_1 = note("<~@106 A@7>".pickRestart({
  A: "[~@9 [e2,e3,b3]@65 ~@10]/7", // E5
})).s("gm_string_ensemble_1").gain(0.1).pan(0.6)

stack(
  acoustic_guitar_steel, acoustic_guitar_steel_2, bass, piano, piano_soft, acoustic_guitar_nylon, piano_2, piano_soft_2,
  string_ensemble_1
)

More by Sting