Strudelify

Brand New Day

Sting

KeyB majorTempo157 bpm
0:00/0:00
// Brand New Day — Sting
// 157 bpm, 12/8, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 107 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(157/6)

// 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(`<
  ~@4 A B C D E F C G H F C G I F C G H F C G I J K L M N K L O P Q R S T U V W P Q R S T U V X Y Z AA AB Y Z AC@2 AD AE
  P Q R S T U V W P Q R S T U V X AF AG AH AI AF AJ AK AL AF AG AH AI AF AJ AK AL AF AG AH AI AF AJ AK AL AF AG AH AI AF
  AJ AK AL
>`.pickRestart({
  A: "~@14 g#1@4 f#1@5 ~, ~@14 f#1 ~@9", B: "b1@23 ~", C: "e1", D: "a1@23 ~", E: "b1@14 f#1 g#1@3 f#1@5 ~", F: "b1",
  G: "a1", H: "b1@15 ~ a1@4 f#1@4", I: "b1@9 a1@2 f#1", J: "b1@3 ~ b1@7 ~ b1@2 ~@2 b1@8",
  K: "a1@3 ~ d2@7 ~ d2@3 ~ d2@8", L: "e1@3 ~ e1@7 ~ e1@3 ~ e1@8", M: "c#2@3 ~ c#2@7 ~ c#2@3 ~ c#2@7 ~",
  N: "b1@3 ~ b1@8 b1@2 ~@2 b1@8", O: "e1@2 ~@2 e1@7 ~ e1@3 ~ e1@2 a1@3 ~ a1@2",
  P: "b1@3 ~ b1 ~ b1@3 ~ b1 ~ b1@3 ~ b1 ~ b1@3 ~ b1 ~", Q: "a1@3 ~ e1 ~ e1@3 ~ e1 ~ e1@3 ~ e1 ~ e1 ~ g1@3 ~",
  R: "a1@3 ~ a1 ~ a1@3 ~ a1 ~ a1@3 ~ a1 ~ a1@3 ~ a1 ~", S: "b1@3 ~ b1 ~ b1 ~ b1@3 ~ b1@3 ~ b1 ~ a1@4 f#1@2",
  T: "b1@3 ~ b1 ~ b1 ~ b1@4 b1@3 ~ b1 ~ b1 ~ b1@4", U: "e1@3 ~ e1 ~ e1 ~ e1@4 e1@3 ~ e1 ~ e1 ~ e1@4",
  V: "a1@3 ~ a1 ~ a1 ~ a1@4 a1@3 ~ a1 ~ a1 ~ a1@4", W: "b1@9 ~ b1@2 a1@2 f#1@8 a1 ~",
  X: "b1 ~ b1@3 ~ b1@5 ~ a1@6 f#1@5 ~", Y: "b1@3 ~ b1 ~ b1@2 a2 ~ b2@2 b1@3 ~ b1 ~ b1@2 a2 ~ b2@2",
  Z: "b1@3 ~ b1 ~ b1@2 a2@2 b2@2 b1@3 ~ b1 ~ b1@2 a1@2 f#1 ~",
  AA: "e1@3 ~ e1 ~ e1@2 e1 ~ e1 ~ e1@3 ~ e1 ~ e1 ~ e1 ~ e1@2",
  AB: "a1@3 ~ c#2@3 ~ c#2@2 c#2 ~ c#2@3 ~ c#2@2 c#2@2 c#2 ~ c#2@2",
  AC: "e1@3 ~ e1 ~ e1@3 ~ e1 ~ e1@3 ~ e1 ~ e1@3 ~ e1 ~", AD: "e1 ~ e1@3 ~ e1@3 ~ e1@3 ~ e1@3 ~ e1@3 ~ e1@2",
  AE: "~@2 e1 ~ e1 ~ e1@3 ~ e1@2 g1@2 g#1@2 a1@2 a1@2 a#1@2 b1@2",
  AF: "b1@3 ~ b1 ~ b1@2 a2@2 b2@2 b1@3 ~ b1 ~ b1@2 a2@2 b2 ~", AG: "e1@3 ~ e1 ~ e1@3 ~ e1 ~ e1@3 ~ e1 ~ e1@2 g1@2 e1 ~",
  AH: "a1@3 ~ a1 ~ a1@3 ~ a1 ~ a1@3 ~ a1 ~ a1 ~ f#1@2 a1@2", AI: "b1@3 ~ b1@3 ~ b1@3 ~ f#2@3 ~ f#2 ~ f#2@2 a2@2 b2@2",
  AJ: "e1@3 ~ e1 ~ e1@3 ~ e1 ~ e1@3 ~ e1@3 ~ e1@3 ~", AK: "a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ a1 ~ a1 ~ a1 ~ a1 ~",
  AL: "a1@3 ~ a1 ~ a1 ~ a1 ~ a1@2 g1@6 a1@5 ~",
})).s("gm_electric_bass_finger").gain(0.5)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  ~ A B C D A B C D E F G H I J K L E F G H I J K L M N O@2 P N Q@2 R S@2 T@2 U V W R S@2 T@2 U V W ~@10 R S@2 T@2 U V W
  R S@2 T@2 U V W R S@2 T@2 U V X R S@2 T@2 U V X R S@2 T@2 U V Y R S@2 T@2 U V Y
>`.pickRestart({
  A: "~@2 b3 ~@2 f#3 ~@2 b3 ~@2 f#3, b2@12 b2@11 ~, ~ f#3@3 b3@3 f#3@3 b3@2, ~@3 d#4@5 ~ d#4@3",
  B: "~@2 g3 ~@2 e3 ~@2 g3 ~@2 e3, e2@11 ~ e2@11 ~, ~ e3@3 g3@3 e3@3 g3@2, ~@6 b3@11 ~ b3@6",
  C: "~@2 a3 ~@2 e3 ~@2 a3 ~@2 e3, a2@11 ~ a2@12, ~ e3@3 a3@3 e3@3 a3@2, ~@3 c#4@5 ~ c#4@3",
  D: "~@2 b3 ~@2 f#3 ~@2 b3 ~ b3 f#3, b2@11 ~ b2@11 ~, ~ f#3@3 b3@3 f#3@3 ~@2, ~@6 d#4@11 ~ d#4@5 ~",
  E: "~@2 b3!3 c#4 ~@2 b3!3 [f#3,b3,c#4,d#4], b2@12 b2@11 ~, ~ f#3@2 [f#3,c#4,d#4]@2 d#4@3 ~@4, ~@5 [f#3,b3]@2 f#3@2 [f#3,c#4,d#4]@2 ~", // B D#m7 B5 D#m7
  F: "~@2 g3!3 [d4,e4] ~@2 g3!3 [e3,g3,b3,d4,e4], e2@11 ~ e2@11 ~, ~@2 e3@7 ~ [e3,g3]@4 e3@7 ~@3, ~@3 [b3,d4,e4]@2 b3@3 ~ [b3,d4,e4]@2 ~", // Dsus2 Em7 Em E7
  G: "~@2 a3!3 g3 ~@2 a3!3 [e3,g3,a3,c#4,e4], a2@10 e4 ~ a2@12, ~@2 e3@7 ~ [e3,a3]@4 e3@7 ~@3, ~@3 [g3,c#4,e4]@2 c#4@3 ~ [g3,c#4,e4]@2 ~", // A7 A5 C#dim
  H: "~@5 d#4 b3@2 b3@2 c#4@2 ~@4 b3@2 b3@2 b3@2 [f#3,b3,c#4,d#4] ~, b2@11 ~ b2@11 ~, ~ f#3@2 [f#3,c#4,d#4]@2 [f#3,b3]@2 f#3@2 [f#3,c#4,d#4]@2 ~, ~@2 b3 ~@2 d#4@3 ~@4", // B D#m7 B5 D#m7
  I: "~@4 b3@2 b3@2 b3@2 c#4 ~@5 b3@2 b3@2 b3@2 [f#3,b3,c#4,d#4]@2, b2@12 b2@11 ~, ~ f#3@2 [f#3,c#4,d#4]@2 d#4@3 ~@4, ~@5 [f#3,b3]@2 f#3@2 [f#3,c#4,d#4]@2 ~", // B D#m7 B5 D#m7
  J: "~@2 g3!3 [a3,d4,e4] ~@2 g3!3 [e3,g3,b3,d4,e4], e2@11 ~ e2@11 ~, ~@2 e3@7 ~ [e3,g3]@4 e3@7 ~@3, ~@6 [a3,b3,d4,e4]@4 b3@6 ~@2 [a3,b3,d4,e4]@4 a3 ~", // Asus4 Em7 Em Asus4
  K: "~@2 a3!3 [g3,e4] ~@2 a3!3 [e3,g3,a3,c#4,e4], a2@11 ~ a2@12, ~@2 e3@7 ~ [e3,a3]@4 e3@7 ~@3, ~@3 [g3,c#4,e4]@2 c#4@3 ~ [g3,c#4,e4]@2 ~", // C A7 A5 C#dim
  L: "~@2 b3!3 c#4 ~@2 b3!3 [f#3,b3,c#4,d#4], b2@5 [f#3,b3]@2 f#3@2 [f#3,c#4,d#4]@2 ~, ~ f#3@2 [f#3,c#4,d#4]@2 d#4@3 ~@4, ~@12 b2@11 ~", // B B5 D#m7
  M: "~@2 b3 ~@2 f#3 ~@2 b3 ~@2 f#3, b2@5 ~ b2@6, ~ f#3@3 b3@3 f#3@3 b3@2, ~@3 d#4@5 ~ d#4@3",
  N: "~@2 c#4 ~@2 a3 ~@2 c#4 ~@2 a3, d3@11 ~ d3@11 ~, ~ a3@3 c#4@3 a3@3 c#4@2, ~@6 e4@11 ~ e4@6",
  O: "[~@2 b3 ~@2 f#3 ~@2 b3 ~@2 f#3 ~@2 c#4 ~@2 g#3 ~@2 c#4 ~@2 g#3, e3@11 ~ e3@11 ~ c#3@11 ~ c#3@11 ~, ~ f#3@3 b3@3 f#3@3 b3@3 g#3@3 c#4@3 g#3@3 c#4@2, ~@6 d#4@10 ~@2 d#4@8 ~@4 e4@11 ~ e4@6]/2",
  P: "~@2 b3 ~@2 f#3 ~@2 b3 ~@2 f#3, b2@11 ~ b2@11 ~, ~ f#3@3 b3@3 f#3@3 b3@2, ~@3 d#4@5 ~ d#4@3",
  Q: "[~@4 b3@2 ~@4 f#3@2 ~@4 b3@2 ~@4 f#3@2 ~@4 b3@2 ~@4 f#3@2 ~@4 b3@2 ~@2 b3@2 f#3 ~, e3@11 ~ e3@11 ~ e3@11 ~ e3@11 ~, ~ f#3@3 b3@3 f#3@3 b3@3 f#3@3 b3@3 f#3@3 ~@2, ~@6 d#4@10 ~@2 d#4@11 ~ d#4@10 ~@2 d#4@5 ~]/2",
  R: "~@2 b3 ~@2 f#3 ~@2 b3 ~@2 f#3, b2@11 ~ b2@12, ~ f#3@3 b3@3 f#3@3 b3@2, ~@3 d#4@5 ~ d#4@3",
  S: "[~@2 b3 ~@2 g3 ~@2 b3 ~@2 g3 ~@2 a3 ~@2 e3 ~@2 a3 ~@2 e3, e3@11 ~ e3@11 ~ a2@11 ~ a2@12, ~@2 g3@6 b3@6 g3@6 b3@5 ~ e3@6 a3@6 e3@6 a3@4, ~@6 d4@11 ~ d4@8 ~@4 c#4@11 ~ c#4@6]/2",
  T: "[~@2 b3 ~@2 f#3 ~@2 b3 ~@2 f#3 ~@2 b3 ~@2 f#3 ~@2 b3 ~@2 f#3, b2@11 ~ b2@11 ~ b2@11 ~ b2@12, ~ f#3@3 b3@3 f#3@3 b3@3 f#3@3 b3@3 f#3@3 b3@2, ~@3 d#4@5 ~ d#4@5 ~ d#4@5 ~ d#4@3]/2",
  U: "~@2 b3 ~@2 g3 ~@2 b3 ~@2 g3, e3@11 ~ e3@11 ~, ~ g3@3 b3@3 g3@3 b3@2, ~@6 d4@11 ~ d4@6",
  V: "~@2 a3 ~@2 e3 ~@2 a3 ~@2 e3, a2@11 ~ a2@11 ~, ~ e3@3 a3@3 e3@3 a3@2, ~@3 c#4@5 ~ c#4@3",
  W: "~@4 b3@2 ~@4 f#3@2 ~@4 b3@2 ~@2 b3@2 f#3 ~, b2@11 ~ b2@10 ~@2, ~ f#3@3 b3@3 f#3@3 ~@2, ~@6 d#4@10 ~@2 d#4@5 ~",
  X: "~@4 a3@2 ~@4 e3@2 ~@4 b3@2 ~@2 c#4@2 a3 ~, a2@11 ~ b2@10 ~@2, ~ e3@3 a3@3 g3@3 ~@2, ~@6 c#4@10 ~@2 e4@5 ~",
  Y: "~@4 a3@2 ~@4 e3@2 ~@4 b3@2 ~@2 b3@2 g3 ~, a2@11 ~ b2@10 ~@2, ~ e3@3 a3@3 g3@3 ~@2, ~@6 c#4@10 ~@2 d4@5 ~",
})).s("gm_acoustic_guitar_nylon").gain(0.33).pan(0.4)

// chords · percussive organ
const percussive_organ = note(`<
  A B C D E F G H E F G H E F G H E F G H E F G H ~@8 E F G H E F G H E F G H E F G H ~@10 E F G H E F G H E F G H E F G
  H E F G H E F G H E F G H E F G H E F G H E F G H E F G H E F G H ~
>`.pickRestart({
  A: "~@22 [b4,f#5] ~", B: "~@2 [b4,f#5] ~@3 [b4,f#5] ~@3 [b4,f#5] ~@13", C: "~@22 [a4,e5] ~",
  D: "~@2 [a4,e5] ~@3 [a4,e5] ~@3 [a4,e5] ~@13", E: "~@20 [b4,f#5] ~@3", F: "[b4,f#5] ~@3 [b4,f#5] ~@3 [b4,f#5] ~@15",
  G: "~@20 [a4,e5] ~@3", H: "[a4,e5] ~@3 [a4,e5] ~@3 [a4,e5] ~@15",
})).s("gm_percussive_organ").gain(0.07).pan(0.7)

// chords · percussive organ · soft notes
const percussive_organ_soft = note(`<
  ~ A ~ B ~ C ~ D ~ C ~ D ~ C ~ D ~ C ~ D ~ C ~ D ~@9 C ~ D ~ C ~ D ~ C ~ D ~ C ~ D ~@11 C ~ D ~ C ~ D ~ C ~ D ~ C ~ D ~
  C ~ D ~ C ~ D ~ C ~ D ~ C ~ D ~ C ~ D ~ C ~ D ~ C ~ D ~ C ~ D ~
>`.pickRestart({
  A: "~@14 [b4,f#5] ~@3 [b4,f#5] ~@5", B: "~@14 [a4,e5] ~@3 [a4,e5] ~@5", C: "~@12 [b4,f#5] ~@3 [b4,f#5] ~@7",
  D: "~@12 [a4,e5] ~@3 [a4,e5] ~@7", // A5
})).s("gm_percussive_organ").gain(0.03).pan(0.7)

// chords · rock organ
const rock_organ = note("<~@31 A@2 ~@16 B@4 C@6 ~@24 D@4 E@4 D@4 F@4 D@4 F@4>".pickRestart({
  A: "[[f#5,b5,d#6]@23 ~]/2", B: "[d#5 [d5,a5] [e5,g#5] [c#5,e5,a5], b5, f#5@71 ~@25]/4",
  C: "[d#5@24 [d5,a5]@24 [e5,g#5]@95 ~, f#5@143 ~]/6", // D5 E
  D: "[d#5@24 d5@23 ~ [c#5,e5]@23 ~ [d#5,f#5]@23 ~, b5@95 ~, f#5@47 ~@49, ~ a5@2 ~]/4", // C#m D#m
  E: "[d#5@24 d5@23 ~ [c#5,e5]@35 ~ [d5,g5,b5]@6 [c#5,e5,a5]@6, b5@7 ~, f#5@47 ~@49, ~@2 a5@5 ~]/4", // C#m G A
  F: "[d#5@24 d5@23 ~ [c#5,e5]@35 ~ [b4,d5,g5]@9 ~@3, b5@7 ~, f#5@47 ~@49, ~@2 a5@5 ~]/4", // C#m G
})).s("gm_rock_organ").gain(0.11)

// other · french horn
const french_horn = note(`<
  ~ A@2 B C D E@2 F ~@24 G@2 ~@6 G@2 ~@16 G@2 ~@6 G@2 ~@6 G@2 ~@6 G@2 ~@6 G@2 ~@6 G@2 ~@6
>`.pickRestart({
  A: "[d#4@11 f#4@11 g4 a4]/2", B: "e4@23 d4", C: "d#4@6 f#4@17 ~", D: "d#4", E: "e4/2", F: "d#4@23 ~",
  G: "[f#4@47 ~]/2",
})).s("gm_french_horn").gain(0.33).pan(0.3)

// other · harmonica
const harmonica = note(`<
  ~@5 A B C@2 ~@15 D E ~@5 F@2 ~@3 G@2 H ~ I@2 ~@2 G@2 H ~ J ~@7 K L M ~@3 G@2 N@2 O@2 P Q R@3 S T U V W X Y Z AA AB AC
  AD@4 AE AF AG AH@2 AI AJ@2 AK@2 AL AH@2 AI AJ@2 AK@2 AL
>`.pickRestart({
  A: "d#5@3 e5@2 ~ d#5@4 e5@2 d#5@4 c#5@4 c#5@2 b4 ~", B: "c#5@3 ~ d5@2 c#5@3 ~ d5 ~ c#5@3 ~ b4@4 a4 ~ f#4 ~",
  C: "[a4 a4@2 ~@3 a4!2 ~@3 e5@6 ~ e5@5 d5@2 b4@2 ~@2 a4@2 ~@2 a4@2 ~@2 e4@3 ~ e4@4 ~ d4 ~]/2",
  D: "~@10 d5@3 ~ d5@3 ~ b4@3 ~ a4@2", E: "~ b4@6 ~@17",
  F: "[a4@2 b4@3 ~ b4@6 a4 b4@4 ~ b4@5 d5@2 ~ b4@3 ~ b4@6 a4 b4@4 ~ b4@4 ~@2]/2",
  G: "[~@3 d5@4 ~ b4 ~ a4 ~@2 a4@2 ~ f#4 ~ b4@3 b4@6 ~@6 [d#5,f#5]@13 ~@2, ~@6 b4 ~@17]/2", // D#m
  H: "~@2 [e4,a4,b4] ~@3 a4 [e4,b4] ~@2 [e4,a4,b4]@9 ~@5", I: "[~@7 e5@3 ~ e5@4 ~ d5@4 ~ b4@10 ~@17]/2",
  J: "~@3 f#5@3 e5@2 d5 b4@3", K: "~@6 a4@3 ~ a4 ~ b4@4 b4 ~ b4@4 b4 ~",
  L: "d5@3 ~ d5 b4@3 ~@2 a4@2 b4@3 ~@2 b4@2 b4@2 ~@3, ~@8 a4 ~@3",
  M: "d5@3 ~ d5@2 b4@3 ~ b4@2 d5@3 d5@2 ~ b4@2 d6@2 b5@2, ~@22 a5 ~",
  N: "[~@2 [e4,a4,b4] ~@3 a4 [e4,b4] ~@2 [e4,a4,b4]@9 ~@4 e5@4 ~ d5@2 e5@3 d5@2 ~ f#5@6 e5@6]/2", // Esus4 E5 Esus4
  O: "[d5@2 b4@3 ~ [f#4,b4]@4 ~ [f#4,b4]@4 [f#4,b4]@4 [f#4,b4]@2 ~@2 d#5@4 d#5 ~@2 d#5@4 d#5 ~ d#5@4 d#5 ~ d#5@3 ~ d#5 ~]/2", // B5
  P: "d5@3 ~ d5 ~ d5@4 e5@2 d5@4 e5@2 d5@2 b4@3 ~", Q: "a4@5 a4@4 ~ a4@2 f#5@5 e5@7",
  R: "[d5@2 b4@4 b4@3 ~ a4@2 b4@4 ~@7 d#5@3 ~ e5@2 ~ f#5@3 g#5 ~ a5@2 g#5@4 ~ f#5@4 ~ e5@4 d5 ~@2 e5@3 d5@2 ~ f#5@2 b4@4 b4@3 ~@3]/3",
  S: "a4@3 b4@2 d5@4 b4@2 e5@5 ~@2 e5@5 ~", T: "d5@2 b4@3 ~ b4@3 ~ [f#4,b4]@4 [f#4,b4]@4 [f#4,b4]@3 ~ [f#4,b4]@2",
  U: "[f#5,b5]", V: "a5@18 f#5@2 ~ f#5 ~@2, ~@10 e5 ~", W: "e5@3 ~ e5@3 e5@3 ~ e5@4 ~ d5@3 b4@2 ~ a4@2",
  X: "d5@2 b4@9 ~@13", Y: "b4@3 ~ b4@3 ~ b4@3 ~ b4@2 d5@2 a4@2 b4@4 ~@2", Z: "b4@3 ~ b4@3 b4@2 ~ d5@2 b4@2 a4@4 ~@6",
  AA: "e5@13 b4@3 a4 ~ b4@5 ~", AB: "~@16 f#5@2 e5@5 ~", AC: "d#5@4 e5 ~ d#5@4 e5@2 d#5@3 c#5@3 b4@4 b4@2",
  AD: "[a4@4 b4@2 a4@4 b4@2 a4@3 b4@2 d5@2 b4@3 ~ e5@6 e5@4 d5 ~ f#5@6 ~ f#5@5 f#5@12 ~ d5@2 b4 ~ a4@2 b4@2 ~@3 d5@3 ~ b4@4 ~ b4@3 ~ b5@3 ~ b5@3 ~ b5@3 ~]/4",
  AE: "c6@12 b5@2 a5@2 ~ a5@5 ~@2", AF: "a5 ~@2 a5 ~@4 a5 ~@3 a5 ~ a5 ~ a5 ~ a5 ~ a5 ~ a5 ~",
  AG: "a5 ~@3 a5 ~@2 a5@2 ~ b5@7 a5@4 ~@3",
  AH: "[b5@3 ~ b5 b5@3 ~ b5 ~ b5@3 ~@2 b5 ~ b5@3 b5 ~ e5@5 d5@2 e5@3 f#5@2 e5@2 d5@2 b4@4 ~@5]/2",
  AI: "e5 ~ e5@2 d5 ~ e5@3 f#5@2 a5 ~ a5@2 f#5@2 a5@2 b5@3 ~@2",
  AJ: "[f#5@11 e5@4 f#5@2 e5@2 d5@2 b4@2 d#5@3 ~ e5@2 d#5@4 e5@2 d#5@2 ~ c#5 ~ b4@4 ~@2 b4 ~]/2",
  AK: "[d5@4 e5@2 d5@3 ~ e5@2 d5@2 c#5 ~ b4@4 ~@3 e5@5 d5 ~ e5@4 d5@2 b5@5 ~ b5@5 ~]/2",
  AL: "b5@4 b5@3 ~ b5@4 b5@2 a5@2 f#5@2 e5@2 d5@2 b4 ~",
})).s("gm_harmonica").gain(0.4)

// other · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~@8 A ~@23 B C ~@6 B C ~@16 B C ~@6 B C ~@6 B C ~@6 B C ~@6 B C ~@6 B C ~@7
>`.pickRestart({
  A: "~@17 [b4,d#5]@7", B: "~@12 e4@4 e4@3 ~ e4@4", C: "f#4@11 ~@13",
})).s("gm_electric_guitar_jazz").gain(0.15)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note("<~@25 A B C D E B C@2 ~@74>".pickRestart({
  A: "[f#4,b4]@3 ~ [d#4,f#4,b4]@3 ~ [d#4,f#4,b4]@3 ~ [d#4,f#4,b4]@9 ~@3", // B5 B
  B: "[e4,a4]@3 ~ [e4,a4,c#5]@3 ~ [e4,a4,c#5]@3 ~ a4@3 ~@5 c#5@4, ~ e4, ~@12 c#5@7 ~@5, ~@2 a4", // A5 A
  C: "~@19 d#5@4 ~, ~@2 f#4@11 ~@2 f#4@8 ~, ~@4 b4@5 ~ b4@13 ~, ~ d#5@2 ~",
  D: "~@19 g#4@4 ~, ~@2 e4@3 e4@6 ~, ~ g#4@2 ~, ~@15 c#4@8 ~",
  E: "~@2 [b3,f#4]@3 ~ [b3,d#4,f#4]@4 [b3,d#4,f#4]@3 ~ [b3,d#4,f#4]@3 ~ [b3,d#4,f#4]@5 ~", // B5 B
})).s("gm_acoustic_guitar_steel").gain(0.31).pan(0.6)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note("<~@25 [d#4 ~@7] [c#5 ~@7] ~ [~ c#4@6 ~@5] [~@2 d#4@3 ~@19] [c#5 ~@7] ~@76>")
  .s("gm_acoustic_guitar_steel").gain(0.15).pan(0.6)

// chords · pad choir
const pad_choir = note("<~@25 A B C D A D E@2 ~@74>".pickRestart({
  A: "[d#4,f#4,b4]", B: "[e4,a4,c#5]@23 ~", C: "[f#4,b4,d#5]", D: "[e4,a4,c#5]", E: "[[f#4,b4,d#5]@47 ~]/2",
})).s("gm_pad_choir").gain(0.19)

// chords · distortion guitar
const distortion_guitar = note(`<
  ~@32 A B@2 ~@6 B@2 ~@15 A B@2 ~@6 B@2 ~@6 B@2 ~@5 C B@2 ~@5 C B@2 ~@5 D B@2 ~@6
>`.pickRestart({
  A: "~ [a3,e4]@11", B: "[[b3,f#4]@23 ~]/2", C: "~@2 [g2,d3] [a2,e3]", D: "~ [g2,d3]",
})).s("gm_distortion_guitar").gain(0.27)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@33 A B C A@2 B C D A B C A@2 B C E@5 F@4 ~@2 A B C A@2 B C D A B C A@2 B C D A B C A@2 B G@2 A B C A@2 B G@2 A B C
  A@2 B H@2 A B C A@2 B H@2
>`.pickRestart({
  A: "~@5 [b3,c#4,d#4,f#4]@7", B: "~@5 [a3,b3,d4,f#4]@7", C: "~@5 [a3,b3,c#4,e4]@7", D: "~@10 [b3,c#4,d#4,f#4]@13 ~",
  E: "[~@5 [b3,c#4,d#4,f#4]@6 [b3,c#4,d#4,f#4]@12 [g3,b3,d4,f#4]@12 [a3,b3,e4,f#4]@12 ~@6 g#4@4 f#4@2 [b3,d#4,f#4], ~@47 [a3,b3,c#4,e4]@10 ~@3]/5", // B Gmaj7 Asus2 B A
  F: "[~@5 [b3,d#4,f#4,b4]@6 [d4,g4,a4]@12 [e4,f#4,g#4,b4]@22 ~@3]/4", // B Dsus4 E
  G: "[~@5 [a3,b3,c#4,e4]@11 [g3,b3,d4]@3 ~@2 [a3,c#4,e4]@3]/2", H: "[~@5 [a3,b3,c#4,e4]@11 [g3,b3,d4]@8]/2",
})).s("gm_electric_guitar_clean").gain(0.31)

// chords · synth strings 1
const synth_strings_1 = note(`<
  ~@33 A B C A@2 B C D A B C A@2 B C D A E F G A E H@4 A B C A@2 B C D A B C A@2 B C D A B C A@2 B I@2 A B C A@2 B I@2 A
  B C A@2 B J@2 A B C A@2 B J@2
>`.pickRestart({
  A: "[b3,c#4,d#4,f#4]", B: "[a3,b3,d4,f#4]", C: "[a3,b3,c#4,e4]", D: "[b3,c#4,d#4,f#4]@11 ~", E: "[d4,e4,f#4,a4]",
  F: "[b3,e4,f#4,a4]", G: "[b3,e4,g#4]@23 ~", H: "[[b3,e4,f#4,g#4]@95 ~]/4",
  I: "[[a3,b3,c#4,e4]@6 [g3,b3,d4] [a3,c#4,e4]]/2", J: "[[a3,b3,c#4,e4]@3 [g3,b3,d4]]/2",
})).s("gm_synth_strings_1").gain(0.18)

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

// drums · snare
const snare = s("sd").struct(`<
// … 38 more lines

More by Sting