Strudelify
Every Breath You Take cover art

My Songs

Every Breath You Take

Sting

KeyG majorTempo107 bpm
0:00/0:00
// Every Breath You Take — Sting
// 107 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 15 "tk15" electric guitar muted (copy of ch 5 "tk5" electric guitar muted, 0.5 beats late)
// note: Full arrangement: all 97 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): tk14.
setcpm(107/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 · "tk2"
const bass = note(`<
  ~@2 A@2 B C D E F G A H B I J K L M A N O B J P A Q R S A@2 T U V W A X Y B Z E B AA AB AC AD AE AF AG AH AI AJ AK A
  AL AM O R AN AO AP J AQ H AR AS T V AT A X B AU J AV B AU J P AW AX AY AZ A X B J X A B J BA AR B J H BB BC
>`.pickRestart({
  A: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~", B: "e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~",
  C: "e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1!5 ~", D: "c2 ~ c2!3 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2@2",
  E: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2@2", F: "g1 ~ g1!3 ~ g1 ~ g2@2 g2@2 d2 ~ g1 ~",
  G: "g1!3 ~ g1 ~ g1 ~ g1 ~ g1 ~ d2@2 d2@2", H: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1!3 ~ g1 ~",
  I: "e1 ~ e1!3 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~", J: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
  K: "d2 ~ d2 ~ d2 ~ d2@2 d2 ~ d2 ~ d2 ~ d2 ~", L: "e1 ~ e1!3 ~ e1 ~ e2@2 d2 ~ b1 ~ e1 ~",
  M: "e1@2 e1!3 ~ e1 ~ e1 ~ e2@2 d2 ~ d1@2", N: "g1 ~ g1!3 ~ g1 ~ g1 ~ g1 ~ g1 ~ g2@2",
  O: "e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1!3 ~", P: "d2 ~ d2!3 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
  Q: "g1!3 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~", R: "c2@2 c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
  S: "a#1 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~ a#1@2", T: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~",
  U: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1@2", V: "d1 ~ d1 ~ d1 ~ d1 ~ d1 ~ d1 ~ d1 ~ d1 ~",
  W: "d1 ~ d1 ~ d1 ~ d1 ~ d1 ~ d1 ~ d1@2 d2@2", X: "g1 ~ g1!3 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~",
  Y: "e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1!3 ~ e1 ~", Z: "c2@2 c2!3 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
  AA: "e1 ~ e1!3 ~ e1 ~ e1!3 ~ e1 ~ e1 ~", AB: "d#1!2 d#2 d#1!3 d#2!2", AC: "d#1 d#2!2 d#1 d#2!2 d#1 d#2",
  AD: "f1!2 f2 f1!3 f2!2", AE: "f1@2 f1@2 f2@2 f1@2 f2!2 f2@2 f2@2 f1@2",
  AF: "d#1@2 d#1 ~ d#2@2 d#1@2 d#2@2 d#2@2 d#1@2 d#2@2", AG: "d#1@2 d#1@2 d#2@2 d#1@2 d#2!2 d#2@2 d#1@2 d#2@2",
  AH: "f1!2 f2 f1 f2 f1 f2!2", AI: "f1!2 f1@2 f2@2 f1@2 f2@2 f1@2 f2!2 f2@2", AJ: "d#1!2 d#2 d#1!3 d#2 d#1",
  AK: "d#1@2 d#2@2 d#2@2 d#1@2 d#2!2 d#2@2 d#2@2 d#1@2", AL: "g1 ~ g1!3 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1@2",
  AM: "e1 ~ e1 ~ e1 ~ e1 ~ e1!3 ~ e1 ~ e1 ~", AN: "d2 ~ d2 ~ d2@2 d2 ~ d2 ~ d2 ~ d2 ~ d2@2",
  AO: "g1 ~ g1!3 ~ g1 ~ g1 ~ g1 ~ g2 ~ g1 ~", AP: "g1!3 ~ g1 ~ g1 ~ g1 ~ g1 ~ g2@2 g1 ~",
  AQ: "a#1 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~ a#1 ~", AR: "g1 ~ g1 ~ g1!3 ~ g1 ~ g1 ~ g1 ~ g1 ~",
  AS: "a1 ~ a1 ~ a1 ~ a1 ~ a1!3 ~ a1 ~ a1 ~", AT: "d1 ~ d1!3 ~ d1 ~ d1 ~ d1 ~ d1 ~ d1 ~",
  AU: "e1!3 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~", AV: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
  AW: "e2@2 e2 ~ e2 ~ e2 ~ e2 ~ e2!3 ~ e2 ~", AX: "e2 ~ e2 ~ e2 ~ e2 ~ e2@2 d2 ~ b1 ~ g1@2",
  AY: "e1@3 ~ e1 ~ e1@3 e1!2 ~ e1 ~ e1 ~", AZ: "e1 ~ e1!2 e2@2 e1 ~ e2@2 e1@2 e1 ~ e2 ~",
  BA: "g1 ~ g1 ~ g1 ~ g1!3 ~ g1 ~ g1 ~ g1 ~", BB: "g1 ~ g1 ~ g1 ~ g1 ~ g1!3 ~ g1 ~ g1 ~", BC: "e1 ~ e1 ~ e1 ~ e1 ~@9",
})).s("gm_electric_bass_finger").gain(0.5)

// chords · electric guitar muted · "tk5"
const electric_guitar_muted = note(`<
  ~@2 A@2 B@2 C@2 D@4 E@2 F G H@2 I@2 E@2 J K L@2 M N O@2 P@2 Q@2 R@2 E@2 J K S@2 ~@10 T@2 E@2 U K L@2 V W X@2 Y@2 Z@2
  AA@2 AB@2 J K AC@2 J K AC@4 AD AE AF@2 AD AE AF@2 AD AE AF@2 AD AE AG
>`.pickRestart({
  A: "[~ d3 g2 ~@5 g2 [g2,d3] g2 ~@4 a3, g2@4 a3@6 a3@4 a3@6 a3@5 ~ a3@4 ~@2, ~@6 d3@5 ~ d3@6 ~@4 d3@5 ~ d3@4, ~@8 [g2,b3]@9 ~@7 [g2,b3]@8]/2", // G5 G
  B: "[e2 [e2,b2] ~ b2 ~ f#3 ~ f#3 ~@2 e2 ~ e2 f#3 ~ f#3, ~ [e2,f#3] g3@4 g3@2, ~@4 e2@4 e2@2 f#3@3 ~@3, ~@12 b2@6 b2@4 b2@5 ~ b2@4]/2", // E5 Esus2
  C: "[c3 ~ c3 ~ c3@2 ~@6 c3@2 ~@2 d3@2 [d3,a3]@2 d3 ~@9 a3@2, ~ g3@2 g3@2 g3@2 g3@2 ~@2 a3@2 a3@2 ~, ~@4 d4@8 ~@8 e4@7 ~@5, ~@8 c4@7 ~@9 d4@7 ~, ~@2 c3 ~@3 d3!2]/2", // D5
  D: "[[g2,d3]@2 g2@2 g2@2 ~@4 a3@2 ~@4 g2 ~ d3@2 g2@2 ~@10 g2 ~ g2 ~ g2@2 ~@4 a3@2 ~@4 g2 ~ g2@2 g2@2 ~@4 a3@2 ~@2 a3@2, ~@2 d3@4 d3@5 ~ d3@5 ~@5 d3@5 ~ d3@5 ~ d3@4 d3@5 ~ d3@5 ~ d3@4 d3@5 ~ d3@4, ~@4 a3@6 ~@4 a3@6 a3@5 ~ a3@4 a3@6 a3@5 ~@5 a3@6 a3@5 ~@7, ~@8 [g2,b3]@8 ~@2 g2 ~@5 [g2,b3]@8 ~@8 [g2,b3]@8 ~@8 [g2,b3]@8]/4", // G5 G
  E: "[e2@2 [e2,b2]@2 ~@12 e2 ~ [e2,b2]@2 ~@6 f#3@2 b2@2 f#3@2, ~@4 f#3@6 f#3@4 f#3@5 ~ f#3@6 ~@6, ~ e2 [e2,g3]@2 ~ e2 [e2,g3]@2, ~@6 b2@5 ~ b2@5 ~@5 b2@5 ~@5]/2", // E5 Em
  F: "c3 ~ [c3,g3]@2 c3@2 g3@2 ~@2 g3@2 c3@2 g3@2, ~ d4@2 ~, ~@8 c4@7 ~, ~@2 c3 ~", // C5
  G: "d3 ~ a3@2 ~@2 a3@2 d3@2 ~@2 d3@2 a3@2, ~ d3@3 d4@4, ~@2 e4@5 ~, ~@5 a3@2 ~",
  H: "[e2 ~ [e2,b2]@2 ~@6 f#3@2 ~@2 f#3@2 e2@2 [e2,b2]@2 ~@4 g3@2 ~@4 f#3@2, ~@2 f#3@3 ~@5 f#3@3 f#3@2 ~, ~@4 e2@4 g3@9 ~@15, ~@6 b2@5 ~ b2@6 ~@4 b2@5 ~ b2@4, ~@8 e2@4 ~@8 e2@4 e2@7 ~]/2", // E5
  I: "[g2 ~ g2 ~ g2@2 ~@4 a3@2 ~@4 g2 ~ g2@2 g2@2 ~@4 a3@2 ~@2 a3@2, ~@2 d3@4 d3@5 ~ d3@5 ~ d3@4 d3@5 ~ d3@4, ~ a3 [g2,b3]@2 ~@2 [g2,b3]@2, ~@14 a3@6 a3@5 ~@7]/2", // G
  J: "c3 ~ [c3,g3]@2 ~@6 g3@2 c3@2 g3@2, ~@4 [c3,d4]@4 c4@7 ~, ~@3 g3@2 ~@3, ~@2 c3 ~", // C5 Csus2
  K: "d3 ~ a3@2 ~@8 d3@2 a3@2, ~ d3@3 [d3,d4]@2 ~@2, ~@2 e4@5 ~, ~@3 a3@2 a3@2 ~", // D
  L: "[g2 ~ [g2,d3]@2 ~@6 a3@2 ~@2 a3@2 g2@2 [g2,d3]@2 ~@4 b3@2 ~@4 a3@2, ~@2 a3@3 ~@5 a3@3 a3@2 ~, ~@4 g2@4 [g2,b3]@8 ~@4 g2@4 g2@7 ~, ~@6 d3@5 ~ d3@6 ~@4 d3@5 ~ d3@4]/2", // G5 G
  M: "~ g3 ~ g3 ~@3 g3, c3@2 d4@3 g3@2 ~, ~ c3 c4@2, ~@2 c3!2",
  N: "~ g3 ~ g3 ~@3 g3, a#2@2 c4@3 g3@2 ~, ~ a#2 a#3@2, ~@2 a#2!2",
  O: "[~ d3 g2 ~@5 g2 [g2,d3] g2 ~@4 a3, g2@4 a3@6 a3@4 a3@6 a3@5 ~ a3@4 ~@2, ~@6 d3@5 ~ d3@6 ~@4 d3@5 ~ d3@4, ~ b3 ~@2, ~@8 g2@4 ~@12 [g2,b3]@7 ~]/2", // G5 G
  P: "[a2 [a2,e3] a2 ~@5 a2 [a2,e3] a2 ~@4 b3, ~@2 b3@3 b3@2 b3@2 ~ b3@3 b3@2 ~, ~@6 e3@4 ~@2 e3@4 ~@6 e3@5 ~ e3@4, ~ [a2,c#4] ~ [a2,c#4]]/2", // A5 A
  Q: "d3 [d3,a3] d3 a3 d3 ~ d3 a3, ~@2 e4@3 a3@2 ~, ~ d4", // D5
  R: "[g2@2 g2 ~ g2@2 ~@4 a3@2 ~@4 g2 ~ g2@2 g2@2 ~@4 a3@2 ~@2 a3@2, ~@2 d3@4 d3@4 ~@2 d3@5 ~ d3@4 d3@5 ~ d3@4, ~ a3 b3@2 ~@2 [g2,b3]@2, ~@8 g2@5 ~ a3@6 a3@5 ~@7]/2", // G
  S: "[e2 ~ [e2,b2]@2 ~@6 f#3@2 ~@2 f#3@2 e2@2 [e2,b2]@2 ~@4 g3@2 ~@4 f#3@2, ~@2 f#3@3 ~@5 f#3@3 f#3@2 ~, ~@4 e2@4 [e2,g3]@8 ~@4 e2@4 e2@7 ~, ~@6 b2@5 ~ b2@6 ~@4 b2@5 ~ b2@4]/2", // E5 Em
  T: "[g2@2 g2 ~ g2@2 ~@4 a3@2 ~@2 a3 ~ g2 ~ g2@2 g2@2 ~@4 a3@2 ~@2 a3@2, ~@2 d3@4 d3@5 ~ d3@5 ~ d3@4 d3@5 ~ d3@4, ~@4 a3@4 b3@12 a3@5 ~@7, ~@2 g2 ~@3 [g2,b3]@2]/2", // G
  U: "c3 ~ [c3,g3]@2 [c3,c4]@2 ~@4 g3@2 c3@2 g3@2, ~@3 g3@2 ~@3, ~@8 d4@7 ~, ~@2 c3 ~", // C5 C
  V: "~ g3 ~ g3 ~@3 g3, c3@2 d4@3 g3@2 ~, ~@2 c3@2 c4@3 ~, ~@2 c3!2",
  W: "~ g3 ~ g3 ~@3 g3, a#2@2 c4@3 g3@2 ~, ~@2 a#2@2 a#3@3 ~, ~@2 a#2!2",
  X: "[~ d3 g2 ~@5 g2 [g2,d3] g2 ~@4 a3, g2@4 a3@6 a3@4 a3@6 a3@5 ~ a3@4 ~@2, ~@6 d3@5 ~ d3@6 ~@4 d3@5 ~ d3@4, ~@8 [g2,b3]@8 ~@8 [g2,b3]@7 ~]/2", // G5 G
  Y: "[a2 [a2,e3] a2 ~@5 a2 [a2,e3] a2 ~@4 b3, ~@2 b3@3 b3@2 b3@2 ~ b3@3 b3@2 ~, ~@6 e3@5 ~ e3@4 ~@6 e3@5 ~ e3@4, ~ [a2,c#4] ~ [a2,c#4]]/2", // A5 A
  Z: "d3 [d3,a3] d3 a3 d3 ~ d3 a3, ~@2 e4@3 a3@2 ~, ~@4 d4@3 ~", // D5
  AA: "[g2 ~ g2 ~ g2@2 ~@4 a3@2 ~@4 g2 ~ g2@2 g2@2 ~@4 a3@2 ~@2 a3@2, ~@2 d3@4 d3@5 ~ d3@5 ~ d3@4 d3@5 ~ d3@4, ~@4 a3@4 b3@15 ~@9, ~ g2 ~ [g2,b3], ~@14 a3@6 a3@5 ~@7]/2", // G
  AB: "[e2@2 [e2,b2]@2 ~@12 e2 ~ [e2,b2]@2 ~@6 f#3@2 b2@2 f#3@2, ~@4 f#3@6 f#3@4 f#3@5 ~ f#3@6 ~@6, ~@4 e2@4 g3@15 ~@9, ~@6 b2@5 ~ b2@5 ~@5 b2@5 ~@5, ~@2 e2@2 ~ e2 [e2,g3]@2]/2", // E5 Em
  AC: "[e2 ~ [e2,b2]@2 ~@6 f#3@2 ~@2 f#3@2 e2@2 [e2,b2]@2 ~@10 f#3@2, ~@2 f#3@3 ~@5 f#3@3 f#3@2 ~, ~@4 e2@4 [e2,g3]@8 ~@4 e2@4 [e2,g3]@7 ~, ~@6 b2@5 ~ b2@6 ~@4 b2@5 ~ b2@4]/2", // E5 Em
  AD: "g2 ~ [g2,d3]@2 ~@6 d3@2 g2@2 d3@2, ~@4 [g2,a3]@4 b3@7 ~, ~@3 d3@2 ~@3, ~@2 g2 ~", // G5 Gsus2
  AE: "g2 ~ d3@2 ~@8 g2@2 d3@2, ~ g2@3 [g2,b3]@2 ~@2, ~@2 a3@5 ~, ~@3 d3@2 d3@2 ~", // G
  AF: "[e2 ~ [e2,b2]@2 ~@6 f#3@2 ~@2 f#3@2 c3@2 [c3,g3]@2 ~@4 c3@2 g3@2 ~@2 g3@2, ~@2 f#3@3 ~@5 d4@3 ~@3, ~@2 e2@2 [e2,g3]@4 ~@3 g3@2 ~ c3@2, ~@6 b2@5 ~ b2@6 ~@2 c3@4 c4@6 ~@2]/2", // E5 C5 Em
  AG: "e2 ~ [e2,b2]@2 ~@2 b2@5 ~@5, ~@2 f#3@3 ~@3, ~ e2 ~@2", // E5
})).s("gm_electric_guitar_muted").gain(0.35).pan(0.8)

// chords · distortion guitar · "tk6"
const distortion_guitar = note("<~@41 A B@2 C@2 D@2 E@2 F@2 G@2 ~@43>".pickRestart({
  A: "~@14 [d#2,a#2,d#3]!2", B: "[[d#2,d#3,a#3]@15 ~, a#2@7 ~]/2", C: "[[f2,c3,f3]@3 ~, c4@15 ~]/2",
  D: "[[d#2,a#2,d#3]@23 ~@9, a#3@31 ~]/2", E: "[[f2,c3,f3]@23 ~@7 [a#2,d#3,a#3]!2, c4@15 ~]/2",
  F: "[[d#2,a#2]@3 ~, a#3@7 ~, d#3@13 ~@3]/2", G: "[[g2,d3,g3,d4]@3 d3@2 d3@2 ~]/2",
})).s("gm_distortion_guitar").gain(0.48).pan(0.2)

// chords · distortion guitar · "tk6" · soft notes
const distortion_guitar_soft = note("<~@52 A B@8 ~@36>".pickRestart({
  A: "~@3 g3",
  B: "[~ g3@2 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 ~@3]/8", // G5
})).s("gm_distortion_guitar").gain(0.24).pan(0.2)

// chords · piano · "tk7"
const piano = note("<~@26 A B C@2 B C@2 B D ~@17 E@8 A B C@2 B C@2 B D ~@13 F@8 G@7>".pickRestart({
  A: "~@2 g4 ~ g4@4 g4@2 g4@4 g4 ~", B: "g4@4 g4@2 g4@4 g4 ~ g4@4",
  C: "[g4@2 g4@4 g4 ~ g4@4 g4@2 g4@4 g4 ~ g4@4 g4@2 g4@4 g4 ~]/2", D: "g4@2 g4 ~@13",
  E: "[~@4 [d4,g4]@8 [d4,g4]@7 ~ [d4,g4]@7 ~@9 [d4,g4]@7 ~ [d4,g4]@7 ~ [d4,g4]@7 ~@9 [d4,g4]@7 ~@9 [d4,g4]@8 ~@8 [d4,g4]@8 [d4,g4]@8 [d4,g4]@8 [d4,g4]@4, [g1,g2]@28 [d4,g4]@7 ~@25 [d4,g4]@7 ~@9 [d4,g4]@7 ~@9 [d4,g4]@8 ~@28, ~@32 [e1,e2]@29 ~@3 [c1,c2]@12 ~@4 [d1,d2]@11 ~@5 [g1,g2]@24 ~@8]/8", // G5 G G5 E C D G
  F: "[~ [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]]/8", // G5
  G: "[~ [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 ~]/7", // G5
})).s("gm_piano").gain(0.35).pan(0.1)

// other · piano · "tk11"
const piano_2 = note("<~@26 A@2 B A@2 B A@2 C ~@17 D@8 A@2 B A@2 B A@2 C ~@28>".pickRestart({
  A: "[g4@3 g4@3 g4@3 g4@3 g4@3 g4@3 g4@3 g4@3 g4@3 g4@3 g4@2]/2", B: "~ g4@3 g4@3 g4@3 g4@3 g4@3", C: "~ g4@3 ~@12",
  D: "[~ g3 b3 g3 d4@2 c4 b3@2 g3 b3 g3 d4@2 c4 b3@2 g3 b3 g3 d4@2 c4 b3@2 g3 b3 g3 d4@2 c4 b3@2 g3 b3 g3 d4@2 c4 b3@2 g3 b3 g3 d4@2 c4 b3@2 g3 b3 g3 d4@2 c4 b3@2 ~ g3@2 b3 g3 d4@2]/8",
})).s("gm_piano").gain(0.42).pan(0.9)

// chords · pad warm · "tk13"
const pad_warm = note(`<
  ~@2 A@2 B@2 C D E@2 F@4 G H I@2 F@4 G H J@2 K@2 L@6 M N F@2 G H F@2 O@2 P@2 O@2 P@2 O@2 ~@45
>`.pickRestart({
  A: "[d3,b3]/2", B: "[e3,g3]/2", C: "[c3,g3]", D: "[d3,a3]", E: "[d3,g3]/2", F: "[d4,g4]/2", G: "[d4,g4]",
  H: "g4 a4@3, d4", I: "[[d4,g4]@31 ~]/2", J: "[[d4,g4]@6 [b3,g4] [d4,b4]]/2", K: "[c4 a#3, [e4,g4]]/2",
  L: "[[b3,d4] c#4 c4, g4, ~ e4@2]/6", M: "g4 a4, [b3,d4]", N: "[d4,g4,b4]", O: "[g3,a#3,d#4]/2", P: "[a3,c4,f4]/2",
})).s("gm_pad_warm").gain(0.3)

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

// drums · snare
const snare = s("sd").struct("<~ A B@23 C B@15 D B E B E B E B@3 F B@33 G B@3 C B@3 F B@2 G>".pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~ x!2 ~", D: "~@2 x ~ x!4", E: "~@2 x ~@2 x!2 ~", F: "~ x ~@2 x ~ x ~", G: "~ x ~@2",
})).gain(0.59)

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

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~@26 A B C D ~ E ~@4 E F G ~ H ~@11 I ~@2 J ~@4 A B C D ~ E ~@4 E F G ~ H ~ G ~ H ~ H ~@5 J ~@7 J ~@2
>`.pickRestart({
  A: "~ x ~ x ~ x!3", B: "~ x!5 ~ x", C: "~ x ~ x ~@4", D: "~@5 x ~@2", E: "~@3 x ~@4", F: "~ x ~ x ~ x ~ x",
  G: "~ x ~ x ~ x ~@2", H: "~@7 x", I: "~@3 x ~ x ~@2", J: "~ x ~@6",
})).gain(0.13)

// drums · mid tom
const mid_tom = s("mt").struct("<~@41 A ~@43 B ~@3 A ~@3 C ~@3>".pickRestart({
  A: "~@5 x!3", B: "~@4 x!3 ~", C: "~@7 x",
})).gain(0.59)

// drums · high tom
const high_tom = s("ht").struct("<~@25 A ~@15 B ~@17 C ~@33 D ~@3>".pickRestart({
  A: "~@5 x!3", B: "~ x", C: "~@4 x!2 ~@2", D: "~@5 x!2 ~",
})).gain(0.59)

// drums · crash
const crash = s("cr").struct("<~@41 A B ~ B ~ B ~ B ~ B ~ B ~@6 A ~@21 A B ~@2 A ~@3 C ~@3 C ~@3>".pickRestart({
  A: "~@3 x", B: "x", C: "~@7 x",
})).gain(0.66)

// drums · ride
const ride = s("rd").struct("<~@42 A B A B A B A B A B ~@34 C D E F G H I J C D K>".pickRestart({
  A: "~ x!3", B: "x!4", C: "x ~ x ~ x ~ x!2", D: "x ~ x ~ x!2 ~ x", E: "x!2 ~ x ~ x ~ x", F: "x ~ x!2 ~ x ~@2",
  G: "~ x!2 ~ x ~ x!2", H: "~ x ~ x!2 ~ x!2", I: "~ x ~ x!2 ~ x ~", J: "x!2 ~ x ~ x ~@2", K: "x!2 ~ x ~@4",
})).gain(0.46)

stack(
  bass, electric_guitar_muted, distortion_guitar, distortion_guitar_soft, piano, piano_2, pad_warm, kick, snare, hihat,
  hihat_soft, mid_tom, high_tom, crash, ride
)

More by Sting