Strudelify
Consider Me Gone cover art

1998 · The Dream Of The Blue Turtles

Consider Me Gone

Sting

KeyE majorTempo122 bpm
0:00/0:00
// Consider Me Gone — Sting
// 122 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 122 bars on a 24-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): guitar program 25.
setcpm(122/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 · "ConsiderGone"
const bass = note(`<
  ~@3 A B C@2 D E C@2 D E C@2 D E C@2 D E C@2 D E C@2 D E F@2 G H C@2 D E C@2 D E C@2 D E C@2 D E C@2 D E C@2 D E C@2 D
  E C@2 D E F@2 G H C@2 I J C@2 D E C@2 D E C@2 D E C@2 D E K L@2 M@2 N O@2 P Q F R C@2 D E C@2 D E C@2 D E C@2 D E C@2
  D ~@2
>`.pickRestart({
  A: "c#2@9 ~ c#2@2 ~@12", B: "c#2 ~@2", C: "c#2@7 ~@3 c#2@2 ~@12", D: "c#2@3 ~@5", E: "c#2@4 ~ c#2 ~@6",
  F: "g#1@7 ~@3 g#1@2 ~@12", G: "g#1@3 ~@5", H: "g#1@4 ~ g#1 ~@6", I: "c#2@9 ~@9 c#2@3 ~ c#2 ~", J: "c#2@3 ~@2 c#2 ~@6",
  K: "g#1 a#1 b1 c#2", L: "[d#2@6 e2@6 f#2@6 g#2@3 ~ f#1@8 g#1@6 a#1@6 b1@6]/2",
  M: "[c#2@6 d#2@6 e2@6 f#2@3 ~ e1@8 f#1@6 g#1@6 a#1@6]/2", N: "b1@6 c#2@6 d#2@6 e2@4 g#1 ~",
  O: "g#1@7 ~@3 g#1@2 ~@10 g#1 ~", P: "g#1@9 ~@13 g#1 ~", Q: "g#1@3 ~ g#1 ~@5 g#1@2 ~@10 g#1@2", R: "g#1@23 ~",
})).s("gm_electric_bass_finger").gain(0.11)

// bass · electric bass finger · "ConsiderGone" · soft notes
const bass_soft = note(`<
  ~ A@2 ~ B ~@2 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~ C@2 D ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 D ~@3 B ~@3
  B ~@3 B ~@3 B ~@3 B ~@9 D ~@5 B ~@3 B ~@3 B ~@3 B ~@3 B E ~
>`.pickRestart({
  A: "c#2@7 ~@3 c#2@2 ~@12", B: "~@5 c#2 ~@6", C: "~@22 g#1 ~", D: "~@5 g#1 ~@6", E: "c#2@4 ~ c#2 ~@6",
})).s("gm_electric_bass_finger").gain(0.06)

// other · pad halo
const pad_halo = note("<~@29 A@4 ~@32 A@4 ~@4 B@8 ~@8 C@2 D@2 E@2 A@4 F@2 ~@21>".pickRestart({
  A: "b4/4", B: "b4/8", C: "[b4@47 ~]/2", D: "[a#4@47 ~]/2", E: "[b4@23 ~]/2", F: "b4/2",
})).s("gm_pad_halo").gain(0.11).pan(0.3)

// chords · percussive organ
const percussive_organ = note(`<
  ~@5 A ~ B ~ A ~ B ~ C ~ B ~ C ~ B ~ C ~ B ~ C ~ B ~@5 D ~ E ~ C ~ B ~ F ~ B ~ C ~ B ~ C ~ B ~ C ~ B ~ C ~ B ~ C ~ B
  ~@5 E ~ G ~@26 H ~@23
>`.pickRestart({
  A: "~@3 [b3,e4]", B: "~@3 [c#4,g#4]", C: "~@3 [c#4,f#4]", D: "~@18 c#4@5 ~", E: "~@18 [c#4,g#4]@5 ~",
  F: "~@18 [c#4,f#4]@5 ~", G: "~@18 [c#4,b4,e5]@4 [c#4,b4,e5] ~", H: "~@20 f#5 ~ g5@2",
})).s("gm_percussive_organ").gain(0.11).pan(1)

// chords · percussive organ · soft notes
const percussive_organ_soft = note("<~ A ~ B ~@69 C@7 D@8 ~@10 E@8 ~@16>".pickRestart({
  A: "~@3 [b3,e4]", B: "~@18 [g#3,c#4]@5 ~", C: "e5/7", D: "[~ f#5@63]/8", E: "[~@23 g#5@169]/8",
})).s("gm_percussive_organ").gain(0.06).pan(1)

// other · percussive organ
const percussive_organ_2 = note(`<
  ~@3 A B C@2 D B C@2 D B C@2 D B C@2 D B C@2 D B C@2 D B E@2 F G C@2 D B C@2 D B C@2 D B C@2 D B C@2 D B C@2 D B C@2 D
  B C@2 D B E@2 F H C@2 D C@3 D B C@2 D B C@2 D B C@2 D B ~@6 E@2 F G E ~ I C J B I C K B L M N O P Q N R S T ~@3
>`.pickRestart({
  A: "c#3@9 ~ c#3@2 ~@12", B: "c#3@4 ~ c#3 ~@6", C: "c#3@7 ~@3 c#3@2 ~@12", D: "c#3@3 ~@5", E: "g#2@7 ~@3 g#2@2 ~@12",
  F: "g#2@3 ~@5", G: "g#2@4 ~ g#2 ~@6", H: "g#2@3 ~@7 g#2@2 ~@12", I: "c#3@7 ~@3 c#3@2 ~@6 [g#3,c#4]@5 ~",
  J: "c#3@9 ~@9 [g#3,c#4]@5 ~", K: "c#3@9 ~@9 [g#3,c#4,e4]@5 ~", L: "c#3@7 ~@3 c#3@2 ~@6 [g#3,c#4]@3 ~ [g#3,c#4] ~",
  M: "c#3@7 ~@2 f#5 c#3@2 ~@2 [b4,f#5] ~@3 [b4,f#5]@4 ~ [b4,f#5], ~@10 b4 ~@13", // B5
  N: "c#3@9 ~@9 [g#4,b4,e5]@3 ~ [g#4,b4,e5] ~", // E
  O: "c#3@8 ~@2 [b4,f#5] ~@3 [b4,f#5] ~@3 [b4,f#5]@3 ~@2 [b4,f#5], ~@5 c#3 ~@6", // B5
  P: "c#3@7 ~@3 c#3@2 ~@6 [g#4,b4,e5]@4 [g#4,b4,e5] ~", // E
  Q: "c#3@7 ~@3 [b4,f#5] ~@3 [b4,f#5] ~@3 [b4,f#5]@4 ~ [b4,f#5], ~@5 c#3 ~@6", // B5
  R: "c#3@8 ~ [b4,f#5] c#3@2 ~@2 [b4,f#5] ~@3 [b4,f#5]@3 ~ [b4,f#5] ~", // B5
  S: "c#3@7 ~@3 c#3@2 ~@6 [g#4,b4,e5]@3 ~ g#4 [b4,e5]", // E E5
  T: "c#3@7 ~@2 [b4,f#5] c#3@2 ~@2 [b4,f#5] ~@3 [b4,f#5]@4 ~ [b4,f#5]", // B5
})).s("gm_percussive_organ").gain(0.07).pan(0.3)

// other · percussive organ · soft notes
const percussive_organ_soft_2 = note(`<
  ~ A@2 ~@4 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 C ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~@3 C D ~@2 B ~@3 B
  ~@3 B ~@3 B ~@3 B ~@9 C ~@5 B ~@3 B ~@3 B ~@3 B ~@3 E F ~
>`.pickRestart({
  A: "c#3@7 ~@3 c#3@2 ~@12", B: "~@5 c#3 ~@6", C: "~@5 g#2 ~@6", D: "~@4 g#2 ~@19",
  E: "c#3@9 ~ c#3@2 ~@6 [g#4,b4,e5]@3 ~ [g#4,b4,e5] ~", // E
  F: "c#3@8 ~ [b4,f#5] c#3@2 ~@2 [b4,f#5] ~@3 [b4,f#5]@3 ~ [b4,f#5] ~", // B5
})).s("gm_percussive_organ").gain(0.04).pan(0.3)

// bass · drawbar organ
const bass_2 = note(`<
  ~@4 A B A C A D A C A E A C A D A C A E A C A F A C A ~@4 B A C A E A C A E A C A F A C A E A C A F A C A E A C A F A
  C A ~@4 B A C E@2 A C A F A C A E A C A G A C A ~@12 H I J I K I L M N O P O H O Q R H O ~@3
>`.pickRestart({
  A: "g#1@6 a#1@5 ~ b1@4 a#1@2 g#1@4 ~@2", B: "g#1@6 a#1@6 b1@6 c#2@5 ~", C: "g#1@3 a#1@3 b1@3 c#2@2 ~",
  D: "g#1 a#1 b1 e2", E: "g#1@6 a#1@6 b1@6 f#2@5 ~", F: "g#1 a#1 b1 f#2", G: "g#1@3 a#1@3 b1@3 f#2 ~@2",
  H: "g#2 a#2 b2 f#3", I: "g#2@6 a#2@6 b2@4 a#2@2 g#2@5 ~", J: "g#2 a#2 b2 c#3", K: "g#2@5 ~ a#2@6 b2@6 f#3@6",
  L: "g#2@5 ~ a#2@6 b2@5 ~ c#3@3 ~ c#3@2", M: "f#3@2 c#3 e3@3 c#3 b2 g#2 b2@3", N: "~@6 a#2@7 b2@5 f#3@6",
  O: "g#2@3 a#2@3 b2@2 a#2 g#2@2 ~", P: "g#2@6 a#2@6 b2@5 ~ f#3@2 g#3@4", Q: "g#2@5 ~ a#2@6 b2@5 ~ c#3@6",
  R: "g#2@6 a#2@6 b2@4 a#2@2 g#2@3 ~@3",
})).s("gm_drawbar_organ").gain(0.14)

// bass · drawbar organ · soft notes
const bass_soft_2 = note("<~ A B C ~@67 D ~@13 E ~@23 F ~@9 G H ~>".pickRestart({
  A: "g#1@6 a#1@6 b1@6 c#2@5 ~", B: "g#1@6 a#1@5 ~ b1@4 a#1@2 g#1@4 ~@2", C: "g#1@3 a#1@3 b1@3 c#2@2 ~", D: "~@11 c#2",
  E: "~@5 g#2", F: "g#2 ~@3", G: "g#2 a#2 b2 c#3", H: "g#2@3 a#2@3 b2@2 a#2 g#2@2 ~",
})).s("gm_drawbar_organ").gain(0.06)

// other · alto sax
const alto_sax = note("<~@34 A@2 B C D@3 ~@81>".pickRestart({
  A: "[~@11 f#4@2 ~ f#4 e4 ~ f#4@3 ~ e4@17 ~ c#4 ~ e4@2 f#4@2 ~ f#4@2, ~@45 g4@2 ~]/2",
  B: "e4 ~ c#4 ~@3 c#4@4 ~@8 f#4@2 ~@4", C: "~@6 b4@2 ~@4 f#4@3 g4 f#4 e4 f#4@3 ~@3",
  D: "[~@6 b4@3 ~@3 f#4@3 g4 f#4 e4 f#4 ~@3 e4@10 ~ d#4@10 ~@19 b3@2 g#3@2 g3@2 ~@4, ~@23 c#4@9 ~@4]/3",
})).s("gm_alto_sax").gain(0.12).pan(0.6)

// other · alto sax · soft notes
const alto_sax_soft = note("<~@34 [~@13 g4 ~@10] ~@5 [~@10 f#3 f3] [e3 ~@3] ~@80>").s("gm_alto_sax").gain(0.07).pan(0.6)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@5 A B C D@2 E@2 F A B C D@2 E@2 F A B C D@2 E@2 F G H@2 I A B C D@2 E@2 F A B C D@2 E@2 F A B C D@2 E@2 F A B C D@2
  E@2 F G H@2 I A B J K A B C D@2 E@2 F A B C D@2 E@2 F ~@6 G H@2 I G H@2 I G H@2 I G H@2 I G H@2 I G H@2 I G L@2
>`.pickRestart({
  A: "[b3,e4]@9 ~ [b3,e4] ~@13", B: "[b3,e4]@8 ~@2 [b3,e4]@2 ~@6 [c#4,f#4]@5 ~", C: "[b3,e4]@8 ~@2 [b3,e4] ~@13",
  D: "[[b3,e4]@8 ~@2 [b3,e4] ~@7 [b3,e4]@12 ~@4 [b3,e4] ~@13]/2", // E5
  E: "[[b3,e4]@8 ~@2 [b3,e4]@2 ~@6 [b3,e4]@13 ~@3 [b3,e4] ~@13]/2", F: "[b3,e4]@9 ~ [b3,e4] ~@7 [c#4,f#4]@6",
  G: "[b3,e4] g#3 [b3,e4] g#3 [b3,e4] ~ [b3,e4] g#3 e4 ~ e4 g#3, ~@10 g#3@4 ~@2 b3 ~ g#3@4 ~@2, ~@20 b3 ~@3", // E5
  H: "[b3 g#3 b3 g#3 [b3,e4] g#3 b3 g#3 [b3,e4] ~ e4 ~ [b3,e4] ~ [b3,e4] g#3 [b3,e4] ~ b3 g#3 e4 g#3 [b3,e4] g#3, e4@4 e4@4 ~@4 e4@4 ~@2 g#3@4 g#3@4 g#3@4 ~@4 g#3@4 ~@2 b3 ~@7, ~@20 b3 ~@15 e4@4 ~@8]/2", // E5
  I: "b3 g#3 [b3,e4] ~ [b3,e4] g#3 b3 g#3 [b3,e4] g#3 [b3,e4] g#3, e4@2 ~ g#3@2 ~ e4@2 ~@4", // E5
  J: "[b3,e4]@8 ~@2 [b3,e4] ~@7 [g#4,b4,e5]@3 ~ [g#4,b4,e5] ~", K: "[b3,e4]@7 ~@3 [b3,e4]@2 ~@6 [c#4,f#4]@5 ~",
  L: "[b3 g#3 b3 g#3 [b3,e4] g#3 b3 g#3 [b3,e4] ~ e4 ~ [b3,e4] g#3 [b3,e4] g#3 [b3,e4] g#3@2 ~@5, e4@2 e4@2 ~@2 e4@2 ~ g#3@2 g#3@2 ~@11, ~@20 b3 ~@27]/2", // E5
})).s("gm_electric_guitar_clean").gain(0.06).pan(0.8)

// other · electric guitar muted
const electric_guitar_muted = note(`<
  ~@6 A B A ~ A B A ~ A B A ~ A B A ~ A B A ~ A B ~@6 A B A ~ A B A ~ A B A ~ A B A ~ A B A ~ A B A ~ A B A ~ A B ~@6 A
  B A ~ A B A ~ A B A ~ A B A C@2 B ~@34
>`.pickRestart({
  A: "~@8 c#3@3 ~", B: "~@9 c#3 ~ c#3", C: "[~@18 f#3@2 g#3@2 c#4@13 ~@5 c#3@6 ~@2]/2",
})).s("gm_electric_guitar_muted").gain(0.08).pan(0.2)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note("<~@28 A@2 ~@34 A@2 ~@56>".pickRestart({
  A: "[~@16 c#4@3 ~@3 e4@6 ~@20]/2",
})).s("gm_acoustic_guitar_steel").gain(0.05).pan(0.2)

// other · pad bowed
const pad_bowed = note("<~@29 A@4 ~@32 A@4 ~@4 B@8 ~@8 C@2 D@2 E@2 A@4 F@2 ~@21>".pickRestart({
  A: "f#4/4", B: "b3/8", C: "[g#4@47 ~]/2", D: "[f#4@23 ~]/2", E: "[g#4@43 ~@5]/2", F: "[f#4@47 ~]/2",
})).s("gm_pad_bowed").gain(0.17).pan(0.7)

// drums · kick
const kick = s("bd").struct("<~@3 A@86 B C D E F G A@4 H B A@7 I H J H K H K H K H K A ~@2>".pickRestart({
  A: "x ~@4 x ~@6", B: "x ~@10 x", C: "x ~@5 x!4 ~@2", D: "~@5 x ~@6", E: "~@2 x ~@2 x ~@6", F: "x", G: "~@9 x ~ x",
  H: "x ~@4 x ~@5 x", I: "x ~@4 x!2 ~@5", J: "x ~ x!2 ~ x ~@2 x ~@3", K: "x ~ x!2 ~ x ~@5 x",
})).gain(0.17)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~ A@2 ~@87 B ~ C B D ~@24 C E ~>".pickRestart({
  A: "x ~@4 x ~@6", B: "~@5 x ~@6", C: "~@11 x", D: "~@5 x!4 ~@3", E: "x ~ x!2 ~ x ~@6",
})).gain(0.08)

// drums · rim
const rim = s("rim").struct("<~ A@31 ~ A@7 B A@27 ~ A@2 ~ A@26 ~@24>".pickRestart({
  A: "~@3 x", B: "~@7 x ~@4",
})).gain(0.14)

// drums · snare
const snare = s("sd").struct("<~@32 A ~@35 A ~@2 B ~@27 A C D@7 E D@7 F D G ~@3>".pickRestart({
  A: "~@3 x", B: "~@9 x ~ x", C: "~@5 x!5 ~@2", D: "~ x ~ x", E: "~@3 x ~@3 x ~ x ~@2", F: "~@3 x ~@4 x!2 ~@2",
  G: "~ x ~@2",
})).gain(0.22)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@40 A ~@27 B ~@2 C ~@28 D ~@15 E ~ F G H ~>".pickRestart({
  A: "~@16 x!3 ~@5", B: "~@16 x!2 ~@6", C: "~@7 x!2 ~@3", D: "x!5 ~@7", E: "~@17 x ~@6", F: "~@3 x", G: "~ x ~ x",
  H: "~ x ~@2",
})).gain(0.11)

// drums · low tom
const low_tom = s("lt").struct("<~@40 [~ x] ~@81>").gain(0.14)

// drums · hihat
const hihat = s("hh").struct(`<
  A ~@3 B@4 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@3 C B@7 C B@3 C B@3
  C B@3 C B@3 C B@5 C B@5 C B@5 C B@5 C B@2 ~@3
>`.pickRestart({
  A: "x!3 ~", B: "~ x ~ x", C: "~ x ~@2",
})).gain(0.11)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  A B@3 ~@4 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@7 A ~@3 A ~@3
  A ~@3 A ~@3 A ~@5 A ~@5 A ~@5 A ~@5 A ~@2 B@2 ~
>`.pickRestart({
  A: "~@3 x", B: "~ x ~ x",
})).gain(0.06)

// drums · mid tom
const mid_tom = s("mt").struct("<~@40 [~ x] ~@81>").gain(0.14)

// drums · crash
const crash = s("cr").struct("<~@69 A ~ B ~@17 A ~@9 B@2 A ~@6 B ~ C ~ D ~ D ~ D ~ D ~@3>".pickRestart({
  A: "x", B: "~@11 x", C: "x ~@2 x", D: "~@3 x",
})).gain(0.17)

// drums · ride
const ride = s("rd").struct(`<
  ~@5 A@2 B A@4 C A@11 B A D A C E@3 F A@4 B@2 A G A@5 E A@3 B A@3 B A B A@2 H A@2 B A@2 B@3 A I A J I K I L A@5 M A E A
  B A@3 I A@5 B@3 A B ~ I B A B@4 N O ~ P ~ O ~ P ~ O ~ Q ~@2
// … 21 more lines

More by Sting