Strudelify
The Captain of Her Heart - Every Breath You Take cover art

1998 · Pappa Di Latte Vol. 1

The Captain of Her Heart - Every Breath You Take

Mina

KeyC majorTempo90 bpm
0:00/0:00
// The Captain of Her Heart - Every Breath You Take — Mina
// 90 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 111 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(90/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 · fretless bass · "Fretl.bs"
const bass = note(`<
  ~@8 A B C D E F G H I J K L M N K O I J K L M N P@2 Q R P@2 Q R S@2 T U S@2 T U S@2 V@2 W X V@2 W Y V@2 W Z AA AB AC
  AD AA AE AC AF AA AG AH AI AJ AK I J K L M N AL@3 AM AN AO K M AN AP K M AN@2 K M AN AQ K M AN AO K M AN AO K M AR@3
>`.pickRestart({
  A: "a1@6 ~@2 a1 ~ a1@6", B: "g1@6 ~@2 g1 ~ g1@6", C: "d1@6 ~@2 d1 ~ d1@5 ~", D: "d1@6 ~@2 d1 ~ d1@2 a1@3 ~",
  E: "f1@7 ~ f1 ~ f1@6", F: "g1@7 ~ g1 ~ g1@6", G: "a1@6 ~@2 a1 ~ a1@5 ~", H: "a1 e2 a2 e3 a2@2 ~@2",
  I: "c2@4 ~@2 c2 ~ c2@7 ~", J: "c2@4 ~@2 c2 ~ c2@4 e1@2 g1@2", K: "a1@4 ~@2 a1 ~ a1@6 ~@2",
  L: "a1@4 ~@2 a1 ~ a1@4 g1@4", M: "f1@4 ~@2 f1 ~ f1@5 ~ f1@2", N: "g1@4 ~@2 g1 ~ g1@7 ~",
  O: "a1@4 ~@2 a1 ~ a1@4 g1@3 ~", P: "[a1@4 ~@2 a1 ~ a1@5 ~ f#1@7 ~ f#1 ~ f#1@7 ~]/2", Q: "f1@4 ~@2 f1 ~ f1@8",
  R: "g1@5 ~ g1 ~ g1@2 e2@2 g2@4", S: "g#1 ~ g#1 ~ g#1 ~ g#1 ~ g#1 ~ g#1 ~ g#1 ~ g#1 ~",
  T: "a#1 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~", U: "a#1 ~ a#1 ~ a#1 ~ a#1@2 [c#2,d2] ~ f2@2 d2 c2 a#1 ~",
  V: "[c2@4 ~@2 c2 ~ c2@5 ~ a1@7 ~ a1 ~ a1@7 ~]/2", W: "g#1@4 ~@2 g#1 ~ g#1@8", X: "a#1@5 ~ a#1 ~ a#1@2 g2@2 a#2@4",
  Y: "a#1@4 ~@2 a#1@2 [f#2,g2] ~ a#2@2 d3@2 g2 ~", Z: "a#1@5 ~ a#1 ~ a#1@2 f2@2 a#2@2 f2 ~", AA: "c2@7 ~ c2 ~ c2@6",
  AB: "a#1@7 ~ a#1 ~ a#1@6", AC: "g#1@7 ~ g#1 ~ g#1@5 ~", AD: "g#1@6 ~@2 g#1 ~ g#1@2 ~@2 a#1@2",
  AE: "a#1@6 ~ a#1!2 ~ a#1@6", AF: "g#1@6 ~@2 g#1 ~ g#1@3 ~ a#1@2", AG: "a#1@7 ~ a#1 ~ a#1@4 a#2@2",
  AH: "f1@7 ~ f1 ~ f1@5 ~", AI: "f1@7 ~ f1 ~ f1 ~ f1@2 g1@2", AJ: "g#1@6 ~@2 g#1 ~ g#1@4 c2@2",
  AK: "a#1@5 ~ a#1 ~ a#1 ~ a#1@5 ~", AL: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~",
  AM: "a1 a1@2 ~ a1@3 ~ a2 a1@2 ~ a1@2 ~@2", AN: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
  AO: "c2 ~ c2@2 a2@2 c3@2 a2@2 e2@2 d2@2 c2@2", AP: "c2 ~ c2 ~ c2 ~ c2 ~ a2@2 c3@2 a2 g2 e2 c2",
  AQ: "c2 ~ c2 ~ c2 ~ c2 ~ [g#2,a2] ~ c3 ~ d3@2 a2 ~", AR: "[~@2 c1@11 ~@3, ~ c2@38 ~@9]/3",
})).s("gm_fretless_bass").gain(0.4)

// chords · pad warm · "Warm pad"
const pad_warm = note(`<
  A@4 B@4 C@2 D@2 ~@2 E@2 F@4 G H I@2 F@4 G H J@8 ~@10 K@12 L@4 M@4 N@2 O@2 P Q F@4 G H R@4 S@3 G S@3 G S@3 G S@3 G S@3
  G S@3 G ~@3
>`.pickRestart({
  A: "[[a2,a3,c4] [g2,g3,b3] [f2,f3,a3,c4]@2, e4]/4", // Am G F
  B: "[[a2,a3,c4]@8 [g2,g3,b3,d4]@8 ~ c4@14 ~, e4@61 ~@3, ~@16 [f2,f3,a3]@15 ~]/4", C: "[[a3,c4] [g3,b3], e4]/2",
  D: "[[f#3,a3,d4]@7 [g3,c4,e4]]/2", E: "[a2,a3,d4,e4]/2", F: "[g3,c4]/4", G: "[f3,a3]", H: "[g3,b3]",
  I: "[g3,c4,d4]/2", J: "[[a3,b3]@31 c4@17 [g3,b3,d4]@16, e4, ~@31 a3 ~@32]/4",
  K: "[[c4,d4]@31 d#4@17 [a#3,d4,f4]@16, g4, ~@31 c4 ~@32]/4", // Csus2 A#
  L: "[[c3,c4,d#4]@15 ~ a#3@16 [g#2,c4,d#4]@32, g4, ~@15 [a#2,d4]@17 ~@32]/4", // Cm G# A#
  M: "[[c3,c4,d#4]@16 [a#2,a#3,d4]@15 ~ c4@32, g4, ~@31 [g#2,d#4]@32 ~]/4", N: "[[c4,d#4] [a#3,d4], g4]/2",
  O: "[a3,c4,f4]/2", P: "[g#3,c4,d#4]", Q: "[a#3,d4,f4]", R: "[[a3,c4,e4]@53 ~@11]/4", S: "[g3,c4]/3",
})).s("gm_pad_warm").gain(0.13)

// chords · piano · "Piano 1"
const piano = note(`<
  ~@7 A B C@2 D E F G ~ H@2 I@2 J K L M H@2 N@2 J K O@3 ~ O@3 ~ P@2 Q R P@2 Q R P@2 ~ S T U V W X Y Z AA AB AC AD@2 AE
  AF AG AH AE AI AJ@3 ~ AK AL H@2 I@2 J K AM@3 AN H@2 AO@2 AP@2 AQ AR H@2 AS J H@2 AT AU H@2 AS AV H@2 AW AX AY@3
>`.pickRestart({
  A: "~@12 a4@2 g4 ~, ~@3 e4@3 ~@2, ~@8 c5@7 ~, ~@10 b4@5 ~", B: "e4@15 ~", C: "[~@5 g5@2 f#5@3 ~@6, ~@3 e5@4 ~@9]/2",
  D: "~@5 a4 b4@2", E: "[f2,g3,a3,c4,e4,c5]", F: "[g2,g3,b3,d4,e4]", G: "[a1,g3,c4]@15 ~",
  H: "[[c2,g3,c4,e4]@21 ~@11]/2", I: "[[a2,g3,c4,e4]@15 ~]/2", J: "[f2,c4,g4]@15 ~", K: "[g2,d4,a4]@7 ~",
  L: "~@2 e5@2 ~@2 e5@2 a5@2 e5 ~ g5@2 b4@2, c6@3 ~, ~@2 b5@3 ~@3", M: "e5@4 c5@8 [g2,d4,g4]@3 ~",
  N: "[~@20 [g4,b4,d5]@2 [a4,c5,e5]@3 ~@7, [a2,g3,c4,e4]@15 ~]/2", // G Am Am7
  O: "[~@2 c#5@2 e5@2 c#5 e5@3 c#5@2 e5 ~ c#5 f#5@8 ~ c#5 ~ c#5@2 d5 e5@2 c5@3 a4@5 ~@9]/3",
  P: "[[g#3,a#3,d#4]@5 ~ g#3@4 ~@10 [g#3,d#4]@2 [g#3,a#3,d#4]@4 ~@2 g#2@4, g#2@4 ~ g#2@2 a#3@4 ~@5, ~@6 [a#3,d#4]@6 g#3@7 ~@7 [g#3,a#3,d#4]@5 ~, ~@15 d#4@4 ~@13, ~@16 g#2@11 ~@5]/2", // G#sus2 G#5 G#sus2 D#5 G#sus2
  Q: "a#2@5 ~ a#2@4 a#3@2 a#2@2 a#3@2, c4, [a#3,f4]@9 ~ f4@6", // A#5
  R: "[a#2,a#3]@2 [a#3,f4] a#2 [a#3,f4] a#2 [a#3,f4] a#2, c4@4 c4@3 ~, f4@3 ~@13", S: "~@6 c6@7 ~@3, ~@2 e5@11 ~@3",
  T: "~@6 d#5@3 c5@2 ~@2 f4 d#4@2, g5@9 ~@7, ~@3 f5@6 ~@3 g4@2 ~@2", U: "f4@4 g4@9 ~@3, a#2@7 ~",
  V: "~@6 c5 d5 e5 g5 c6 d6 e6 f6 g6 ~", W: "~@6 e6 d6 c6 d6 e6 ~@5",
  X: "d#6 c6 g5 f5 d#5@2 ~@2 g4 f4 g4@2 ~ f4@3, ~@7 c5@5 ~@4", Y: "f4@5 ~@11", Z: "~@10 [e5,c6]@3 [d5,b5]@3, c2@13 ~@3",
  AA: "[d5,b5]@3 [c5,a5]@3 [g4,e5]@6 ~@4", AB: "[g4,d#5]@3 [f4,d5]@3 [d#4,c5]@8 ~@2, g#2@7 ~",
  AC: "[d#4,c5]@3 [d4,a#4]@3 [a#3,f4]@7 ~@3", // Cm Gm A#5
  AD: "[[c4,d#4,g4]@10 c3@2 [c4,d#4]@2 c3@2 [a#2,d4]@15 ~, c2@15 ~ a#3@12 ~@4, ~@12 g4@19 ~]/2", AE: "[g#2,c4,g4]",
  AF: "c4 ~@3 c5 c6 a#5@2 f5 a#5 g5@2 ~ [c5,g5] d#5@2, [g#2,g3]@7 ~", AG: "[c2,f5]@3 ~", AH: "[a#2,a#3,g4]@3 ~",
  AI: "~@2 c4@2 [c4,g4]@9 ~@3, g#2@13 ~@3", AJ: "[[g4,d#5]@6 f5 [a#2,g5]@7 a#4 ~ f2@6 ~@2, c3@7 ~@8 f4@7 ~@2]/3",
  AK: "[g#2,g#5,d#6]@11 ~ g#5 ~ g#5 ~, ~@3 [g#2,d#5]", AL: "[a#2,d5,a#5]@13 ~@3",
  AM: "[~@8 a3@10 ~@20 e3@6 a3@2 e3 ~, a1@2 c4@7 ~ a3@7 ~@7, ~ e3@8 ~@2 e4@6 ~@7, ~@6 a1@8 ~@4 a1@5 ~ a1@7 ~ a1@16, ~@28 c4@6 ~@4 c4@9 ~]/3",
  AN: "~ a1@3 a2@4 ~ a1@3 a2@3 ~", AO: "[~@18 d6@4 c6@5 ~@5, [a2,g3,c4,e4]@16 [f2,c4,g4]@15 ~, ~@7 e6@2 ~@7]/2",
  AP: "[~@6 f6 e6@2 d6@2 c6@3 ~@2]/2", AQ: "[a2,c4,g4]@13 ~@3", AR: "[f2,c4,g4]@13 ~@3", AS: "[a2,c4,g4]@15 ~",
  AT: "[a2,c4,g4]@7 ~", AU: "[f2,c4,g4]@7 ~", AV: "[f2,c4]@11 ~@5", AW: "[a2,g3,c4,e4]",
  AX: "~@2 d6@4 c6@5 ~@5, [f2,c4,g4]", AY: "[~ [c2,c4,e4]@38 ~@9]/3",
})).s("gm_piano").gain(0.4)

// chords · acoustic guitar steel · "Steel gt"
const acoustic_guitar_steel = note(`<
  ~@7 A@2 ~@2 B ~@7 C D ~@7 D E F G H I F J H I ~@10 K L M N K O M N K O M N P Q R@2 ~@3 S T U V W X Y ~@4 D E Z@2 AA
  ~@21 AB@2 AC AD@2 ~@2
>`.pickRestart({
  A: "[~@8 d4@7 ~, ~@7 g4@8 ~]/2", B: "~@6 f#5@5 ~ [g4,b4]@4, ~@2 a4@9 ~@5, ~@4 d5@7 ~@5", C: "a2@15 ~", D: "f2",
  E: "g2@15 ~", F: "~@2 a3 ~ [a3,b3,e4]@2 ~ a3@2 a2@3 ~@2 a2@2, a2@5 ~ a2@2 ~@8, ~@7 [b3,e4]@5 [b3,e4]@4",
  G: "~@2 a3@2 [a3,c#4,e4]@2 ~ a3@3 a3@3 ~ a3@2, f#2@4 ~@2 f#2@3 ~@7, ~@7 [c#4,e4]@9", // A C#m
  H: "f2@4 [a3,c4,e4]@2 ~ a3@2 ~@5 a3@2, ~@6 f2@3 f2@7, ~@7 [c4,e4]@9", // Am C
  I: "g2@4 [b3,d4,g4]@2 ~ b3@2 ~ b3@4 ~@2, ~@6 g2@3 g2@5 ~@2, ~@7 [d4,g4]@7 ~@2", // G G5
  J: "~@2 a3 ~ [a3,c#4,e4]@2 ~ a3@3 a3@3 ~ a3@2, f#2@4 ~@2 f#2@3 ~@7, ~@7 [c#4,e4]@9", // A C#m
  K: "~@2 c4 ~ [c4,d4,g4]@2 ~ c4@2 c3@3 ~@2 c3@2, c3@5 ~ c3@2 ~@8, ~@7 [d4,g4]@5 [d4,g4]@4", // Csus2 G5
  L: "~@2 c4@2 [c4,e4,g4]@2 ~ c4@3 c4@3 ~ c4@2, a2@4 ~@2 a2@3 ~@7, ~@7 [e4,g4]@9", // C Em
  M: "g#2@4 [c4,d#4,g4]@2 ~ c4@2 ~@5 c4@2, ~@6 g#2@3 g#2@7, ~@7 [d#4,g4]@9", // Cm D#
  N: "a#2@4 [d4,f4,a#4]@2 ~ d4@2 ~ d4@4 ~@2, ~@6 a#2@3 a#2@5 ~@2, ~@7 [f4,a#4]@7 ~@2", // A# A#5
  O: "~@2 c4 ~ [c4,e4,g4]@2 ~ c4@3 c4@3 ~ c4@2, a2@4 ~@2 a2@3 ~@7, ~@7 [e4,g4]@9", // C Em
  P: "~@4 [g3,c4,d#4] ~@2 g3@6 ~ g3@2, ~@7 [c4,d#4]@9", Q: "a#2@4 [g3,a#3,d4] ~@2 [a#2,g3,a#3,d4]@9",
  R: "[g#2@4 [g3,c4] ~@5 g#2@6 ~@4 g3 ~ g3 g3@2 ~ g3 ~ [g3,c4]@2 g#2 ~, ~@7 c4@13 ~@3 c4@4 ~@5, ~@7 g3@11 g#2@6 ~ g#2@3 ~@4]/2", // C5
  S: "~@8 [a#4,d#5]@3 ~ [a#4,d#5]@3 ~", T: "[g4,c5]@3 ~",
  U: "[c4,c5]@3 [c4,c5]@2 ~ c4 ~ [c4,c5]@3 [c4,c5]@2 ~ c5 ~, ~@13 c4@2 ~", // C
  V: "~@6 f4@9 ~, f4@5 ~@11, ~@2 f3@2 ~ f3@10 ~, ~@3 c5@12 ~",
  W: "~@4 [a3,g4] ~@3 f2@3 ~@3 a3 ~, ~@2 f2@4 [a3,c4,g4]@5 a3@2 f2@2 ~, ~@12 [c4,g4]@3 ~", // A7 Am7 C5
  X: "~ f#3@3 ~@2 [c4,d#4] g#2, g#2@5 ~@3 g#2@4 ~@4, ~ [c4,d#4]@4 f#3@2 ~", // Cm
  Y: "a#2@2 [a#3,d4] ~@2 d4@3 d4@4 ~ a#3 d4 ~, ~@5 a#3@8 ~@3, ~@8 f3@3 ~ f3@3 ~", // A#
  Z: "[~@4 [b3,c4]@14 ~@4 b3@4 ~@2 b3@2 g3 ~, a2@15 ~@3 a2@12 ~@2, ~@4 g3@9 ~@9 e4@10, ~@26 c4@5 ~]/2", // Cmaj7
  AA: "~ [g3,b3,c4]@3, a2", AB: "~ g3 ~@3 g3 ~ g3, c3, ~@4 d4@7 ~ d4@4, ~@3 g3@2 ~@3, ~ e4",
  AC: "~ e3 ~ e3 ~@3 c4, a2, ~@2 b3@3 e3@3, ~@2 c4 b3",
  AD: "[~@12 g3@3 f3@2 ~@15, f2@17 ~@15, f3@4 g4@13 ~@15, ~ g3@3 c4@4 ~@8, ~@3 f3@4 ~@9]/2",
})).s("gm_acoustic_guitar_steel").gain(0.25)

// chords · acoustic guitar steel · "Steel gt" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@30 A B C D A B C D ~@10 E F G H E F G H E F G H I ~@12 J ~@6 K L ~@29
>`.pickRestart({
  A: "~@5 a3 a3@2", B: "~@5 f#2@3", C: "~@2 a3 ~@7 a3@3 ~@3", D: "~@2 b3 ~@13", E: "~@5 c4 c4@2", F: "~@5 a2@3",
  G: "~@2 c4 ~@7 c4@3 ~@3", H: "~@2 d4 ~@13", I: "c3 ~@3", J: "~@5 f3@3 ~@6 a#3 ~", K: "~@7 g3", L: "~@2 g3 ~@13",
})).s("gm_acoustic_guitar_steel").gain(0.15)

// chords · electric guitar clean · "Clean gt"
const electric_guitar_clean = note(`<
  ~@11 A ~@4 B@2 C@2 D E F@2 B@2 C@2 D G@2 H I J@2 H I K L@2 M@2 L@2 M@2 N O P Q R S@2 Q R T U Q R T ~@14 B@2 C@2 D V@4
  W B@2 X D B@2 Y D B@2 X D B@2 X D B@2 X D B@2 X Z@4
>`.pickRestart({
  A: "~@12 [g3,b3,e4]@2 d4 ~", // Em
  B: "[~ g3 ~ g3 ~ g3 ~ g3 ~ g3 ~@5 g3, c3@15 ~ c3@16, ~ d4 e4@4 e4@2, ~@12 d4@6 ~@2 d4@5 ~@3 d4@4, ~@22 g3@7 ~@3]/2",
  C: "[~@2 e3@2 ~@2 e3@2 ~@10 e3@2 b3@2 ~@2 b3 ~@3 b3@2 c4 ~, a2@14 c4@9 ~ c4@5 ~@3, ~@4 b3@4 c4@4 b3@6 ~@4 e3@4 e3@5 ~, ~@10 e3@6 a2@15 ~]/2",
  D: "~ g3 ~@4 g3 f3, f3@2 g4@2 c4@3 ~, ~@3 g3@2 ~@3", E: "~ g3 ~@2 d4@2 g3!2, g2, ~@2 a4@5 ~, ~@3 g3@2 ~@3",
  F: "[~@2 g3@2 ~@2 g3@2 ~@6 g3@2 ~@2 g3@2 ~@2 g3@2 ~@4 g4@3 ~, a2@15 ~ a2@15 ~, ~@4 c4@4 d4@4 e4@8 c4@4 d4@7 ~, ~@10 g3@4 ~@12 g3@5 ~]/2",
  G: "[~ g3 ~@2 d4@2 g3 ~ [b3,e4]@8, g2 ~, ~@4 a4@10 ~ [a2,a3]@17, ~@6 g3@4 ~@4 g3@2 c#4@13 ~@3]/2", // E5 A
  H: "~@6 b3@9 ~, ~ f#2@6 ~, ~@4 e4@11 ~", I: "~ e4@15, [f2,a3,c4]@15 ~",
  J: "[[g2,b3,d4,g4]@7 ~ [b3,c#4,e4]@6 ~@2, ~@15 [a2,a3]@13 ~@4]/2", K: "[g2,b3,d4,g4]@7 ~",
  L: "[[d#3,g#3]@5 ~@2 [g#2,c3]]/2", M: "[[f3,a#3]@23 ~ [f3,a#3]@3 a#2 [f3,a#3]@3 ~]/2", N: "[c3,g#3,d#4]@7 ~",
  O: "~@12 [g#2,c3]@3 ~", P: "[g2,e3]@3 ~", Q: "~@6 d4@9 ~, ~ a2@6 ~, ~@4 g4@11 ~", R: "~ g4@15, [g#2,c4,d#4]@15 ~",
  S: "[[a#2,d4,f4,a#4]@7 ~ [d4,e4,g4]@6 ~@2, ~@15 [c3,c4]@13 ~@4]/2", T: "[a#2,d4,f4,a#4]@7 ~", U: "[e4,g4]@3 ~",
  V: "[~@2 g3@2 ~@4 d4@4 g3@2 ~ a2 ~@2 e3@2 b3@2 e3@2 ~@2 e3@2 ~@2 e3@2 ~@2 e3@2 ~@2 e3@2 ~@2 e3@2 ~@2 e3@2 ~@2 e3@2 ~@2 e3@2 ~@2 e3@2 b3@2 e3 ~, g2@16 a2@15 ~ a2@14 ~@2 a2@15 ~, ~@4 a4@10 ~ a3@17 ~@32, ~@6 g3@4 ~@4 g3@2 [b3,c4]@4 ~@4 c4@12 ~@4 c4@12 ~@4 c4@7 ~, ~@14 b3@2 ~@2 b3@2 ~@2 b3@3 ~ b3@2 ~@4]/4", // Cmaj7
  W: "~ [c4,e4,g4]@2 a2 [c4,e4,a4]@4 a2 [e4,g4,c5]@2 ~ [c4,e4,g4]@3 ~, ~@12 a2 ~@3", // C Am C
  X: "~ e3 ~ e3 ~@3 c4, a2@15 ~, ~ b3 c4 b3, ~@5 e3@3", Y: "~ e3 ~ e3 ~@2 b3 c4, a2@15 ~, ~ b3 c4 ~, ~@5 e3@3",
  Z: "[~@2 g3@2 ~@8 g3@3 f3@2 [d4,e4,g4]@38 ~@9, f3@4 g4@4 c4@7 ~@49, ~@3 g3@2 ~@27]/4", // Em7
})).s("gm_electric_guitar_clean").gain(0.21)

// other · trombone
const trombone = note("<~@91 A B@2 C D E F G H I J K L M N O P Q@3>".pickRestart({
  A: "~@7 a4", B: "[g4@4 d5 e5 e5@21 ~ e5 d5 c5 ~]/2", C: "g5@2 [d#5,e5] ~ e5@11 ~, ~@4 d#5 ~@11",
  D: "~@6 d5 c5 ~ e5 d5 c5 ~ e5 d5 ~", E: "c5 ~ e5 e5@11 d5 c5", F: "b4 ~ g4 e4@10 ~@3",
  G: "~@5 e4 g4 a4 b4 ~ c5 d5@2 g4 a4 [b4,c5]", H: "d5@6 ~ c5 b4 a4 g4 f#4 f4 a4 g4 f4", I: "e4@7 ~",
  J: "~@10 c4 b3 d4 c4 b3 a3", K: "b3@2 a3 g3@10 ~@3", L: "~@7 g4 a#4@2 ~ [g4,a#4] g4@2 ~ [f4,g4]",
  M: "e4 ~ f4 g4 ~ a4@3 g4@7 ~", N: "~@6 g4 a4 b4 c5 d5 e5 g5 e5 d5 c5",
  O: "b4 g#4 a4 b4 c5 d5 e5 c5 g#4 ~ b4 ~ a4 g4 f4 e4", P: "d4 c#4 c4@2 ~ g4 f4 e4 f4 g4 g#4 a#4 g4 ~ f4 e4",
  Q: "[d4 e4@5 g4@33 ~@9]/3",
})).s("gm_trombone").gain(0.4)

// other · overdriven guitar · "Overd.gt"
const overdriven_guitar = note(`<
  ~@24 A B C@2 D E ~@7 F G@2 H ~ G@2 H ~ G@2 ~@3 I J ~@21 K@2 C@2 D E L M ~ N K@2 C O K@2 C O K@2 C O K@2 C O K@2 C O
  K@2 C P@2 ~@2
>`.pickRestart({
  A: "c3 ~ c3 ~ [g2,c3] ~@3 c3 ~@3 [g2,c3]@2 c3 ~", B: "c3 ~ c3 ~ [g2,c3] ~ c3 ~@3 c3 ~ [g2,c3] ~ c3 ~",
  C: "a2 e3 b3 c4 ~@4", D: "[f3,d4] ~ c4 ~@5", E: "[g3,d4]@3 ~@9 c4@2 g3 ~", F: "~@12 [d3,g3]@3 ~",
  G: "[[g#2,d#3]@31 ~]/2", H: "[a#2,f3]", I: "~@11 g3 c4 a#3 g3 c4", J: "~ a#3 g3 c4 ~@12",
  K: "[~@2 g3@2 d4@2 g3@2 e4@4 d4@6 ~@2 d4@2 g3@2 e4@3 ~ d4@3 ~]/2", L: "~@2 b3 e3 c4@2 b3 e3, ~ a2@2 ~@5",
  M: "~@4 b3@2 e3@2 c4@2 e3@2 b3@2 e3 ~, a2@3 ~@5", N: "~ [c4,e4,g4]@3 [c4,e4,a4]@4 ~ [e4,g4,c5]@3 [c4,e4,a4]@3 ~",
  O: "f3@4 g4@2 f3@2 c4 f3 [c4,g4] f3 [c4,g4] f3 ~ f3, ~@7 [c4,g4]", // C5
  P: "[f3@4 g4@2 f3@2 c4 f3 [c4,g4] f3 ~ f3 ~@2 f3 ~@15, ~@12 [c4,g4]@2 ~ [c4,g4]@2 ~@15]/2", // C5
})).s("gm_overdriven_guitar").gain(0.21)

// other · soprano sax · "Sopr.sax"
const soprano_sax = note("<~@32 A B C ~ D E@2 ~@21 F@4 G@2 H@3 ~@42>".pickRestart({
  A: "~@5 a5 [f5,g5] c5 a4 g4 f4 g4 a4 c5@3", B: "d5 ~ d5 c5 a4@4 g4 a4 g4@3 e4 d4 c4", C: "c#4 ~",
  D: "~@7 f4 g4 a4 c5 d5 e5 f5 g5 a5", E: "[b5@3 a5 g5 e5 d5 b4 a4@3 g4 a4 b4 c5@6 ~@12, a#5 ~@31]/2",
  F: "[~@4 g4@2 g4@2 g4@4 d#4@2 f4@4 g4@8 d#4@2 f4@2 g4@5 ~ g4@2 f4@6 d#4@2 c4@12 ~@6]/4",
  G: "[~@4 [c5,d#5,g5] ~ c5 ~ c5@4 d5@2 a#4@16 f4 g4, ~@12 c#5 ~@19]/2", // Cm
  H: "[g#4 ~ [f#4,g4] f4@3 ~ d#4 f4 ~ g4@7 c4 d#4 f4 g4 f4 d#4 c4 d#4 f4 g4 a#4@3 g4 c5@4 ~@13, ~@10 f#4 ~@37]/3", // Gmaj7
})).s("gm_soprano_sax").gain(0.39)

// chords · string ensemble 1 · "Strings"
const string_ensemble_1 = note("<~@48 A@4 ~@59>".pickRestart({
  A: "[g5,c6]/4", // C5
})).s("gm_string_ensemble_1").gain(0.31)

// other · electric guitar muted · "Muted gt"
const electric_guitar_muted = note("<~@55 [~ c4 ~@11 a#3 c4 ~] ~@2 [~@9 c4 g#3 ~ c4 g#3 ~@2] ~@52>")
  .s("gm_electric_guitar_muted").gain(0.31)

// drums · kick
const kick = s("bd").struct(`<
  ~@8 A@8 B@7 C B@5 C D E B@2 D E B C F G C H F G C H F I D E B@2 D E B C D E B C A@14 B J B J B K B J L M B J B@3 J B@3
  N B@3 N B@3 N B@3 O B@2 P ~@2
>`.pickRestart({
  A: "x ~@3 x!2 ~@2", B: "x ~@2 x!2 ~@3", C: "x ~@2 x!2 ~@2 x", D: "x ~@7 x ~ x ~@4 x", E: "~ x ~@2 x!2 ~@2",
  F: "x ~@2 x!3 ~ x", G: "x ~@5 x ~@2 x ~ x ~@2 x ~", H: "x!2 ~ x!2 ~@3", I: "x ~@2 x ~@3 x",
  J: "x ~ x ~@4 x ~@2 x ~@5", K: "x ~@5 x ~ x ~@2 x ~@4", L: "x ~@5 x ~ x ~@2 x ~@2 x ~",
  M: "~ x ~@2 x ~@4 x ~@2 x ~@3", N: "x ~@6 x ~@2 x ~@5", O: "x ~@6 x ~ x ~@6", P: "~ x ~@14",
})).gain(0.48)

// drums · snare
const snare = s("sd").struct(`<
  ~@8 A@7 B A@7 C A@5 C A@7 D A@3 E A@3 E A F A@7 D A@3 D A@13 G A H I H A@3 H J K A H A@3 H A@3 H A@3 H I A I H A@3 H
  A@2 ~@3
>`.pickRestart({
  A: "~ x ~ x", B: "~@2 x ~@3 x!2", C: "~@4 x ~@6 x!2 ~@3", D: "~@4 x ~@3 x ~ x ~ x!2 ~@2", E: "~@4 x ~@7 x!2 ~@2",
  F: "~@4 x ~@3 x ~@2 x!2 ~@3", G: "~@4 x ~@4 x!2 ~ x ~ x!2", H: "~ x ~@2 x ~@7 x ~@3", I: "~@4 x ~@7 x ~@2 x",
// … 59 more lines

More by Mina