Strudelify
Everybody Wants To Rule The World cover art

1985 · Songs from the Big Chair

Everybody Wants To Rule The World

Tears for Fears

KeyD majorTempo110 bpm
0:00/0:00
// Everybody Wants To Rule The World — Tears for Fears
// 110 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 3 "Brass" brass section (copy of ch 4 "Polysynth" pad poly); ch 6 "Intro-2nd Verse - ECHO" brass section (copy of ch 5 "Intro-2nd Verse" brass section, 0.083 beats late); ch 11 "Clean Gt - Echo" electric guitar clean (copy of ch 8 "Clean Gt" electric guitar clean)
// note: Full arrangement: all 97 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(110/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 · fretless bass · "Bass"
const bass = note(`<
  ~@4 A B C@2 D B C@2 D B C@2 D B C@2 E F G H I J K B C@2 D B C L M C@2 N M O B C P F G H I J Q R S T S U V F G H I J
  W@2 X@2 Y@4 Z@7 AA C@2 AB AA C@2 AC F G H I J AD F G H I J AE@3
>`.pickRestart({
  A: "~@14 d2@2 ~@2 d2 ~ d2@2 ~@2", B: "d2 ~ d2@3 ~ d2 ~ d2@3 ~ d2 ~ d2@2 ~@2 d2 ~ d2@3 ~",
  C: "d2 ~ d2@3 ~ d2 ~ d2@3 ~ d2 ~ d2@3 ~ d2 ~ d2@3 ~", D: "d2 ~ d2@3 ~ d2 ~ d2@3 ~ d2@2 d2@2 ~@2 d2 ~ d2@2 ~@2",
  E: "d2 ~ d2@3 ~ d2 ~ d2@3 ~ d2@2 e2@2 ~@2 e2 ~ e2@3 ~", F: "e2 ~ e2@3 ~ e2 ~ e2@2 ~@2 e2@2 f#2@2 ~@2 f#2 ~ f#2@2 ~@2",
  G: "f#2 ~ f#2@3 ~ f#2 ~ f#2@2 ~@2 f#2@2 g2@2 ~@2 g2 ~ g2@3 ~",
  H: "g2 ~ g2@3 ~ g2 ~ g2@3 ~ g2 ~ f#2@2 ~@2 f#2 ~ f#2@2 ~@2, ~@14 g2 ~@9",
  I: "f#2 ~ f#2@2 ~@2 f#2 ~ f#2@2 ~@2 f#2@2 e2@3 ~ e2 ~ e2@3 ~",
  J: "e2@2 f#2@2 ~@2 f#2 ~ f#2@3 ~ f#2@2 g2@2 ~@2 g2 ~ g2@3 ~, ~@14 f#2 ~@9",
  K: "g2@2 a2@2 ~@2 a2 ~ a2@2 ~@2 a2@2 d2@2 ~@2 d2 ~ d2@2 ~@2", L: "d2 ~ d2@3 ~ d2@2 d2@2 ~@2 d2 ~ d2@3 ~ d2 ~ d2@3 ~",
  M: "d2 ~ d2@2 ~@2 d2 ~ d2@3 ~ d2 ~ d2@3 ~ d2 ~ d2@3 ~", N: "d2@2 d2@2 ~@2 d2@2 d2@2 ~@2 d2 ~ d2@3 ~ d2 ~ d2@3 ~",
  O: "d2 ~ d2@3 ~ d2 ~ d2@3 ~ d2 ~ d2@3 ~ d2@2 d2@2 ~@2", P: "d2 ~ d2@3 ~ d2 ~ d2@3 ~ d2 ~ e2@2 ~@2 e2 ~ e2@3 ~",
  Q: "g2@2 a2@2 ~@2 a2 ~ a2@2 ~@2 a2@2 g2@3 ~@3 g2@3 ~", R: "~@2 g2@3 ~@3 g2@4 ~@4 d2@2 ~@2 d2@4",
  S: "~@4 a2@2 ~@2 a2@3 ~@3 g2@3 ~@3 g2@3 ~", T: "~@2 g2@3 ~@3 g2@4 ~@4 d2@2 ~@2 d2@3 ~",
  U: "~@2 g2@3 ~@3 g2@3 ~@5 d3@2 ~@2 d3@4", V: "~@4 a2@2 ~@2 a2@3 ~@3 e2@2 ~@2 e2 ~ e2@3 ~",
  W: "[g2@2 a2@2 ~@2 a2 ~ a2@2 ~@2 a2@2 g2@21 ~ d3@12]/2", X: "[a2@11 ~ g2@24 d3@11 ~]/2", Y: "[a2 g2@2 d3]/2",
  Z: "[a2@12 b2@26 c3@24 b2@24 c3@24 g2@24 a2@24 d2@2 ~@2 d2 ~ d2@3 ~]/7",
  AA: "d2 ~ d2@3 ~ d2 ~ d2@2 ~@2 d2 ~ d2@3 ~ d2 ~ d2@3 ~", AB: "d2 ~ d2@3 ~ d2@2 d2@2 ~@2 d2 ~ d2@2 ~@2 d2 ~ d2@3 ~",
  AC: "d2 ~ d2@3 ~ d2@2 d2@2 ~@2 d2 ~ e2@2 ~@2 e2 ~ e2@3 ~",
  AD: "g2@2 a2@2 ~@2 a2 ~ a2@2 ~@2 a2@2 e2@2 ~@2 e2 ~ e2@3 ~", AE: "[g2@2 a2@2 ~@2 a2 ~ a2@2 ~@2 a2@2 d2@42 ~@16]/3",
})).s("gm_fretless_bass").gain(0.42)

// chords · pad poly · "Polysynth"
const pad_poly = note(`<
  ~@4 A B@2 C@12 D@6 E F B@2 C@12 G@6 E H@2 I@2 J@7 E K ~@13 A B@2 C@4 G@6 E L@5 E K ~@2
>`.pickRestart({
  A: "~@14 [a3,c#4]@9 ~", B: "[[g3,b3]@36 ~@2 [a3,c#4]@9 ~]/2", C: "[[g3,b3]@37 ~ [a3,c#4]@9 ~]/2",
  D: "[[g3,b3]@34 ~@4 [e3,g3,b3]@22 ~@2 [f#3,a3,c#4]@23 ~ [g3,b3,d4]@22 ~@2 [f#3,a3,c#4]@22 ~@2 [e3,g3,b3]@10]/6", // G Em F#m G F#m Em
  E: "~@2 [f#3,a3,c#4]@11 ~ [g3,b3,d4]@10", F: "~@2 [a3,c#4,e4]@12 [a3,c#4]@9 ~",
  G: "[[g3,b3]@37 ~ [e3,g3,b3]@22 ~@2 [f#3,a3,c#4]@23 ~ [g3,b3,d4]@22 ~@2 [f#3,a3,c#4]@22 ~@2 [e3,g3,b3]@10]/6", // G Em F#m G F#m Em
  H: "[~ [a3,c#4,e4]@6 [g3,b3,d4,g4]@12 ~ [a3,d4,f#4,a4] ~ [a3,d4,f#4,a4]@2]/2", // A G D
  I: "[~@4 [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@4 ~@2 [g3,b3,d4,g4]@24 ~@2 [a3,d4,f#4,a4]@2 ~@2 [a3,d4,f#4,a4]@4]/2", // A G D
  J: "[~@4 [a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@4 ~@2 [g3,b3,d4,g4]@24 ~@2 [a3,d4,f#4,a4]@2 ~@2 [a3,d4,f#4,a4]@6 ~@2 [a3,c#4,e4,a4]@2 ~@2 [a3,c#4,e4,a4]@6 [e3,g3,b3]@22 ~@2 [f#3,a3,c#4]@23 ~ [g3,b3,d4]@22 ~@2 [f#3,a3,c#4]@22 ~@2 [e3,g3,b3]@10]/7", // A G D A Em F#m G F#m …
  K: "~ [a3,c#4,e4]@6 ~@5", // A
  L: "[~@2 [a3,c#4,e4]@12 [e3,g3,b3]@22 ~@2 [f#3,a3,c#4]@23 ~ [g3,b3,d4]@22 ~@2 [f#3,a3,c#4]@22 ~@2 [e3,g3,b3]@10]/5", // A Em F#m G F#m Em
})).s("gm_pad_poly").gain(0.36).pan(0.6)

// other · brass section · "Intro-2nd Verse"
const brass_section = note("<~@27 A B C D E B F D ~@62>".pickRestart({
  A: "~@7 [d4,d5] ~@2 [d4,d5]@2", B: "[b3,b4]@2 [d4,d5]@2 [e4,e5]@2 ~@2 [e4,e5]@3 ~@13",
  C: "~@10 [b3,b4]@2 [d4,d5]@2 [f#4,f#5]@2 ~@2 [e4,e5]@3 ~ [d4,d5]@2", // B D F# E D
  D: "[b3,b4]@2 [d4,d5]@2 [b3,b4]@2 [a3,a4]@2 [a3,a4]@2 [b3,b4]@2 [d4,d5]@3 ~@9", E: "~@14 [d4,d5]@3 ~@3 [d4,d5]@4",
  F: "~@5 [b3,b4] [d4,d5] [f#4,f#5] ~ [e4,e5] ~ [d4,d5]", // B D F# E D
})).s("gm_brass_section").gain(0.42).pan(0.2)

// chords · overdriven guitar · "Overdrive Gt"
const overdriven_guitar = note("<~@48 A@2 B@5 ~@42>".pickRestart({
  A: "[~@14 [g3,b3,d4,g4]@23 ~@3 [a3,d4,f#4,a4]@2 ~@2 [a3,d4,f#4,a4]@4]/2", // G D
  B: "[~@4 [a3,c#4,e4,a4]@2 ~@2 [a3,c#4,e4,a4]@4 ~@2 [g3,b3,d4,g4]@24 ~@2 [a3,d4,f#4,a4]@2 ~@2 [a3,d4,f#4,a4]@6 ~@2 [a3,c#4,e4,a4]@2 ~@2 [a3,c#4,e4,a4]@4 ~@2 [g3,b3,d4,g4]@23 ~@3 [a3,d4,f#4,a4]@2 ~@2 [a3,d4,f#4,a4]@6 ~@2 [a3,c#4,e4,a4]@2 ~@2 [a3,c#4,e4,a4]@6 ~@10]/5", // A G D A G D A
})).s("gm_overdriven_guitar").gain(0.36)

// chords · electric guitar clean · "Clean Gt"
const electric_guitar_clean = note("<A@5 ~@55 B@8 C@7 ~@22>".pickRestart({
  A: "[~@4 f#4@3 a4 f#4 a4 f#4 ~ f#4 a4 f#4 a4 f#4 ~ f#4 a4 f#4 a4 f#4 ~ f#4 a4 f#4 a4 f#4 ~@25 f#4@3 ~@3, d6@3 ~@32 b4@3 ~@3 b4@3 ~@3 b4@3 ~@3 b4@3 ~@4, ~ a5@2 a5@3 ~@24 f#4@2 f#4@2 f#4@2 f#4@2 f#4@2 f#4@2 f#4@2 f#4@2 f#4@2 f#4@2 f#4@2 f#4@2 ~@6, ~@2 f#5@3 ~@6 b4@2 ~@4 b4@2 ~@4 b4@2 ~@4 b4@2 a4@2 a4@3 ~ a4@2 a4@3 ~ a4@2 a4@3 ~ a4@2 a4@3 ~@6]/5",
  B: "[~@7 a4 f#4 a4 f#4 ~ f#4 a4 f#4 a4 f#4 ~ f#4 a4 f#4 ~ f#4 ~ f#4 a4 f#4 ~ f#4 ~ f#4 a4 f#4 a4 f#4 ~ f#4 a4 f#4 a4 f#4 ~ f#4 a4 f#4 ~ f#4 ~ f#4 a4 f#4 ~ f#4 b4 ~ a4 f#4 a4 f#4 ~ f#4 a4 f#4 a4 f#4 ~ f#4 a4 f#4 ~ f#4 ~ f#4 a4 f#4 ~ f#4 ~ f#4 a4 f#4 a4 f#4 ~ f#4 a4 f#4 a4 f#4 ~ f#4 a4 f#4 ~ f#4 b4, ~@22 b4@4 ~@8 b4@4 ~@4 a4@4 b4@4 ~@4 a4@4 b4@4 ~@8 b4@4 ~@8 b4@5 ~@3 a4@4 b4@4 ~@4 a4@4 ~@2 f#4@4 ~@6 b4@4 ~@8 b4@4 ~@4 a4@4 b4@4 ~@4 a4@4 b4@4 ~@8 b4@4 ~@8 b4@5 ~@3 a4@4 ~@2]/8",
  C: "[f#4@2 a4@2 f#4@2 ~@2 f#4@2 b4@2 f#4@2 a4@2 f#4@2 a4@2 f#4@2 ~@2 f#4@2 a4@2 f#4@2 a4@2 f#4@2 ~@2 f#4@2 a4@2 f#4@2 ~@2 f#4@2 ~@2 f#4@2 a4@2 f#4@2 ~@2 f#4@2 ~@2 f#4@2 a4@2 f#4@2 a4@2 f#4@2 ~@2 f#4@2 a4@2 f#4@2 a4@2 f#4@2 ~@2 f#4@2 a4@2 f#4@2 ~@2 f#4@2 ~@2 f#4@2 a4@2 f#4@2 ~@2 f#4@2 b4@2 ~@2 a4@2 f#4@2 a4@2 f#4@2 ~@2 f#4@2 a4@2 f#4@2 a4@2 f#4@2 ~@2 f#4@2 a4@2 f#4@2 ~@2 f#4@2 ~@2 f#4@2 a4@2 f#4@2 ~@2 f#4@2 ~@2 f#4@3 ~@9, ~@6 a4@4 ~@12 b4@4 ~@8 b4@4 ~@4 a4@4 b4@4 ~@4 a4@4 b4@4 ~@8 b4@4 ~@8 b4@5 ~@3 a4@4 b4@4 ~@4 a4@4 ~@2 f#4@4 ~@6 b4@4 ~@8 b4@4 ~@4 a4@4 b4@4 ~@4 a4@4 b4@4 ~@10]/7",
})).s("gm_electric_guitar_clean").gain(0.33).pan(0.2)

// other · clavinet · "solo"
const clavinet = note("<~@34 A B@7 C ~@31 D E F G H I J K L B@13 ~>".pickRestart({
  A: "~@16 d5 ~@5 d5 ~", B: "~@4 d5 ~@5 d5 ~@5 d5 ~@5 d5 ~", C: "~@4 d5 ~@5 d5 ~@13", D: "~@7 f#4 a3 b3 f#4 a3",
  E: "b3@2 f#4@2 a3@2 b3@2 f#4@2 a3@2 b3@2 f#4@2 ~@2 g4@3 ~ a4@2", F: "~@2 a4@5 ~ a4@6 ~@2 f#5@2 a4@2 b4@2 f#5@2",
  G: "a4 b4 f#5 a4 b4 f#5 a4 b4@2 f#5 ~ g5", H: "~@2 a5@3 ~ g5@3 ~ f#5@3 ~@7 [d5,f#5]@3 ~",
  I: "~@2 [d5,f#5]@3 ~@3 [a4,d5]@4 ~@2 [d5,f#5]@2 ~@2 [a4,d5]@3 ~@3", // D D5 D D5
  J: "~@2 [d5,f#5]@4 ~@2 [f#4,a4]@3 ~ [g4,b4]@3 ~@5 [d5,f#5]@3 ~", // D F#m G D
  K: "~@2 [d5,f#5] ~ [d5,f#5]@2 [f#4,a4]@3 ~@5 [d5,f#5] ~ [d5,f#5]@2 [f#4,a4]@3 ~@3", // D F#m D F#m
  L: "~@2 [d5,f#5] ~ [d5,f#5]@2 [f#4,a4]@2 [d5,f#5] ~ [d5,f#5]@2 [f#4,a4]@3 ~ d5 ~@5 d5 ~", // D F#m D F#m
})).s("gm_clavinet").gain(0.28).pan(0.3)

// other · clavinet · "solo - echo"
const clavinet_2 = note("<~@34 A B@7 C ~@31 D@5 E F G H@2 B@12 C>".pickRestart({
  A: "~@14 d5 ~@5 d5 ~@3", B: "~@2 d5 ~@5 d5 ~@5 d5 ~@5 d5 ~@3", C: "~@2 d5 ~@5 d5 ~@15",
  D: "[~@15 f#4@2 a3@2 b3@2 f#4@2 a3@2 b3@2 f#4@2 a3@2 b3@2 f#4@2 a3@2 b3@2 f#4@2 ~@2 g4@3 ~ a4@2 ~@2 a4@5 ~ a4@6 ~@2 f#5@2 a4@2 b4@2 f#5@2 a4@2 b4@2 f#5@2 a4@2 b4@2 f#5@2 a4@2 b4@4 f#5@2 ~@2 g5@2 ~@2 a5@3 ~ g5@3 ~ f#5@3 ~@7 [d5,f#5]@3]/5", // D
  E: "~@3 [d5,f#5]@3 ~@3 [a4,d5]@4 ~@2 [d5,f#5]@2 ~@2 [a4,d5]@3 ~@2", // D D5 D D5
  F: "~@3 [d5,f#5]@4 ~@2 [f#4,a4]@3 ~ [g4,b4]@3 ~@5 [d5,f#5]@3", // D F#m G D
  G: "~@3 [d5,f#5] ~ [d5,f#5]@2 [f#4,a4]@3 ~@5 [d5,f#5] ~ [d5,f#5]@2 [f#4,a4]@3 ~@2", // D F#m D F#m
  H: "[~@3 [d5,f#5] ~ [d5,f#5]@2 [f#4,a4]@2 [d5,f#5] ~ [d5,f#5]@2 ~ d5 [d5,f#5] ~ [d5,f#5]@2 ~ d5 [d5,f#5] ~@2 [f#4,a4]@2 d5 ~@5 d5 ~@5 d5 ~@5 d5 ~@3, ~@13 [f#4,a4]@3 ~@3 [f#4,a4]@3 ~ [d5,f#5]@2 ~@23]/2", // D F#m D F#m D
})).s("gm_clavinet").gain(0.31).pan(0.7)

// other · clavinet · "2nd verse echo 2"
const clavinet_3 = note("<~@34 A B@7 C ~@39 A B@9 C@2 B@2 D>".pickRestart({
  A: "~@18 d5 ~@5", B: "d5 ~@5 d5 ~@5 d5 ~@5 d5 ~@5", C: "d5 ~@5 d5 ~@5 d5 ~@11", D: "d5 ~@23",
})).s("gm_clavinet").gain(0.29).pan(0.9)

// drums · kick
const kick = s("bd").struct("<~@4 [~@7 x ~@4] [x!2 ~ x ~@2 x!2 ~ x ~@2]!89 [x!2 ~ x ~@2 x!2 ~@4] ~@2>").gain(0.43)

// drums · snare
const snare = s("sd").struct("<~@4 A B@7 C B@13 D B@7 E B@7 F B@5 G B@5 H B@5 C B@12 I J B@18 K L ~@2>".pickRestart({
  A: "~ x!2 ~ x!2 ~@4 x ~", B: "~@2 x ~@2 x", C: "~@4 x!2 ~@4 x ~", D: "~ x!3 ~ x", E: "~ x ~@2 x!2 ~@4 x ~",
  F: "~@2 x!2 ~ x", G: "~ x!2 ~ x!3 ~@3 x ~", H: "~ x!2 ~@2 x", I: "~@2 x ~ x!2", J: "x ~ x ~ x!3 ~@3 x ~",
  K: "~@4 x!2 ~@4 x!2", L: "x!8 ~@4",
})).gain(0.64)

// drums · hihat
const hihat = s("hh").struct("<[x ~@2 x ~@2 x!2 ~ x ~ x] [~ x ~ x ~ x ~ x ~ x ~ x]!93 [~ x ~ x ~ x ~@6] ~@2>")
  .gain(0.43)

// drums · open hat
const open_hat = s("oh").struct("<~@4 A ~@7 A ~@21 A ~@25 A ~@36>".pickRestart({
  A: "~ x",
})).gain(0.64)

// drums · crash
const crash = s("cr").struct("<~@42 A ~@11 B ~@19 A ~@18 A C ~@2>".pickRestart({
  A: "~ x", B: "~ x ~", C: "~@7 x ~@4",
})).gain(0.5)

// drums · shaker
const shaker = s("sh").struct("<A B@3 C B@7 C B@21 C B@19 D B@5 C B@32 C E ~@2>".pickRestart({
  A: "~@4 x!2", B: "x!6", C: "x!3 ~ x!2", D: "x!2 ~ x!3", E: "x!4 ~@2",
})).gain(0.43)

stack(
  bass, pad_poly, brass_section, overdriven_guitar, electric_guitar_clean, clavinet, clavinet_2, clavinet_3, kick,
  snare, hihat, open_hat, crash, shaker
)

More by Tears for Fears