Strudelify
King of Pain cover art

Synchronicity

King of Pain

The Police

KeyD majorTempo124 bpm
0:00/0:00
// King of Pain — The Police
// 124 bpm, 4/4, key D 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: duplicate parts dropped: ch 11 "OVERDRIVE" overdriven guitar (copy of ch 6 "CHARANG" lead 5 charang); ch 15 "PIZZICATO" pizzicato strings (copy of ch 9 "KALIMBA" kalimba)
// note: Full arrangement: all 150 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(124/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, A@4 for four bars: edit a riff to change every repeat.

// chords · piano · "A.PIANO 1"
const piano = note(`<
  A@6 B C D E@5 F G H I J K@8 L M N@6 ~@16 O@4 P Q P R@3 ~@15 S@2 T@2 U@4 V W X W X Y X W Z ~@9 AA@3 AB@6 ~@13 S@2 T@2
  U@4 AC@2 T@2 U@4 AC@2 T@2 U@2 AD@3 ~
>`.pickRestart({
  A: "[~@5 [b2,f#3,b3,f#4]@5 ~@2 [a2,e3,a3,e4]@9 ~ [b2,f#3,b3,f#4]@5 ~ [a2,e3,a3,e4]@9 ~@2 [b2,f#3,b3,f#4]@5 ~ [a2,e3,a3,e4]@9 ~@2 [b2,f#3,b3,f#4]@5 ~ [a2,e3,a3,e4]@9 ~ [b2,f#3,b3,f#4]@5 ~@2 [a2,e3,a3,e4]@9 ~ [b2,f#3,b3,f#4]@6 ~]/6", // B5 A5 B5 A5 B5 A5 B5 A5 …
  B: "[a2,e3,a3,e4]@9 ~ [b2,f#3,b3,f#4]@6", C: "[a2,e3,a3,e4]@9 ~@2 [b2,f#3,b3,f#4]@5",
  D: "~ [a2,e3,a3,e4]@8 ~@3 [b2,f#3,b3,f#4]@4", // A5 B5
  E: "[~@2 [a2,e3,a3,b3,e4]@9 ~@2 b2@5 ~ [a2,e3,a3,b3,e4]@9 ~ [b2,f#3,b3,f#4]@6 ~ [a2,e3,a3,b3,e4]@9 ~ [b2,f#3,b3,f#4]@6 [a2,e3,a3,b3,e4]@9 ~@2 [g2,d3,b3,f#4]@6 [a2,e3,a3,e4]@10 ~, ~@6 [f#3,b3,f#4]@3 ~@31]/5", // Asus2 B5 Asus2 B5 Asus2 Gmaj7 A5 B5
  F: "[g2,d3,b3,f#4]@6 [a2,e3,a3,e4]@9 ~", G: "~ [f#2,c#3,f#3,b3,f#4]@6 [f#2,c#3,f#3,b3,e4]@9",
  H: "~ [g2,d3,g3,b3,f#4]@6 ~ [g2,d3,g3,b3,e4]@8", I: "~@2 [b2,f#3,b3,f#4]@5 ~@2 [a2,e3,a3,e4]@7, ~ b3",
  J: "~@3 [b2,f#3,b3,f#4]@6 [a2,e3,a3,b3,e4]@7", // B5 Asus2
  K: "[~@4 [b2,f#3,b3,f#4]@6 [a2,e3,a3,b3,e4]@9 ~@2 [b2,f#3,b3,f#4]@6 [a2,e3,a3,b3,e4]@9 ~ [g2,d3,b3,f#4]@6 ~ [a2,e3,a3,e4]@10 [g2,d3,b3,f#4]@6 ~ [a2,e3,a3,e4]@9 ~ [f#2,c#3,f#3,b3,f#4]@6 [f#2,c#3,f#3,b3,e4]@9 ~@2 [g2,d3,g3,b3,f#4]@6 [g2,d3,g3,b3,e4]@10 ~ [d2,a2,a3,d4]@6 [e2,b2,a3,c#4]@10 ~ [f#2,c#3,a3,d4]@6]/8", // B5 Asus2 B5 Asus2 Gmaj7 A5 Gmaj7 A5 …
  L: "[g2,d3,g3,a3,b3]@5 [d2,a2,a3,d4]@3", M: "~ [e2,b2,a3,c#4]@10 [f#2,c#3,a3,d4]@5",
  N: "[~ [g2,d3,g3,a3,b3]@10 ~ [d2,a2,a3,d4]@6 [e2,b2,a3,c#4]@10 ~ [f#2,c#3,a3,d4]@6 [g2,d3,g3,a3,b3]@10 ~ [d2,a2,a3,d4]@6 [e2,b2,a3,c#4]@10 [f#2,c#3,a3,d4]@6 ~ [g2,d3,g3,a3,b3]@27]/6", // G D5 A Dmaj7 G D5 A Dmaj7 …
  O: "[[d2,d3]@4 ~@2 [e2,e3]@4 ~@4 [f#2,f#3]@4 ~@6 [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~]/2", // D E F# G
  P: "[d2,d3]@2 ~ [e2,e3]@2 ~@2 [f#2,f#3]", Q: "~@8 [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~", R: "[~@4 [g3,b3,d4]@15 ~@5]/3",
  S: "[~@4 [d2,d3]@2 ~ [e2,e3]@2 ~@2 [f#2,f#3]@2 ~@3]/2", // D E F#
  T: "[[g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [d2,d3]@4 ~@2 [e2,e3]@4 ~@4 [f#2,f#3]@4 ~@6]/2", // G D E F#
  U: "[[g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [d2,d3]@4 ~@2 [e2,e3]@4 ~@4 [f#2,f#3]@3 ~@7]/2", // G D E F#
  V: "[g3,b3,d4]@8 [e4,a4,c#5]@3 ~@5", W: "[f#4,a4,c#5]@5 ~ [e4,a4,c#5]@3 ~@5 e4 ~",
  X: "[f#4,a4,c#5]@3 ~ [f#4,a4,c#5]@3 ~ [e4,a4,c#5]@3 ~@5", Y: "[f#4,a4,c#5]@5 ~ [e4,a4,c#5]@2 ~@6 e4 ~",
  Z: "[f#4,a4,c#5]@3 ~ [f#4,a4,c#5]@3 ~@9", // F#m
  AA: "[~@16 [e5,e6]@17 ~@7 [a5,a6]@4 [b5,b6]@4, ~@8 [b4,b5]@25 ~@15, ~@4 [c5,c6]@7 ~@5]/3", // E A B C
  AB: "[~@4 [e6,e7]@17 ~@3 [a4,a5]@4 b4@4 [g5,g6]@19 ~ [b4,b5]@4 ~@4 [b4,b5]@26 ~@10, [g5,g6]@21 ~@7 b5@23 ~@5 [e5,e6]@30 ~@10]/6", // E A G B G E
  AC: "[[g3,b3,d4]@4 [d2,d3]@2 ~ [e2,e3]@2 ~@2 [f#2,f#3]@2 ~@3]/2", // G D E F#
  AD: "[[g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [d2,d3]@4 ~@2 [e2,e3]@4 ~@4 [f#2,f#3]@3 ~@5 [g3,b3,d4]@18]/3", // G D E F# G
})).s("gm_piano").gain(0.38).pan(0.6)

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  A@6 B C D@6 E F G H@2 I@8 J K L@6 M N O@2 P Q R S M N O@2 P Q R T U V W@4 X Y@3 Z AA AB AC AD AE AF AG AH AI AH AJ AK
  AE AL AM@2 AN AO AN AO AP@2 AQ AR AS AR AS AR AS AR AT Z AU Z AV AW AE AX AY ~@9 AZ BA BB ~ BC BD BE ~@5 BF BG BH@2 AN
  AO AN BI AN AO AN BI AN AO AN BI AN AO AN BI AN AO AN BI AN BJ ~@2
>`.pickRestart({
  A: "[~@5 b2@5 ~@2 a2@10 b2@5 ~ a2@10 ~ b2@6 a2@10 ~ b2@6 a2@10 b2@6 ~ a2@10 b2@6 ~]/6", B: "a2@9 ~ b2@6",
  C: "a2@10 ~ b2@5", D: "[~ a2@9 ~@2 b2@6 a2@10 b2@6 ~ a2@9 ~ b2@6 ~ a2@10 b2@6 a2@9 ~@2 g2@6 a2@10 ~]/6",
  E: "g2@3 a2@5", F: "~ [c#2,f#2]@6 [c#2,f#2]@9", G: "~ [g2,b2]@6 ~ [g2,b2]@8", H: "[~@2 b2@6 ~ a2@10 b2@6 a2@7]/2",
  I: "[~@4 b2@6 a2@10 ~ b2@6 a2@9 ~ g2@6 ~ a2@10 g2@6 ~ a2@10 [c#2,f#2]@6 [c#2,f#2]@10 ~ [g2,b2]@6 [g2,b2]@9 ~@2 [d2,a2]@6 [e2,b2]@10 ~ [f#2,c#3]@6]/8", // F#5 G D5 E5 F#5
  J: "[g2,d3]@5 [d2,a2]@3", K: "~ [e2,b2]@10 [f#2,c#3]@5",
  L: "[~ [g2,d3]@10 ~ [d2,a2]@6 [e2,b2]@10 ~ [f#2,c#3]@6 [g2,d3]@10 ~ [d2,a2]@6 [e2,b2]@10 [f#2,c#3]@5 ~@2 [g2,d3]@27]/6", // G5 D5 E5 F#5 G5 D5 E5 F#5 …
  M: "b1@2 b1 ~ b1 ~ b1 ~ b1 ~ a1@2 ~@2 b1@2", N: "~@2 b1@3 ~ b1 ~ b1@2 a1 ~ a1 ~@3",
  O: "[b1@2 b1 ~ b1@2 b1 ~ b1@2 a1@2 ~@2 b1@7 ~ b1 ~ b1@2 a1 ~ a1@2 ~@2]/2",
  P: "g1 ~ g1 ~ g1@2 g1 ~ g1@2 a1@2 ~@2 g1 ~", Q: "g1@3 ~ g1@3 ~ g1@2 a1@2 a1@2 ~@2",
  R: "f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1@2 ~@2 g1@2", S: "~@2 g1 ~ g1 ~ g1 ~ g1@3 ~ g1@3 ~",
  T: "~@2 g1 ~ g1 ~ g1 ~ g1@3 ~ g1@2 a1@2", U: "d2@3 ~@3 e1@4 ~@4 f#1 ~", V: "f#1@3 ~@3 f#1@2 g1@2 b1 ~ d2@3 ~",
  W: "[d2@3 ~@3 e1@3 ~@5 f#1@4 ~@4 f#1@2 g1@2 b1@2 d2@3 ~]/2", X: "d2@3 ~@3 e1@4 ~@4 f#1@2",
  Y: "[~@8 g1@25 ~@7 b1 ~ b1 ~ b1 ~ b1 ~]/3", Z: "b1 a1 ~ b1@3 ~ e2", AA: "b1@2 a1 ~ a1@2 ~@2 b1 ~ b1 ~ b1@2 b1@2",
  AB: "e2@2 a1@2 ~@2 b1@7 ~ e2@2", AC: "a1 ~ a1 ~ a1@2 ~@2 g1 ~ g1 ~ g1@2 g1 ~", AD: "g1 ~ a1@2 ~@2 g1 ~ g1@3 ~ g1@3 ~",
  AE: "g1 ~ a1 ~ a1@2 ~@2 f#1 ~ f#1 ~ f#1 ~ f#1@2", AF: "~@2 f#1@3 ~ g1 ~ g1@3 ~ g1@3 ~",
  AG: "g1@2 ~@2 g1@3 ~ b1 ~ b1 ~ b1@2 b1 ~", AH: "b1@2 a1@3 ~ b1@2 b1@3 ~ b1@3 ~",
  AI: "b1@2 a1 ~ a1@3 ~ b1 ~ b1 ~ b1@2 b1 ~", AJ: "b1 ~ a1 ~ a1@2 a1 ~ g1 ~ g1 ~ g1 ~ g1 ~",
  AK: "g1@2 a1@3 ~ g1 ~ g1@4 ~@2 g1 ~", AL: "~@2 f#1@2 ~@2 g1 ~ g1@4 ~@2 g1 ~",
  AM: "[g1@3 ~ g1@2 a1@2 d2@3 ~@3 e1@4 ~@4 f#1 ~ f#1@3 ~@3 f#1@2]/2", AN: "g1@2 b1 ~ d2@3 ~ d2@3 ~@3 e1@2",
  AO: "~@3 f#1@2 ~@2 f#1", AP: "[g1@2 b1@2 d2@3 ~ d2@3 ~@3 e1@4 ~@4 f#1@3 ~@5 f#1@2]/2", AQ: "g1 b1 d2@2 a1 ~@3",
  AR: "g1@3 ~@3 a1@2 ~@6 a1 ~", AS: "g1@3 ~ g1@2 ~@2 a1@2 ~@6", AT: "g1@3 ~ g1@2 ~@2 b1 ~ b1 ~ b1 ~ e2@2",
  AU: "b1@2 a1 ~ a1@3 ~ b1 ~ b1@2 b1 ~ e2@2", AV: "b1@2 a1 ~ a1@2 ~@2 g1 ~ g1 ~ g1 ~ g1 ~",
  AW: "g1 ~ a1@3 ~ g1 ~ g1@5 ~ g1 ~", AX: "~@2 f#1@3 ~ g1@6 ~@2 g1@2", AY: "g1@2 g1 ~ g1@3 ~@9",
  AZ: "~@8 b1 ~ b1 ~ b1 ~ b1 ~", BA: "b1@2 a1@2 ~@2 b1@7 ~ e2@2", BB: "b1 a1!2 ~@5", BC: "~@8 f#1 ~ f#1 ~ f#1 ~ f#1@2",
  BD: "~@2 f#2@2 ~@2 g1@3 ~ g1@2 ~@2 g1 ~", BE: "g1@3 ~ g1@2 ~@10", BF: "~@8 f#1 ~ f#1 ~ f#1 ~ f#1 ~",
  BG: "f#1 ~ f#1 ~ f#1 ~ f#1 ~ g1 ~ g1 ~ g1 ~ g1 ~",
  BH: "[g1 ~ g1 ~ g1 ~ g1 ~ d2@3 ~@3 e1@4 ~@4 f#1 ~ f#1@3 ~@3 f#1@2]/2", BI: "~@6 f#1 ~ f#1@3 ~@3 f#1@2",
  BJ: "~@3 f#1@2 b1 d2 ~",
})).s("gm_fretless_bass").gain(0.55)

// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  ~@51 A B@5 C D ~@17 E B@5 F G ~@16 H I J K@2 L I@2 M N@5 O P Q ~@5 R S T B@3 U B@3 U B@3 U B@3 U B@3 U B@2 V ~@2
>`.pickRestart({
  A: "[d3,a3]!6 d3 [d3,a3]!9", B: "[d3,a3]!16", C: "[d3,a3]!2 d3 [d3,a3]!13", D: "[d3,a3]!5 d3 [d3,a3] d3 ~@8",
  E: "~@8 [d3,a3]!6 d3 [d3,a3]", F: "[d3,a3]!10 d3 [d3,a3]!5", G: "[d3,a3]!13 d3 [d3,a3] d3", H: "~@8 [a2,a3,c4]!8",
  I: "[a2,a3,c4]!16", J: "[a2,a3,c4]!4 [a2,c4] [a2,a3,c4]!11", K: "[a2,a3,c4]!2 [a2,a3] [a2,a3,c4]!13",
  L: "[a2,a3,c4]!15 [a3,c4]", M: "[a2,a3,c4]!8 [a3,b3]!8", N: "[a3,b3]!16", O: "[a3,b3]!8 a3 [a3,b3]!7",
  P: "[a3,b3]!8 g3!8", Q: "g3!8 ~@8", R: "~@8 a3!8", S: "a3!16", T: "a3!8 [d3,a3]!6 d3 [d3,a3]",
  U: "[d3,a3]!14 d3 [d3,a3]", V: "[d3,a3]!14 ~@2",
})).s("gm_electric_guitar_muted").gain(0.22)

// other · acoustic guitar nylon · "NYLON GTR"
const acoustic_guitar_nylon = note(`<
  ~@37 A@2 ~@2 B@2 ~@2 A@2 ~@2 C@2 D E D E D E D F@2 ~@2 G@3 ~ H@2 ~@2 G@3 ~ H@2 I J K J K J K J L@4 M@2 N O P@2 ~@16
  G@3 ~ H@2 ~@8 I J K J K J K J Q ~@17
>`.pickRestart({
  A: "[[a3,c#4,e4]@2 [a3,e4]@4 [a3,c#4,e4]@4 [a3,b3,e4]@4 [a3,e4]@13 ~@5]/2", // A A5 A Asus2 A5
  B: "[[a3,c#4,e4] [a3,e4]@2 [a3,d4,e4]@2 [a3,c#4,e4]@2 [g3,b3,d4]@5 ~@4]/2", // A A5 Asus4 A G
  C: "[[a3,c#4,e4] [a3,e4]@2 [a3,d4,e4]@2 [a3,c#4,e4]@2 [g3,b3,d4]@5 ~@2 d4!2]/2", // A A5 Asus4 A G
  D: "f#4@2 f#4@2 f#4@2 f#4@3 ~ f#4@2 f#4@2 f#4@2", E: "f#4@4 f#4@4 d4@3 ~ d4@2 d4@2",
  F: "[f#4@2 f#4@2 [g3,d4]@7 ~@5]/2", G: "[~@8 [a3,c#4,e4]@2 [a3,e4]@4 [a3,c#4,e4]@4 [a3,b3,e4]@4 [a3,e4]@13 ~@13]/3",
  H: "[~@4 [a3,c#4,e4] [a3,e4]@2 [a3,d4,e4]@2 [a3,c#4,e4]@2 [g3,b3,d4]@5]/2", I: "~@2 d4!2 f#4!4",
  J: "~ f#4!3 f#4@2 f#4@2", K: "d4@3 ~ d4@2 d4@2 f#4@2 f#4@2 f#4@2 f#4@2",
  L: "[[b3,d4]@6 [a3,c#4]@3 ~ c#4@2 c#4@2 c#4@4 c#4@2 c#4@2 e4@4 d4@2 c#4@2 b3@4 b3@4 c#4@4 c#4@2 c#4@2 c#4@4 c#4@4 e4@4 e4@2 e4@2 f#4@2]/4", // Bm A
  M: "[d4@2 d4@2 d4@2 c#4@4 c#4@2 c#4@2 c#4@4 c#4@3 ~ e4@4 e4@2 e4@2 f#4@2]/2", N: "d4@4 d4@2 c#4@4 c#4@2 c#4@2 c#4!2",
  O: "c#4@2 c#4 e4@2 a3 b3 c#4", P: "[d4 e4@2 f#4@3 ~@2]/2", Q: "[d4,g4]@3 ~@5",
})).s("gm_acoustic_guitar_nylon").gain(0.35).pan(0.4)

// other · lead 5 charang · "CHARANG"
const lead_5_charang = note(`<
  ~@52 A ~ B ~ B ~ C@3 ~@16 D E D F D F ~ G@2 H@2 I@2 J@3 K L M N@2 O P@2 Q R Q R Q R Q S T@2 U V W X Y Z ~@5 AA AB AC D
  AD D AD D AD D AD D AD D AD D AD D AD D AD D AD D AD AE ~@2
>`.pickRestart({
  A: "~@6 g3!2 [g3,d4,g4]@2 g3!2 [g3,d4,g4]@4", B: "~@6 g3!2 [g3,d4,g4]@3 g3 [g3,d4,g4]@4",
  C: "[~@2 [g3,b3,d4,g4]@7 ~@3]/3", D: "~@14 g3!2", E: "[g3,d4,g4]@2 g3!2 [g3,d4,g4]@4 ~@8",
  F: "[g3,d4,g4]@3 g3 [g3,d4,g4]@4 ~@8", G: "[[g3,d4,g4]@3 g3 [g3,d4,g4]@4 [e3,a3,c#4]@24]/2",
  H: "[[f#3,d4]@3 ~ [f#3,d4]@4 [e3,a3,c#4]@23 ~, a3@7 ~@25]/2", I: "[[a3,d4]@3 ~ [f#3,a3,d4]@4 [e3,a3,c#4]@24]/2",
  J: "[[f#3,a3,d4]@3 ~ [f#3,a3,d4]@3 ~ [e3,c#4]@24 [f#3,d4]@4 a4@2 b4@2 c#5@2 d5@2 e5 ~ e5@2, ~@8 a3@27 ~@13]/3", // D C#m D
  K: "~@2 a4@2 b4@2 d5@4 a4@2 e5@3 ~", L: "e5@2 a4 b4 c#5 d5 e5 f#5", M: "e5 a4 b4 d5@2 a4 e5@2",
  N: "[e5@3 ~ a4@2 b4@2 c#5@2 d5@2 e5@2 e5@4 a4@2 b4@2 d5@4 a4@2 e5@3 ~]/2", O: "e5@3 ~ a4@2 b4@2 c#5@2 d5@2 e5@2 d5@2",
  P: "[~@2 c#5@4 b4@14 ~@2 g4 ~ g4!4 ~@2 g4 ~]/2", Q: "g4!4 ~@2 g4 ~ f4!2 g4!2 ~@2 g4 ~",
  R: "f4!2 g4!2 ~@2 g4 ~ g4!4 ~@2 g4 ~", S: "f4!2 g4!2 ~@2 g4 ~@4 f#4!5", T: "f#4!8 ~@3 f#4!5", U: "f#4!8 e4!2 ~ f#4!5",
  V: "f#4!8 ~@3 e4!5", W: "e4!8 ~@3 e4!5", X: "e4!8 ~@3 c#4!5", Y: "c#4!8 ~@3 b3!5", Z: "b3!8 ~@8",
  AA: "~@4 d4 [a3,d4] d4 [a3,d4]", AB: "d4!2 [a3,d4]!6", AC: "[a3,d4]!4 ~@4", AD: "[g3,d4,g4]!2 ~@2",
  AE: "~@12 g3!2 ~@2",
})).s("gm_lead_5_charang").gain(0.2).pan(0.9)

// other · lead 5 charang · "CHARANG" · soft notes
const lead_5_charang_soft = note("<~@88 A ~@19 B@3 C D@2 E F ~@6 G H ~@26>".pickRestart({
  A: "f#3@3 ~@13", B: "~@8 f#4!3 ~@5", C: "~@10 f#4 ~@5", D: "~@8 e4!3 ~@5", E: "~@8 c#4!3 ~@5", F: "~@8 b3!3 ~@5",
  G: "~@4 a3 ~ a3 ~", H: "a3!2 ~@6",
})).s("gm_lead_5_charang").gain(0.12).pan(0.9)

// chords · marimba
const marimba = note(`<
  A B C D E F G H I J K B L C M F G N I J K O B C M P Q R@3 S Q T U ~@58 V M@2 W@5 X ~@49
>`.pickRestart({
  A: "~@9 [a4,e5] ~@6", B: "~@2 [a4,e5] ~@7 [a4,e5] ~@5", C: "~@3 [a4,e5] ~@7 [a4,e5] ~@4",
  D: "~@3 [a4,e5] ~@8 [a4,e5] ~@3", E: "~@4 [a4,e5] ~@8 [a4,e5] ~@2", F: "~@5 [a4,e5] ~@7 [a4,e5] ~@2",
  G: "~@6 [a4,e5] ~@7 [a4,e5] ~", H: "~@7 a4@2 ~@6 [a4,e5], ~@7 e5 ~@8", I: "~@7 [a4,e5] ~@8",
  J: "[a4,e5] ~@7 [a4,e5] ~@7", K: "~ [a4,e5] ~@7 [a4,e5] ~@6", L: "~@2 [a4,e5] ~@8 [a4,e5] ~@4",
  M: "~@4 [a4,e5] ~@7 [a4,e5] ~@3", N: "~@6 [a4,e5] ~@8 [a4,e5]", O: "~ [a4,e5] ~@8 [a4,e5] ~@5",
  P: "~@9 [a4,d5]@3 ~ [a4,d5]@2 ~", Q: "~ [a4,d5]@2 ~@2 [a4,d5]@2 ~@2 [a4,d5]@3 ~@2 [a4,d5]@2",
  R: "[~@2 [a4,d5]@3 ~ [a4,d5]@3 ~ [a4,d5]@3 ~@2 [a4,d5]@2 ~@2 [a4,d5]@2 ~@2 [a4,d5]@2 ~@2 [a4,d5]@2 ~@2 [a4,d5]@3 ~@2 [a4,d5]@2 ~@2 [a4,d5] ~@3 [a4,d5]@3 ~]/3", // D5
  S: "[a4,d5]@2 ~@2 [a4,d5]@2 ~@3 [a4,d5]@2 ~@2 [a4,d5]@3", T: "~ [a4,d5] ~ [a4,d5] ~ [a4,d5] ~ [a4,d5]",
  U: "~@7 [a4,d5]@2 ~@7", V: "~@12 [a4,e5] ~@3", W: "~@2 [a4,e5] ~@3 [a4,e5] ~", X: "~@2 e5 ~@5, ~@4 a4 ~@11",
})).s("gm_marimba").gain(0.33).pan(0.2)

// chords · epiano1 · "E.PIANO 1"
const epiano1 = note("<~@92 A@7 B@2 ~ C@3 D@3 E@3 ~@39>".pickRestart({
  A: "[~@22 b4@6 ~@30 a4@4 ~@4 a4@6 ~@22 a4@9 ~ [a3,b3,e4]@8, ~@8 [a3,b3,e4]@31 ~ [a3,b3,e4]@31 ~ [a3,b3,e4]@31 ~@9, ~@12 a4@11 ~@5 a4@15 ~@3 a4@10 ~@26 a4@10 ~@20, ~@14 b4@7 ~@13 b4@9 ~@7 b4@7 ~@5 b4@11 ~@17 b4@14 ~@8, ~@18 e5@17 ~@19 e5@19 ~@13 e5@18 ~@8]/7", // Asus2
  B: "[~@3 [g3,a3,d4]@9 ~@4]/2", C: "[~@4 [e5,e6]@5 ~ [a5,a6] [b5,b6], ~@2 [b4,b5]@7 ~@3, ~ [c5,c6]@2 ~]/3",
  D: "[~@4 [e6,e7]@19 ~ [a4,a5]@4 ~@4 [g5,g6]@16, [g5,g6]@23 ~@5 [b4,b5]@20]/3", // E A G B
  E: "[~@3 [b5,b6]@7 ~@2, ~@2 [b5,b6]@3 ~@19, ~@8 [e6,e7]@33 ~@7]/3", // B E
})).s("gm_epiano1").gain(0.3)

// chords · kalimba
const kalimba = note(`<
  A B C D E F G H I J K B C D E L G M N J K O P C Q R S T@3 U S V W X Y Z Y AA Y AB AC AD Y Z Y AA Y AB AC AE ~@9 AF AG
  AH AI AJ AG AK AL AF AG AH AI AJ AG AK AL ~@8 AM AN AO AP AQ AR AS AT AU AV@3 AW AX@2 AY AZ BA@15 BB ~@5 BC BD BE BF
  BG BF BG BH BG BF BI BF BG BF BG BF BG BH BG BF BG BF BG BF BG BJ ~@2
>`.pickRestart({
  A: "~@9 [a4,e5] ~@6", B: "~@2 [a4,e5] ~@7 [a4,e5] ~@5", C: "~@3 [a4,e5] ~@7 [a4,e5] ~@4",
  D: "~@3 [a4,e5] ~@8 [a4,e5] ~@3", E: "~@4 [a4,e5] ~@8 [a4,e5] ~@2", F: "~@5 [a4,e5] ~@8 [a4,e5] ~",
  G: "~@6 [a4,e5] ~@7 [a4,e5] ~", H: "~@7 a4@2 ~@6 [a4,e5], ~@7 e5 ~@8", I: "~@8 [a4,e5] ~@7",
  J: "[a4,e5] ~@7 [a4,e5] ~@7", K: "~ [a4,e5] ~@7 [a4,e5] ~@6", L: "~@5 [a4,e5] ~@7 a4@2 ~, ~@13 e5 ~@2",
  M: "~@7 [a4,e5] ~@7 [a4,e5]", N: "~@7 [a4,e5] ~@8", O: "~ [a4,e5] ~@8 [a4,e5] ~@5", P: "~@2 [a4,e5] ~@8 [a4,e5] ~@4",
  Q: "~@4 [a4,e5] ~@7 [a4,e5] ~@3", R: "~@9 [a4,d5]@3 ~ [a4,d5]@2 ~",
  S: "~ [a4,d5]@2 ~@2 [a4,d5]@2 ~@3 [a4,d5]@3 ~ [a4,d5]@2", // D5
  T: "[~@2 [a4,d5]@3 ~ [a4,d5]@3 ~ [a4,d5]@3 ~@2 [a4,d5]@2 ~@2 [a4,d5]@2 ~@2 [a4,d5]@2 ~@2 [a4,d5]@2 ~@2 [a4,d5]@3 ~@2 [a4,d5]@2 ~@2 [a4,d5] ~@3 [a4,d5]@3 ~]/3", // D5
  U: "[a4,d5]@2 ~@2 [a4,d5]@2 ~@3 [a4,d5]@2 ~@2 [a4,d5]@3", V: "~ [a4,d5] ~ [a4,d5] ~ [a4,d5] ~ [a4,d5]",
  W: "~@7 [a4,d5]@2 ~@7", X: "~@12 a4@2 b4 ~",
  Y: "[a4,c#5] ~ [a4,d5] ~ e5@2 a4 ~ [a4,e5] ~ a4 ~ [a4,b4] ~ d5@2, ~@4 a4 ~@9 a4 ~", // A D5 A5 Asus2
  Z: "[a4,b4] ~ [a4,d5] ~ e5@2 a4 ~ [a4,e5] ~ a4 ~ [a4,e5] ~ [a4,b4] ~, ~@4 a4 ~@11", // Asus2 D5 A5 Asus2
  AA: "[a4,b4] ~ [a4,d5] ~ e5@2 ~@2 [a4,e5] ~@3 [a4,e5] ~ b4 ~, ~@4 a4 ~@11", // Asus2 D5 A5
  AB: "[a4,b4] ~ [a4,d5] ~ e5@2 a4 ~ [a4,e5] ~ a4 ~ a4 ~ [a4,b4] ~, ~@4 a4 ~@11", // Asus2 D5 A5 Asus2
  AC: "[a4,c#5] ~ [a4,d5] ~ [a4,e5] ~ d5@2 a4 ~ c#5@2 a4 ~ b4@2, ~@6 a4 ~@3 a4 ~@3 a4 ~", // A D5 A5
  AD: "a4 ~ b4@2 ~@8 a4@2 b4@2, ~@2 a4 ~@13", AE: "a4 ~ b4@2 ~@12, ~@2 a4 ~@13",
  AF: "~@4 a4@2 b4 ~ [a4,c#5] ~ [a4,d5] ~ e5@2 a4 ~, ~@12 a4 ~@3", // A D5
  AG: "[a4,e5] ~ a4 ~ [a4,b4] ~ d5@2 [a4,b4] ~ [a4,d5] ~ e5@2 a4 ~, ~@6 a4 ~@5 a4 ~@3", // A5 Asus2 D5
  AH: "[a4,e5] ~ a4 ~ [a4,e5] ~ [a4,b4] ~ [a4,c#5] ~ [a4,d5] ~ e5@2 a4 ~, ~@12 a4 ~@3", // A5 Asus2 A D5
  AI: "[a4,e5] ~ a4 ~ [a4,b4] ~ d5@2 [a4,b4] ~ [a4,d5] ~ e5@2 ~@2, ~@6 a4 ~@5 a4 ~@3", // A5 Asus2 D5
  AJ: "[a4,e5] ~@3 [a4,e5] ~ b4 ~ [a4,c#5] ~ [a4,d5] ~ e5@2 a4 ~, ~@12 a4 ~@3", // A5 A D5
  AK: "[a4,e5] ~ a4 ~ a4 ~ [a4,b4] ~ [a4,c#5] ~ [a4,d5] ~ [a4,e5] ~ d5@2, ~@14 a4 ~", // A5 Asus2 A D5 A5
  AL: "a4 ~ c#5@2 a4 ~ b4@2 a4 ~ b4@2 ~@4, ~@2 a4 ~@3 a4 ~@3 a4 ~@5", AM: "~@10 a4@2 a4 ~ a4@2",
  AN: "c#5@2 a4@2 g4 ~ a4@2 g4 ~ a4@2 ~@4", AO: "d5@3 ~ d5@3 ~ c#5 ~ a4 ~ a4 ~ a4@2",
  AP: "c#5@2 a4@2 g4 ~ a4@2 ~@2 a4 ~ c#5@2 ~@2", AQ: "d5@3 ~ d5@2 ~@2 c#5 ~ a4 ~ g4 ~ a4 ~",
  AR: "c#5@2 a4 ~ g4 ~ a4 ~@3 a4@2 c#5 ~ a4 ~", AS: "d5@3 ~ d5@2 ~@2 c#5 ~ a4 ~ a4 ~ a4@2",
  AT: "~@2 a4@2 g4 ~ a4@3 ~ a4 ~ g4 ~@3", AU: "~@8 b3!8", AV: "b3!16", AW: "b3!8 a3!8", AX: "a3!16", AY: "a3!8 g3!8",
  AZ: "g3!8 e3 ~ e3 ~ e3 ~ e3 ~", BA: "e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~", BB: "e3 ~ e3 ~ e3 ~@11",
  BC: "~@8 [a4,d5] ~ [a4,d5] ~ [a4,d5] ~ [a4,d5] ~", // D5
  BD: "[a4,d5] ~ [a4,d5] ~ [a4,d5] ~ [a4,d5] ~ [a4,d5] ~ [a4,d5] ~ [a4,d5] ~ [a4,d5] ~", // D5
  BE: "[a4,d5] ~ [a4,d5] ~ a4@2 b4 ~ c#5 ~ d5 ~ e5 ~ d5@2", BF: "~@2 a4 ~ b4 ~ c#5 ~ d5 ~ d5 ~ c#5@2 d5@2",
  BG: "b4@3 ~ a4 ~ b4 ~ c#5 ~ d5 ~ e5 ~ d5@2", BH: "~@2 a4 ~ b4 ~ c#5 ~ d5 ~ d5 ~ c#5 ~ d5 ~",
  BI: "b4@2 ~@2 a4@2 b4 ~ c#5 ~ d5 ~ e5 ~ d5@2", BJ: "~@2 a4 ~ b4 ~ c#5 ~ d5 ~ d5 ~ c#5 ~@3",
})).s("gm_kalimba").gain(0.27).pan(0.8)

// chords · pad metallic · "METAL PAD"
const pad_metallic = note("<~@116 A@5 B@4 ~@25>".pickRestart({
  A: "[~@8 [d5,b5]@57 ~@15]/5", B: "[~@2 [e2,d6]@57 ~@5]/4",
})).s("gm_pad_metallic").gain(0.19).pan(0.8)

// … 111 more lines

More by The Police