Strudelify
De Do Do Do De Da Da Da cover art

Zenyatta Mondatta

De Do Do Do De Da Da Da

The Police

KeyA majorTempo146 bpm
0:00/0:00
// De Do Do Do De Da Da Da — The Police
// 146 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 152 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(146/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.

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  A B C D@2 E F G H I J K@2 L M N@2 ~@24 O P Q@2 R@2 S@2 T U V@2 W X Y@2 ~@24 Z AA AB@2 AC AD AE@2 AF@2 AG@2 AH AI AJ@2
  AK AL AM AN AO AL AP AQ AR AS AT AU AV AW AX AY AZ@2 BA BB BC@2 BD BE BF@2 BG@2 BH@2 ~@25
>`.pickRestart({
  A: "~@5 [d3,a3,d4,f#4]!2 ~", B: "[a2,e3,b3]!2 [e3,b3] [a2,e3]@5, ~@3 b3@2 ~@3",
  C: "[a2,e3,b3]@2 [a2,e3,b3]@2 [a2,e3,b3]@2 b3@3 ~ a3@4 ~@2, ~@6 [a2,e3]@9 ~", // Asus2 A5
  D: "[[e2,b2,f#3] [e2,b2] [e2,b2,f#3] [e2,b2,f#3]@2 [b2,f#3,g#3,b3]@3 [e2,b2,f#3] b2!2 [e2,b2,f#3] ~ [a3,d4,f#4] [d3,a3,d4,f#4] ~, ~@10 e4@11 ~@11, ~@9 e2@2 ~@5]/2", // Esus2 E5 Esus2 G#m7 Esus2 D
  E: "[a2,e3,b3]!3 b3@2 a3@2 ~, ~@3 [a2,e3]@5", F: "[a2,e3,b3,d4]!3 [b3,d4]@2 [a3,c#4]@2 ~, ~@3 [a2,e3]@4 ~",
  G: "[e2,b2]!3 [e2,b2,f#3]@2 [e2,b2,g#3,b3,e4]@3", H: "[e2,b2,f#3]!2 [e2,b2] [e2,b2,f#3] ~ [d3,a3,d4,f#4]!2 ~",
  I: "[a2,e3] e3 [e3,b3] [e3,b3,d4]@2 [e3,c#4]@3, ~ a2@3, ~@5 a3@2 ~", // A5 E5 E7 C#m
  J: "[a2,e3,b3,d4]!2 [e3,b3,d4] [e3,b3,d4]@2 [a2,e3,a3]@2 ~, ~@2 a2@3 ~@3", // Asus4 E7 A5
  K: "[b2@2 b2@2 [e2,b2]@2 [e2,b2,f#3]@3 ~ [b2,f#3,g#3,b3]@6 [e2,b2,f#3]@2 [e2,b2,f#3]@2 [b2,f#3]@2 [b2,f#3]@2 ~@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 ~@2, ~ f#3@2 ~@2 e4@7 ~@4, ~@5 e2 ~@2]/2", // E5 Esus2 G#m7 Esus2 B5 D
  L: "[e3,b3,d4]!2 [a2,e3,b3,d4] [b3,d4]@2 [a3,c#4]@3, ~@3 [a2,e3]@5", // E7 Asus4 Bm A A5
  M: "[a2,e3,b3,d4]!2 [e3,b3,d4] [e3,b3,d4]@2 [a2,e3,a3,c#4]@2 ~, ~@2 a2@3 ~@3", // Asus4 E7 A
  N: "[[e2,b2,f#3]@2 [e2,b2,f#3]@2 [e2,b2,f#3]@2 [e2,b2,f#3]@3 ~ [f#3,g#3,b3]@6 [b2,f#3]@2 [b2,f#3]@2 [e2,b2,f#3]@2 [e2,b2,f#3]@2 ~@2 [a3,d4,f#4]@2 [d3,a3,d4,f#4]@2 ~@2, ~@9 b2@6 ~ e2@4 ~@12, ~@5 e4@5 ~@6]/2", // Esus2 G#m7 B5 Esus2 D
  O: "a2@2 ~@2 [a2,e3,b3,d4]@2 [e3,b3,d4]@4 [e3,a3,c#4]@5 ~, ~@3 a2@5", // Asus4 E7 A
  P: "[e3,b3]!2 [e3,b3,d4] [e3,b3,d4]@2 [e3,a3,c#4]@2 ~, ~@3 a2@4 ~", // E5 E7 A
  Q: "[e2 ~ f#3 [f#3,g#3]@2 ~@3 b2!2 [e2,b2,f#3]!2 ~ [d4,f#4]!2 ~, ~ [e2,b2]@2 [e2,b2]@5 e2@2 ~@6, ~@5 [b3,e4]@7 ~@4, ~@10 g#3@9 ~@7 [d3,a3]@4 ~@2]/2", // F#sus2 Esus2 D E5 D5
  R: "[e3@2 [e3,b3,d4]@2 [e3,b3,d4]@2 [e3,b3,d4]@4 [e3,a3,c#4]@5 ~ [e3,b3,d4]@2 [e3,b3,d4]@2 [e3,b3,d4]@2 [b3,d4]@4 [a3,c#4]@4 ~@2, a2@6 a2@16 a2@9 ~, ~@22 e3 ~@3 e3 ~@5]/2", // E7 A E7 Bm A
  S: "[b2!2 [e2,b2,f#3] ~@2 g#3@3 [e2,b2]!2 [e2,b2,f#3]!2 ~ [d4,f#4]!2 ~, e2@2 ~ f#3@6 ~@4 [d3,a3]@2 ~, ~@3 [e2,b2]@5 ~@8, ~@5 [b3,e4]@7 ~@4]/2", // Esus2 E5 Esus2 D D5 E5
  T: "b3 ~ b3@2 [e3,b3]@2 [e3,b3,d4]@4 [e3,a3,c#4]@5 ~, [a2,e3] a2@3", // E5 E7 A A5
  U: "[a2,e3,b3,d4]!3 [e3,b3,d4]@2 [e3,a3,c#4]@2 ~, ~@6 a2@9 ~", // Asus4 E7 A
  V: "[[e2,b2] b2!2 f#3@2 f#3@3 [e2,b2,f#3]!4 ~ [d3,d4,f#4]!2 ~, f#3@3 ~@2 [b3,e4]@7 ~@4, ~ e2@2 [e2,b2]@5 ~@8, ~@5 g#3@5 ~@3 a3@2 ~]/2", // E5 Esus2 D E5
  W: "~@2 [e3,b3,d4]@2 [e3,b3,d4]@2 [a2,e3,b3,d4]@4 [e3,a3,c#4]@5 ~, a2@3 ~@5", // E7 Asus4 A
  X: "[e3,b3] [a2,e3,b3,d4]!2 [e3,b3,d4]@2 [e3,a3]@2 ~, ~@6 a2@9 ~, ~@10 c#4 ~@5", // E5 Asus4 E7 A5
  Y: "[b2!2 [e2,b2,f#3,g#3] g#3@2 g#3@3 [b2,f#3]!3 [e2,b2,f#3] ~ [a3,d4,f#4]!2 ~, e2@2 ~ [e2,b2,f#3]@5 e2@3 ~@5, ~@5 [b3,e4]@7 ~ d3@2 ~]/2", // E B5 Esus2 D Esus2 E5
  Z: "~ [b3,d4] [e3,b3,d4] [e3,b3,d4]@2 [e3,a3,c#4]@3", AA: "a2 [a2,e3,b3]!2 [a2,e3,b3,d4]@2 [a2,e3,a3,c#4]@2 ~",
  AB: "[~ b2 [e2,b2] g#3@2 g#3@3 [e2,b2]!2 e2 [e2,b2] ~ [a3,d4,f#4]!2 ~, e2@2 ~ f#3@7 ~@3 d3@2 ~, ~@3 [e2,b2]@5 ~@8, ~@5 [b3,e4]@7 ~@4]/2", // E5 D E5
  AC: "a2 [e3,b3] [a2,e3,b3,d4] [a2,e3,b3,d4]@2 [a2,e3,a3,c#4]@3", // E5 Asus4 A
  AD: "[a2,e3,b3] [e3,b3,d4] [a2,e3,b3,d4] [a2,e3,b3,d4]@2 [a2,e3,a3,c#4]@2 ~", // Asus2 E7 Asus4 A
  AE: "[[e2,b2] e2@2 ~@2 g#3@3 [e2,b2] [e2,b2,f#3]!3 ~ [a3,d4,f#4]!2 ~, ~ b2 ~ f#3@6 ~@4 d3@2 ~, ~@3 [e2,b2]@5 ~@8, ~@5 e4@7 ~@4, ~@5 b3@5 ~@6]/2", // E5 Esus2 D E5
  AF: "[~ [e3,b3]!2 [a2,e3,b3,d4]@2 [e3,a3,c#4]@3 [e3,b3,d4]!3 [a2,e3,b3,d4]@2 [a2,e3]@3, a2@3 ~@2 a2@4 a2@2 ~@2 [a3,c#4]@2 ~]/2", // E5 Asus4 A E7 Asus4 A5 A
  AG: "[[e2,b2] b2 [b2,f#3,g#3] [b2,f#3,g#3]@2 [b2,f#3,g#3]@3 e2@2 [e2,b2] e2@2 [d4,f#4]!2 ~, ~ e2@7 b2 ~@2 b2 ~ [d3,a3]@2 ~, ~@5 [b3,e4]@7 ~@4]/2", // E5 G#m7 E5 D D5 E5
  AH: "e3@2 [e3,b3,d4]@2 [e3,b3,d4]@2 [e3,b3,d4]@4 [e3,a3,c#4]@5 ~, a2", // E7 A
  AI: "[e3,b3,d4]!2 [a2,e3,b3,d4] [a2,e3,b3,d4]@2 [a2,e3,a3,c#4]@2 ~, a2 ~@3", // E7 Asus4 A
  AJ: "[b2 [b2,f#3]!2 [b2,f#3]@2 [f#3,g#3]@3 [e2,b2] [e2,b2,f#3]!2 [e2,b2] ~ [a3,d4,f#4] [d3,a3,d4,f#4] ~, e2 ~, ~@5 [b3,e4]@7 ~@4]/2", // B5 F#sus2 E5 Esus2 E5 D E5
  AK: "~ [f#4,a#4,d#5], ~@7 b3@9", AL: "~ [f#4,b4], ~@7 [g3,d4]@9", AM: "~ [e4,g#4,c#5], ~@7 a3@8 ~",
  AN: "~@4 f#4 g#4@3, ~ [b3,e4]", AO: "~ [a#4,d#5], ~@7 [b3,f#4]@9", AP: "~@3 [a2,f#3]@2 [g3,d4] ~@2",
  AQ: "[f#3,c#4]!3 [f#3,c#4]@2 [a2,g3,d4] ~@2, a2@2 a2@3 ~@3", // F#5 Dsus4
  AR: "[a2,f#3,c#4] [f#3,c#4] [a2,f#3,c#4] [a2,f#3,c#4]@2 [a2,g3,d4] ~@2", // F#m F#5 F#m Dsus4
  AS: "[a2,f#3,c#4]!3 [a2,f#3,c#4]@2 [a2,g3,d4] ~@2", // F#m Dsus4
  AT: "[e3,a3,d4,f#4] [e3,a3,d4]!2 [e3,a3,d4,f#4]@2 [e3,b3,e4,g#4] ~@2", // D Dsus2 D E
  AU: "[e3,a3,d4] [e3,a3,d4,f#4]!2 [e3,a3,d4,f#4]@2 [e3,b3,e4,g#4] ~@2", // Dsus2 D E
  AV: "[e3,a3,d4]!2 [e3,a3,d4,f#4] [e3,a3,d4,f#4]@2 [e3,b3,e4,g#4] ~@2", // Dsus2 D E
  AW: "[e3,a3,d4]!4 ~ [a3,d4,f#4]!2 ~, ~@5 d3@2 ~", AX: "a2@2 e3@2 [a2,e3,b3]@2 [b3,d4]@4 [a3,c#4]@5 ~, ~@3 [a2,e3]@5",
  AY: "[a2,e3,b3]!2 [a2,e3,b3,d4] [e3,b3,d4]@2 [a3,c#4]@2 ~, ~@3 a2@4 ~", // Asus2 Asus4 E7 A
  AZ: "[[e2,b2]@2 [e2,b2]@2 [e2,b2]@2 ~@4 [f#3,g#3]@6 [e2,b2]@2 [e2,b2]@2 [e2,b2]@2 [e2,b2] ~@3 [d4,f#4]@2 [d4,f#4]@2 ~@2, ~@3 [e2,b2]@5 ~@8, ~@5 [b3,e4]@7 ~ a3@2 ~]/2", // E5 F#sus2 E5 D E5
  BA: "e3@2 e3@2 [a2,e3,b3,d4]@2 [e3,b3]@4 [e3,a3,c#4]@5 ~, a2 ~@3", // Asus4 E5 A
  BB: "[e3,b3,d4]@2 [a2,e3,b3,d4]@2 [a2,e3,b3,d4]@2 [a2,b3,d4]@4 [a2,a3,c#4]@5 ~, ~@6 e3 ~@3 e3@3 ~@3", // E7 Asus4 Bm7 A
  BC: "[b2@2 b2@2 [e2,b2,f#3]@2 ~@4 g#3@6 b2@2 b2@2 [e2,b2]@2 [e2,b2]@3 ~ [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4]@2 ~@2, e2@2 ~ [e2,b2,f#3]@5 e2@2 ~@6, ~@10 [b3,e4]@15 ~@7]/2", // Esus2 E5 D Esus2 E5
  BD: "~@2 [e3,b3,d4]@2 [e3,b3,d4]@2 [e3,b3,d4]@4 [e3,a3,c#4]@5 ~", // E7 A
  BE: "e3 [a2,e3,b3,d4] [e3,b3,d4] [e3,b3,d4]@2 [e3,a3,c#4]@2 ~, ~@4 a2@11 ~", // Asus4 E7 A
  BF: "[b2!3 f#3@2 [f#3,g#3]@3 [e2,b2] ~ [e2,b2,f#3]!2 ~ [d3,a3,d4,f#4]!2 ~, e2@3 [e2,b2]@5 ~@8, ~@5 [b3,e4]@7 ~@4]/2", // F#sus2 E5 Esus2 D E5
  BG: "[[e3,b3] [e3,b3,d4]!2 [e3,b3,d4]@2 [e3,a3,c#4]@3 [e3,b3] [a2,e3,b3,d4]!2 [e3,b3,d4]@2 [e3,a3,c#4]@2 ~, ~@3 a2@6 ~@2 a2@4 ~]/2", // E5 E7 A E5 Asus4 E7 A
  BH: "[b2!3 ~@2 g#3@3 [e2,b2]!3 [e2,b2,f#3] ~ [a3,d4,f#4] [d3,a3,d4,f#4] ~, e2@3 f#3@7 ~@6, ~@3 [e2,b2]@5 ~@8, ~@5 [b3,e4]@7 ~@4]/2", // E5 Esus2 D E5
})).s("gm_electric_guitar_clean").gain(0.22)

// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note(`<
  ~ A ~ B C ~@2 D ~ E ~ F G H ~@2 I ~@24 J ~ K ~@2 L M ~ N ~@3 O P M ~@25 Q R S T U H V W X ~ M Y Z ~ AA AB ~@6 AC ~ H ~
  AD AE AD ~ AF AG AH AI AJ AK M ~ AL Z AM AN AO@2 AP AQ ~@25
>`.pickRestart({
  A: "~@10 a3@5 ~", B: "~ f#3 ~@3 e2@3", C: "~ f#3@2 ~@5", D: "f#3!2 ~@6", E: "b3 [a2,b3] ~@6", F: "f#3 ~@4 e2@3",
  G: "~@6 d3 ~", H: "~ a2 ~@6", I: "~@5 d3 ~@2", J: "e3 [a2,e3] ~@6", K: "b2 f#3 ~@3 f#3@3", L: "~@7 e3@3 ~@2 e3@3 ~",
  M: "f#3 ~@3", N: "~@2 d4 ~@5", O: "e3 ~@7", P: "a2 ~@7", Q: "[a2,e3]@2 ~ a2@5, b3 ~@7", R: "e3 ~ d4 ~@5",
  S: "b2 f#3@2 ~@5", T: "~@2 b2 f#3 ~@4", U: "~ d4 ~@6", V: "~@2 f#3@4 ~@2 e4 ~@7", W: "~@3 g#3 ~@4", X: "e3 d4!2 ~@5",
  Y: "~@2 f#3@2 ~@2 f#3 ~@9", Z: "b3 ~@7", AA: "f#3 ~ g#3 ~ e4 ~@3, ~@3 g#3@2 ~@3", AB: "f#3 ~@4 d3 ~@2",
  AC: "~ [a2,f#3] [a2,f#3,c#4] c#4@2 ~@3", AD: "~ f#4 ~@6", AE: "f#4 ~@7", AF: "e3 [b3,d4] d4 ~@5", AG: "~@5 e3@2 ~",
  AH: "~ f#3@4 ~@3", AI: "~@6 f#3 ~@9", AJ: "~ b3 ~@6", AK: "a2@2 ~@5 e3@2 ~@7", AL: "[e3,b3] ~@7, a2@3 ~@5",
  AM: "~@2 g#3 ~@5, ~ f#3@2 ~@5", AN: "~ [e2,f#3] ~@6", AO: "d4 ~@7", AP: "f#3@3 g#3@2 ~@3", AQ: "~@2 f#3 ~@2 d3 ~@2",
})).s("gm_electric_guitar_clean").gain(0.09)

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

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  ~@17 A B C@3 D E C@2 F C@5 F ~@24 A B C@3 D E C@2 F C@5 F ~@24 G@2 H G@3 H@8 I@2 J K I@2 J L I@2 J L I@2 J K M B C@3 D
  E C@2 F C@5 F A B C@3 D E C ~
>`.pickRestart({
  A: "~@2 b3 ~@3 a3 ~ b3 ~@3 a3 ~ b3 ~", B: "g3 ~ b3 ~@3 a3 ~ b3 ~ e3 ~ c#3 ~ b3 ~",
  C: "~@2 b3 ~@3 a3 ~ b3 ~ e3 ~ c#3 ~ b3 ~", D: "~@2 b3 ~@3 a3 ~ b3 ~ e3 ~ c3 ~ b3 ~",
  E: "~@2 b3 ~@3 a3 ~ b3 ~ e3 ~@3 b3 ~", F: "~@2 b3 ~@3 a3 ~ b3 ~ e3 ~ c#3 ~@3", G: "b3!16", H: "a3!16", I: "a2!16",
  J: "e3!16", K: "e3!10 d3!6", L: "e3!11 d3!5", M: "d3 ~ b3 ~@3 a3 ~ b3 ~@3 a3 ~ b3 ~",
})).s("gm_electric_guitar_muted").gain(0.18).pan(0.3)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean_3 = note("<~@33 A B C D B@2 C E ~@32 A B C D B@2 C E ~@19 F G ~@50>".pickRestart({
  A: "~@2 [d4,f#4] ~@3 a3@2 [d4,f#4]@2 a3@2 [d4,f#4] ~@3, ~@6 d4 ~@9", // D
  B: "~@2 [d4,f#4] ~@3 a3@2 f#4@2 a3@2 [d4,f#4] ~@3, ~@8 d4 ~@7", // D
  C: "~@2 [e4,g#4] ~@3 b3@2 g#4@2 b3@2 [e4,g#4] ~@3, ~@8 e4 ~@7", // E
  D: "~@2 [e4,g#4] ~@3 b3@2 g#4@2 [b3,e4]@2 [e4,g#4] ~@3, ~@6 e4 ~ e4 ~@7", // E E5 E
  E: "~@2 [e4,g#4]@2 [e4,g#4] ~ [e4,g#4] ~@3 [d4,f#4] ~ [d4,f#4]@2 ~@2", F: "f#4 c#4 d#4@6", G: "~@3 e4 d#4@2 b3 f#3",
})).s("gm_electric_guitar_clean").gain(0.27).pan(0.3)

// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_4 = note("<~@34 A B ~ C A B ~@34 A B ~ C A B ~@72>".pickRestart({
  A: "~@6 d4 ~@9", B: "~@6 e4 ~@3 e4@2 ~@4", C: "~@6 d4 ~@3 d4@2 ~@4",
})).s("gm_electric_guitar_clean").gain(0.11).pan(0.3)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted_2 = note(`<
  ~@17 A B C@2 A B C@2 A B C@2 A B C@2 ~@24 A B C@2 A B C@2 A B C@2 A B C@2 ~@24 D E F G H I J@8 ~@16 A B C@2 A B C@2 A
  B C@2 A B C@2 A B C@2 A B C@2 ~
>`.pickRestart({
  A: "~@2 c#3 ~ e3 ~ a2 ~@3 e3 ~ a2 ~@3", B: "f#2 ~ f#2 ~ e3 ~ f#2 ~@3 e3 ~ f#2 ~ g#2 ~",
  C: "~@2 g#3 ~ e3 ~ c#3 ~ g#3 ~ e3 ~ c#3 ~ g#3 ~", D: "f#3 ~ d#4 e4 d#4@2 b3 f#3, ~ b3@2 ~@5",
  E: "d4 a3 f#3 b3 a3 e3 c#3 a2", F: "b2 e3 a3 b3 a3@2 b3 a3", G: "b3 f#3 c#3 f#3!2 c#3 b2 f#2",
  H: "f#4 b4 d#5 e5 d#5@2 b4 f#4", I: "d5 a4 f#4 b4 a4 e4 c#4 a3", J: "a2!16",
})).s("gm_electric_guitar_muted").gain(0.13).pan(0.9)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note("<~@33 A@2 B@2 A@2 B C ~@32 A@2 B@2 A@2 B C ~@71>".pickRestart({
  A: "[a3,d4,f#4,a4] ~@3 [a3,d4,f#4,a4] ~@3", B: "[b3,e4,g#4,b4] ~@3 [b3,e4,g#4,b4] ~@3",
  C: "[b3,e4,g#4,b4] ~@4 [a3,d4,f#4]!2 ~, ~@5 d3@2 ~", // E D
})).s("gm_overdriven_guitar").gain(0.22)

// bass · synth bass 2 · "SYN BASS 2"
const bass_2 = note(`<
  ~@24 A B C D@2 B C D@2 E@2 F@2 E@2 G@2 H ~@22 A B C I@2 B C I@2 E@2 F@2 E@2 G@2 H ~@52 A B C I@2 B C I@2 B C J@2 B C
  J@2 ~
>`.pickRestart({
  A: "~@3 e2", B: "a1", C: "f#1", D: "[c#2@31 ~]/2", E: "a1/2", F: "e2/2", G: "[e2@26 d2 ~ d2@3 ~]/2", H: "a1@3 ~@5",
  I: "c#2/2", J: "[c2 c#2@15]/2",
})).s("gm_synth_bass_2").gain(0.17)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean_5 = note("<~@97 A B C D A B E F@3 G@3 H ~@41>".pickRestart({
  A: "~ [b2,f#3,b3]", B: "~ [g2,d3,g3]", C: "~ [a2,e3,a3]", D: "~ [e2,b2,e3]",
  E: "[a2,f#3] a2!2 [a2,f#3]@2 [a2,g3] ~@2, ~ f#3@2 ~@5", F: "[a2,f#3]!3 [a2,f#3]@2 [a2,g3] ~@2",
  G: "[a2,f#3,d4]!3 [a2,f#3,d4]@2 [a2,g#3,e4] ~@2", H: "[a2,f#3,d4] [a2,f#3]!2 [a2,f#3,d4] ~ [a2,f#3,d4]!2 ~",
})).s("gm_electric_guitar_clean").gain(0.24).pan(0.7)

// other · lead 2 sawtooth · "SAW WAVE"
const lead_2_sawtooth = note("<~@33 A@2 B@2 A@2 B C ~@32 A@2 B@2 A@2 B C ~@71>".pickRestart({
  A: "a3!16", B: "e4!16", C: "e4!13 ~@3",
})).s("gm_lead_2_sawtooth").gain(0.11)

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

// drums · rim
const rim = s("rim").struct("<~@17 A@23 ~@17 A@23 ~@18 B@6 ~@23 A@24 ~>".pickRestart({
  A: "~ x", B: "x",
})).gain(0.44)

// drums · snare
const snare = s("sd").struct(`<
  A B@3 C B@7 C B@3 C ~@23 A B@3 C B@3 C B@3 C B@3 C ~@23 A B@3 C B@3 C B@3 C B@3 C ~@10 B@3 C B@3 C B@3 C B@3 C B@3 C
  ~@25
// … 32 more lines

More by The Police