Strudelify
Walking on The Moon cover art

Reggatta De Blanc

Walking on The Moon

The Police

KeyD minorTempo144 bpm
0:00/0:00
// Walking on The Moon — The Police
// 144 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 179 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(144/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(`<
  ~@17 A B C D A@2 C E B A C E A@2 C E ~@8 A B F E A B C G A@2 C E B H C E A@2 I J K L I J K L M J N L I J N O ~@8 A B F
  E A B C G A@2 C E B H C E A@2 I J K L I J K L M J N L I J N O ~@16 A B F E A B C G A@2 C E B H C E A B F E A B C G A@2
  C E B H C P Q B F E A B C R A@2 C E ~@2
>`.pickRestart({
  A: "~@3 [c4,d4,g4] ~@5 [c4,d4,g4] ~@2", B: "~@6 [c4,d4,g4]@3 ~@9 [c4,d4,g4]@2 ~@4",
  C: "~@3 [d4,f4,bb4,d5] ~@5 [d4,f4,bb4,d5] ~@2", D: "~@3 [g4,c5,e5] ~@5 [e4,g4,c5,e5] ~@2",
  E: "~@3 [e4,g4,c5,e5] ~@5 [e4,g4,c5,e5] ~@2", F: "~@3 [f4,bb4,d5] ~@5 [d4,f4,bb4,d5] ~@2, ~@5 d4@3 ~@16",
  G: "~@6 [e4,g4,c5,e5]@3 ~@9 [e4,g4,c5,e5]@2 ~@4", H: "~@6 [c4,d4,g4]@3 ~@9 [c4,d4]@2 ~@4",
  I: "~@3 [bb3,d4,f4,bb4] ~@5 [bb3,d4,f4,bb4] ~@2", J: "~@3 [a3,c4,f4,a4] ~@5 [a3,c4,f4,a4] ~@2",
  K: "~@3 [c4,e4,g4,c5] ~@5 [c4,e4,g4,c5] ~@2", L: "~@3 [bb3,d4,g4,bb4] ~@5 [bb3,d4,g4,bb4] ~@2",
  M: "~@3 [bb3,d4,f4,bb4] ~@5 [bb3,d4,f4] ~@2", N: "~@6 [c4,e4,g4,c5]@2 ~@10 [c4,e4,g4,c5]@3 ~@3",
  O: "~@2 [c4,e4,g4,c5] ~@5", P: "~@3 [g4,c5,e5] ~@5 [g4,c5,e5] ~@2, ~@5 e4@2 ~@10 e4@3 ~@4",
  Q: "~@3 g4 ~@5 [c4,d4,g4] ~@2, ~@5 [c4,d4]@2 ~@17", R: "~@6 [g4,c5,e5]@3 ~@9 [e4,g4,c5,e5]@2 ~@4, ~@5 e4@3 ~@16",
})).s("gm_electric_guitar_clean").gain(0.31)

// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note(`<
  ~@17 A B ~@2 C@2 ~@2 D A ~@2 A@2 ~@10 E F ~@2 E G ~@2 C A ~@2 H I ~@2 C@2 ~@8 J ~@15 E F ~@2 E G ~@2 C A ~@2 H I ~@2
  C@2 ~@8 J ~@23 C F ~@2 E G ~@2 C A ~@2 H I ~@2 E F ~@2 E G ~@2 C A ~@2 H I ~@2 E F ~@2 E K ~@2 C A ~@4
>`.pickRestart({
  A: "~@3 [d3,f3] ~@5 [d3,f3] ~@2", B: "~@6 [d3,f3]@3 ~@9 [d3,f3]@2 ~@4", C: "~@3 f3 ~@5 f3 ~@2",
  D: "~@6 f3@3 ~@9 f3@2 ~@4", E: "~@3 f3 ~@5 [d3,f3] ~@2", F: "~@6 f3@3 ~@9 f3@2 ~@4, ~@17 d3@2 ~@5",
  G: "~@6 [d3,f3]@3 ~@9 f3@2 ~@4", H: "~@6 f3@3 ~@9 f3@2 ~@4, ~@5 d3@2 ~@17", I: "~@6 f3@3 ~@9 [f3,g4]@2 ~@4",
  J: "~@9 bb4 ~@2", K: "~@6 f3@3 ~@9 f3@2 ~@4, ~@5 d3@3 ~@16",
})).s("gm_electric_guitar_clean").gain(0.18)

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  A@8 B@8 C@8 D@8 C@8 E@8 F@8 G@3 H I J K L M N O H P Q R L S T U@6 V@2 W@8 X@8 Y@3 L Z AA AB AC AD AE AF AG AH AI AJ L
  Z AK AL@2 AM@6 AN@4 AO@8 AP@8 AQ@8 AR@8 AQ@8 AR@8 AS@2 ~
>`.pickRestart({
  A: "[~@12 c2@4 ~@2 c2@4 d2@37 ~ f2@4 ~@2 e2@4 c2@37 ~ c2@4 ~@2 c2@4 d2@38 f2@5 ~ e2@4 c2@26]/8",
  B: "[~@12 c2@4 ~@2 c2@4 d2@37 ~ f2@4 ~@2 e2@4 c2@37 ~ c2@5 ~ c2@4 d2@38 f2@4 ~@2 e2@4 c2@26]/8",
  C: "[~@12 c2@5 ~ c2@4 d2@37 ~ f2@5 ~ e2@4 c2@37 ~ c2@5 ~ c2@4 d2@37 ~ f2@5 ~ e2@4 c2@26]/8",
  D: "[~@12 c2@4 ~@2 c2@3 ~ d2@38 f2@4 ~@2 e2@4 c2@37 ~ c2@4 ~@2 c2@4 d2@38 f2@5 ~ e2@4 c2@26]/8",
  E: "[~@12 c2@4 ~@2 c2@4 d2@38 f2@4 ~@2 e2@4 c2@38 c2@4 ~@2 c2@4 d2@38 f2@5 ~ e2@4 c2@26]/8",
  F: "[~@12 c2@4 ~@2 c2@4 d2@37 ~ f2@5 ~ e2@4 c2@37 ~ c2@5 ~ c2@4 d2@38 f2@5 ~ e2@4 c2@26]/8",
  G: "[~@12 c2@5 ~ c2@4 d2@35 ~ d2@2 g2@3 ~ g2@2 g2@6]/3", H: "bb1@5 ~ bb1@4 ~@2 bb1@9 ~ c2@2",
  I: "f1@2 ~@2 f1@4 ~@2 f1@2 f1@7 ~@3 f1@2", J: "c2@2 ~ c2@2 ~ c2@4 ~ c2", K: "g1@3 ~ g1@3 ~@3 g1 ~ g1@6 a1@6",
  L: "bb1@5 ~ bb1@5 ~ bb1@9 ~ c2@2", M: "f1@3 ~ f1@3 ~@3 f1@2 f1@7 ~@3 f1@2", N: "c2@2 ~@2 c2@2 c2@5 ~ c2@6 ~@4 c2@2",
  O: "g1 ~ g1@2 ~ g1 g1@3 a1@3", P: "f1@2 ~@2 f1@3 ~@3 f1 ~ f1@6 ~@4 f1@2", Q: "c2@4 c3@2 c2@5 ~ c2@7 ~@3 c2@2",
  R: "g1@3 ~ g1@3 ~@3 g1@2 g1@6 a1@6", S: "f1@3 ~ f1@4 ~@2 f1 ~ f1@7 ~@3 f1@2", T: "c2@5 ~ c2@5 ~ c2@7 ~@3 g1@2",
  U: "[c2@6 ~@6 c2@4 ~@2 c2@4 d2@35 ~@3 f2@4 ~@2 e2@4 c2@36 ~@2 c2@4 ~@2 c2@4 d2@26]/6", V: "[~@6 f2@2 ~ e2@2 c2@13]/2",
  W: "[~@12 c2@4 ~@2 c2@4 d2@37 ~ f2@5 ~ e2@4 c2@37 ~ c2@4 ~@2 c2@4 d2@38 f2@4 ~@2 e2@4 c2@26]/8",
  X: "[~@12 c2@5 ~ c2@4 d2@38 f2@4 ~@2 e2@4 c2@37 ~ c2@5 ~ c2@4 d2@37 ~ f2@5 ~ e2@4 c2@26]/8",
  Y: "[~@12 c2@5 ~ c2@4 d2@34 ~@2 d2@2 g2@3 ~ g2@2 g2@6]/3", Z: "f1@2 ~@2 f1@4 ~@2 f1 ~ f1@7 ~@3 f1@2",
  AA: "c2@3 ~ c2@2 c2@4 ~@2 c2@7 ~@3 c2@2", AB: "g1@2 ~@2 g1 ~ g1@3 ~ g1@2 g1@7 ~@3 g1@2",
  AC: "bb1@2 ~ bb1@2 ~ bb1@3 ~@2 c2", AD: "f1@2 ~@2 f1@3 ~@3 f1@2 f1@8 ~@2 f1@2", AE: "c2@4 ~@2 c2@4 ~@2 c2@7 ~@3 c2@2",
  AF: "g1@6 ~@4 g1 ~ g1@6 ~@4 g1@2", AG: "bb1@4 ~@2 bb1@5 ~ bb1@9 ~ c2@2", AH: "f1@3 ~ f1@4 ~@2 f1@2 f1@7 ~@3 f1@2",
  AI: "c2@3 ~ c2 ~ c2@5 ~ c2@6 ~@4 c2@2", AJ: "g1@3 ~ g1@5 ~ g1 ~ g1@5 ~ g1@5 ~",
  AK: "c2@4 ~@2 c2@5 ~ c2@3 ~ c2@3 ~@3 g1@2", AL: "[c2@3 ~@3 c2@2 ~ c2@2 d2@13]/2",
  AM: "[~@12 f2@4 ~@2 e2@4 c2@36 ~@2 c2@4 ~@2 c2@4 d2@37 ~ f2@4 ~@2 e2@4 c2@26]/6",
  AN: "[~@12 c2@5 ~ c2@4 d2@37 ~ f2@5 ~ e2@4 c2@26]/4",
  AO: "[~@12 c2@4 ~@2 c2@4 d2@37 ~ f2@5 ~ e2@4 c2@37 ~ c2@4 ~@2 c2@4 d2@37 ~ f2@5 ~ e2@4 c2@26]/8",
  AP: "[~@12 c2@4 ~@2 c2@4 d2@37 ~ f2@5 ~ e2@4 c2@37 ~ c2@4 ~@2 c2@4 d2@37 ~ f2@4 ~@2 e2@4 c2@26]/8",
  AQ: "[~@12 c2@4 ~@2 c2@4 d2@37 ~ f2@5 ~ e2@4 c2@37 ~ c2@5 ~ c2@4 d2@37 ~ f2@5 ~ e2@4 c2@26]/8",
  AR: "[~@12 c2@5 ~ c2@4 d2@38 f2@5 ~ e2@4 c2@37 ~ c2@4 ~@2 c2@4 d2@37 ~ f2@4 ~@2 e2@4 c2@26]/8",
  AS: "[~@12 c2@5 ~ c2@4 d2@26]/2",
})).s("gm_fretless_bass").gain(0.44)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean_3 = note(`<
  ~ A@4 B@4 C@4 D@4 ~@4 C@4 D@4 C@4 A@4 B@4 A@4 B@4 C@4 D@4 ~@2 E F G H E I G J K L G M N L O@2 C@4 D@4 A@4 B@4 C@4 D@4
  ~@2 E F G H E I G J K L G M N L O@2 A@4 B@4 C@4 D@4 A@4 B@4 C@4 D@4 A@4 B@4 C@4 D@4 A@4 B@4 P@4 ~@2
>`.pickRestart({
  A: "[~ [f3,c4,d4,g4]@14 ~]/4", B: "[~@6 [d3,f3,c4,d4,g4]@85 ~@5]/4", C: "[~@7 g4@83 ~@6, ~@6 [d3,f3,c4,d4]@83 ~@7]/4",
  D: "[~ [d3,f3,c4,d4,g4]@14 ~]/4", E: "~@6 [d4,f4,bb4]@17 ~", F: "~ [a3,c4,f4,a4]@3", G: "~@6 [e4,g4,c5]@17 ~",
  H: "~@2 [d4,g4,bb4]@5 ~", I: "~ [c4,f4,a4]@3", J: "~@6 [d4,g4,bb4]@17 ~", K: "~@6 [bb3,d4,f4,bb4]@17 ~",
  L: "~@6 [c4,f4,a4]@17 ~", M: "~ [d4,g4,bb4]@3", N: "~@3 [d4,f4,bb4]@7 ~@2", O: "[~@6 [e4,g4,c5]@35 ~@7]/2",
  P: "[~@6 [d3,f3,c4,d4,g4]@83 ~@7]/4", // Dm7
})).s("gm_electric_guitar_clean").gain(0.29).pan(0.4)

// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_4 = note(`<
  ~ A@4 ~@28 A@4 ~@4 A@4 ~@14 B ~ C D B E C ~@2 F C G H F I@2 ~@8 A@4 ~@14 B ~ C D B E C ~@2 F C G H F I@2 A@4 ~@12 A@4
  ~@12 A@4 ~@12 A@4 ~@10
>`.pickRestart({
  A: "[~ d3@14 ~]/4", B: "~@6 bb3@17 ~", C: "~@6 c4@17 ~", D: "~@2 bb3@5 ~", E: "~ a3@3", F: "~@6 a3@17 ~",
  G: "~ bb3@3", H: "~@3 bb3@7 ~@2", I: "[~@6 c4@35 ~@7]/2",
})).s("gm_electric_guitar_clean").gain(0.11).pan(0.4)

// other · synth brass 2 · "SYNBRASS 2"
const synth_brass_2 = note(`<
  ~@133 A B C B C B C B C D C D C B C D C D C B C D C D A D C D C D C D C D A D C D A D A B A B ~@2
>`.pickRestart({
  A: "~@10 f5@2 e5@9 ~ d5@2", B: "c5@6 bb4@6 a4@7 ~@5", C: "~@5 f5 e5@5 d5", D: "c5 bb4 a4 ~",
})).s("gm_synth_brass_2").gain(0.15).pan(0.6)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean_5 = note(`<
  ~ A@4 B@4 C@4 D@4 ~@4 C@4 D@4 C@4 A@4 B@4 A@4 B@4 C@4 D@4 ~@2 E@4 F@7 G@2 H@3 C@4 D@4 A@4 B@4 C@4 D@4 ~@2 E@4 F@7 G@2
  H@3 A@4 B@4 C@4 D@4 A@4 I@4 J@4 A@8 I@4 J@4 A@8 I@4 K@4 ~@2
>`.pickRestart({
  A: "[~@5 [f3,c4,d4,g4]@42 ~]/4", B: "[~@10 [d3,f3,c4,d4,g4]@85 ~]/4",
  C: "[~@11 g4@83 ~@2, ~@10 [d3,f3,c4,d4]@83 ~@3]/4", D: "[~@5 [d3,f3,c4,d4,g4]@42 ~]/4",
  E: "[~@10 [d4,f4,bb4]@17 ~@7 [a3,c4,f4,a4]@18 ~@6 [e4,g4,c5]@17 ~@7 [d4,g4,bb4]@14]/4", // Bb F C Gm
  F: "[~@10 [d4,f4,bb4]@17 ~@7 [c4,f4,a4]@18 ~@6 [e4,g4,c5]@17 ~@7 [d4,g4,bb4]@17 ~@7 [bb3,d4,f4,bb4]@17 ~@7 [c4,f4,a4]@17 ~@7 [e4,g4,c5]@14]/7", // Bb F C Gm Bb F C
  G: "[~@5 [d4,g4,bb4]@9 ~@3 [d4,f4,bb4]@7]/2", H: "[~@10 [c4,f4,a4]@17 ~@7 [e4,g4,c5]@35 ~@3]/3",
  I: "[~@10 [f3,c4,d4,g4]@85 ~]/4", J: "[~@11 g4@83 ~@2, ~@10 [f3,c4,d4]@83 ~@3]/4", K: "[~@10 [f3,c4,d4,g4]@83 ~@3]/4",
})).s("gm_electric_guitar_clean").gain(0.12).pan(0.7)

// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_6 = note(`<
  ~ A@4 ~@28 A@4 ~@4 A@4 ~@14 B@2 C@2 D@4 ~ E@4 F@3 ~@8 A@4 ~@14 B@2 C@2 D@4 ~ E@4 F@3 A@4 ~@58
>`.pickRestart({
  A: "[~@5 d3@42 ~]/4", B: "[~@10 bb3@17 ~@21]/2", C: "[~@10 c4@17 ~@7 bb3@14]/2",
  D: "[~@10 bb3@17 ~@7 a3@18 ~@6 c4@17 ~@21]/4", E: "[~@10 a3@17 ~@7 c4@17 ~@7 bb3@18 ~@6 bb3@14]/4",
  F: "[~@10 a3@17 ~@7 c4@35 ~@3]/3",
})).s("gm_electric_guitar_clean").gain(0.05).pan(0.7)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean_7 = note("<~@59 A@4 B@7 C@2 D@3 ~@26 A@4 B@7 C@2 D@3 ~@62>".pickRestart({
  A: "[~@16 [d4,f4,bb4]@10 ~@14 [a3,c4,f4,a4]@11 ~@13 [e4,g4,c5]@10 ~@14 [d4,g4,bb4]@8]/4", // Bb F C Gm
  B: "[~@16 [d4,f4,bb4]@10 ~@14 [c4,f4,a4]@11 ~@13 [e4,g4,c5]@10 ~@14 [d4,g4,bb4]@10 ~@14 [bb3,d4,f4,bb4]@10 ~@14 [c4,f4,a4]@10 ~@14 [e4,g4,c5]@8]/7", // Bb F C Gm Bb F C
  C: "[~@16 [d4,g4,bb4]@11 ~@13 [d4,f4,bb4]@8]/2", D: "[~@16 [c4,f4,a4]@10 ~@14 [e4,g4,c5]@21 ~@11]/3",
})).s("gm_electric_guitar_clean").gain(0.02).pan(0.8)

// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_8 = note("<~@59 A@2 B@2 C@4 ~ D@4 E@3 ~@26 A@2 B@2 C@4 ~ D@4 E@3 ~@62>".pickRestart({
  A: "[~@8 bb3@5 ~@11]/2", B: "[~@8 c4@5 ~@7 bb3@4]/2", C: "[~@16 bb3@10 ~@14 a3@11 ~@13 c4@10 ~@22]/4",
  D: "[~@16 a3@10 ~@14 c4@10 ~@14 bb3@11 ~@13 bb3@8]/4", E: "[~@16 a3@10 ~@14 c4@21 ~@11]/3",
})).s("gm_electric_guitar_clean").gain(0.01).pan(0.8)

// bass · piano · "A.PIANO 1"
const bass_2 = note("<A@8 B@8 C@3 ~@160>".pickRestart({
  A: "[~@6 c2@2 ~ c2@2 d2@18 ~ f2@2 ~ e2@2 c2@18 ~ c2@2 ~ c2@2 d2@18 ~ f2@2 ~ e2@2 c2@13]/8",
  B: "[~@12 c2@4 ~@2 c2@4 d2@36 ~@2 f2@4 ~@2 e2@4 c2@37 ~ c2@4 ~@2 c2@4 d2@37 ~ f2@4 ~@2 e2@4 c2@26]/8",
  C: "[~@6 c2@2 ~ c2@2 d2@20 ~@5]/3",
})).s("gm_piano").gain(0.25)

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

// drums · rim
const rim = s("rim").struct(`<
  ~@9 A@2 B A@3 B A@5 C A@2 B A@8 D@2 E F D@2 G D A@10 H A@3 D A D A ~ A@3 B I A J D@2 B D A@3 D@2 ~@3 K L M@2 A@7 D A@7
  ~ N O A@2 P Q A@2 B A B@2 F R D S B ~@26 D A B A@3 B A@3 B A T A ~ D U T V D T ~@2 D@2 W X Y D@2 A@5 ~@2
>`.pickRestart({
  A: "~ x", B: "~@6 x ~@4 x", C: "~ x ~ x ~@2", D: "~@3 x!2 ~", E: "~@6 x ~ x ~@2 x", F: "x ~@2 x!2 ~",
  G: "~@8 x ~@2 x", H: "~@5 x!2 ~@5", I: "~@6 x ~ x!2 ~@2", J: "~@3 x ~@2 x ~ x ~@2 x", K: "~@3 x!3", L: "x!2 ~@4",
  M: "x!6", N: "~@3 x ~ x", O: "x ~ x!3 ~", P: "~@5 x!2 ~@4 x", Q: "x", R: "~@2 x!2 ~@2 x ~@4 x", S: "x ~@4 x!2 ~@4 x",
  T: "x!2 ~ x!2 ~", U: "x!5 ~", V: "x ~ x ~@3 x ~ x!2 ~@2", W: "~@5 x!2 ~ x ~@2 x", X: "x ~ x ~@2 x ~@2 x ~@3",
  Y: "~@5 x!2 ~ x ~@3",
})).gain(0.44)

// drums · rim · soft notes
const rim_soft = s("rim").struct("<~@99 A B ~@13 C ~@43 D E F G H ~@3 I ~@3 I@2 ~@7>".pickRestart({
  A: "~@2 x", B: "~ x ~@4", C: "~@3 x", D: "~@3 x ~ x ~@4 x!2", E: "~@4 x!2 ~@3 x!3", F: "~@4 x!2 ~@6", G: "~@10 x!2",
  H: "~@4 x!2 ~@4 x!2", I: "~@5 x ~@6",
})).gain(0.22)

// drums · snare
const snare = s("sd").struct("<~@116 A ~@8 B@2 C D E@3 F G E@8 ~@37>".pickRestart({
  A: "~@12 x ~@4 x!2 ~@5", B: "~@5 x ~@5 x", C: "~ x ~@3 x ~@5 x", D: "~@3 x ~@4 x ~@3 x ~@9 x ~",
  E: "~@5 x ~ x ~ x ~ x", F: "~@5 x ~@2 x ~ x ~", G: "x ~@4 x ~ x ~ x ~ x",
})).gain(0.38)

// drums · hihat
const hihat = s("hh").struct(`<
  A B C D C E C@2 D F G C H I C@2 J K C@14 L M N M N M N O P Q C@4 K R C K C K B S T S L K U C@15 L C V W X Y@3 Z C@3 B
  C@3 B C@2 AA@2 C@2 AB AC AD L I C@2 L R AE R L R C@6 AF AG AH AI AJ AK AH@2 AL C@4 AM AN AO C@4 B AP C@16 AE AQ N AD
  C@2 L R L AR K C@3 AS C@8 ~@2
>`.pickRestart({
  A: "x ~@3 x ~ x ~@2 x!2 ~ x ~@3 x!3 ~@3 x ~", B: "x ~@3 x ~ x ~@3 x ~ x ~@3 x ~ x ~@3 x!2",
  C: "x ~ x!2 ~ x!2 ~ x!2 ~ x", D: "x ~@3 x ~ x ~@3 x!3 ~@3 x!3 ~@3 x ~", E: "x ~@3 x ~ x ~@3 x!3 ~@3 x ~ x ~@3 x ~",
  F: "x ~ x!2 ~ x!2 ~@2 x ~@2", G: "x ~@4 x!2 ~@4 x", H: "x ~ x!2 ~@2 x ~@4 x", I: "x ~@2 x ~@2 x ~ x!2 ~ x",
  J: "x ~@2 x ~@2 x ~ x ~@3", K: "~@3 x ~ x!2 ~ x!2 ~ x", L: "x ~ x!2 ~ x!2 ~ x ~@3",
  M: "~@4 x ~ x ~@3 x ~ x ~@3 x ~ x ~@3 x!2", N: "x ~@3 x!3 ~@3 x!3 ~@3 x ~@7", O: "~@6 x ~@3 x ~ x ~@3 x ~ x ~@3 x!2",
  P: "x!9 ~@3", Q: "~@3 x ~@5 x ~ x", R: "~@3 x ~@2 x ~ x!2 ~ x", S: "x ~@2 x ~ x!2 ~ x!2 ~ x",
  T: "x ~@5 x ~@3 x ~ x ~@3 x ~ x ~@3 x!2", U: "x ~@3 x!3 ~@3 x ~ x ~@3 x ~ x ~@3 x ~",
  V: "x ~@3 x!3 ~@3 x!3 ~@3 x!3 ~@5", W: "x ~@3 x ~ x ~@2 x!4 ~@2 x!4 ~@2 x!3", X: "x ~@2 x!4 ~ x ~ x ~ x ~ x ~ x ~@7",
  Y: "x!4 ~ x!5 ~ x", Z: "x!4 ~ x!5 ~@2", AA: "~ x!3 ~ x!2 ~ x!2 ~ x", AB: "~@2 x ~ x ~ x ~@3 x ~ x ~@3 x ~ x ~@3 x!2",
  AC: "x ~@2 x!4 ~@3 x!3 ~@3 x ~@7", AD: "~@6 x ~ x!2 ~ x", AE: "x ~ x!2 ~ x!2 ~ x!2 ~@2", AF: "x ~ x!2 ~@8",
  AG: "~@6 x ~@3 x ~@7 x ~@4 x", AH: "~@3 x ~ x ~@3 x ~ x", AI: "~@5 x ~@4 x ~@7 x ~@3 x ~",
  AJ: "~@4 x!3 ~@3 x!3 ~@3 x!3 ~@3 x!2", AK: "x ~@2 x ~ x ~@3 x ~ x", AL: "~@4 x!3 ~@3 x!3 ~@11",
  AM: "x ~@2 x ~@2 x ~@3 x ~ x ~@3 x ~ x ~@3 x ~", AN: "x ~@3 x ~ x ~@3 x ~ x ~@3 x ~ x ~@2 x ~ x",
  AO: "~@3 x ~ x ~@3 x ~ x ~@4 x ~ x ~@3 x ~", AP: "~@4 x!2 ~@4 x ~ x ~@3 x ~ x ~@3 x ~",
  AQ: "~@6 x ~@5 x ~@3 x ~ x ~@3 x!2", AR: "~@4 x!3 ~@3 x!3 ~@3 x!2 ~@6", AS: "x ~ x!2 ~ x!2 ~ x ~@2 x",
})).gain(0.27)

// drums · open hat
const open_hat = s("oh").struct(`<
// … 26 more lines

More by The Police