Strudelify
Losfer Words (Big 'Orra) cover art

Powerslave

Losfer Words (Big 'Orra)

Iron Maiden

KeyA minorTempo219 bpm
0:00/0:00
// Losfer Words (Big 'Orra) — Iron Maiden
// 219 bpm, 12/8, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 180 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(219/6)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · distortion guitar · "Guitar 2"
const distortion_guitar = note(`<
  ~@2 A@3 B A@3 B C D C E C D C E A@3 B A@3 B C D C E C D C E F G H I J K L@2 F G H I J K L@2 M N O P Q R O P M N O P Q
  R O P S@2 T@2 U@2 V W S@2 T@2 U@2 V W X Y Z AA X Y Z AA X Y Z AA X Y Z AA AB AC AB AC AB AC AB AC AB AC AB AC AB AC AB
  AC AD AE AD AF AG AH AG AI AD AE AD AF AG AH AG AJ A@3 B A@3 B C D C E C D C E A@3 B A@3 B C D C E C D C E F G H I J K
  L@2 F G H I J K L@2 AK AL
>`.pickRestart({
  A: "[a3,e4]!2 ~ [a3,e4]!3 ~ [a3,e4]!3 ~ [a3,e4]!3 ~ [a3,e4]", // A5
  B: "[a3,e4]!2 ~ [a3,e4]!3 ~ [a3,e4] [c4,g4]@2 ~ [c4,g4]@2 [c4,g4]@2 ~", // A5 C5
  C: "e3!2 ~ e3!3 ~ e3 [g3,d4]@2 ~ [g3,d4]@2 [g3,d4]@2 ~", D: "e3!2 ~ e3!3 ~ e3 a3!2 ~ a3!2 g3 ~ f#3",
  E: "e3!2 ~ e3!3 ~ e3 [a4,e5,a5]!2 ~ [a4,e5,a5] [a4,e5,a5]@4", F: "e4@15 ~",
  G: "c5@2 ~ c5@2 d5@2 ~ e5@2 ~ d5@2 c5@2 ~", H: "f#4@15 ~", I: "d5!2 ~ d5 e5!2 ~ e5 f#5!2 ~ f#5!2 e5 ~ d5",
  J: "a#5@10 ~ a#5@5", K: "f5@7 ~ f5@2 ~ g5@2 g5 ~ a5", L: "[g5@31 ~]/2", M: "a4!2 ~ a4!3 ~ a4!3 ~ a4!3 ~ a4",
  N: "a4!2 ~ a4!3 ~ a4!3 ~ a4 [d4,a4,d5]@4", O: "g4!2 ~ g4!3 ~ g4!3 ~ g4!3 ~ g4",
  P: "g4!2 ~ g4!3 ~ g4!3 ~ g4 [c4,g4,c5]@4", Q: "a#4!2 ~ a#4!3 ~ a#4!3 ~ a#4 [d#4,a#4,d#5]@4",
  R: "f4!2 ~ f4!3 ~ f4!3 ~ f4 [a#3,f4,a#4]!2 ~ [a#3,f4,a#4]", S: "[[d4,a4,d5]@31 ~]/2", T: "[[c4,g4,c5]@31 ~]/2",
  U: "[[a3,e4,a4]@31 ~]/2", V: "[f3,c4,f4]@15 ~", W: "[g3,d4,g4]@15 ~",
  X: "g4 f#4 ~ d4 g4 f#4 ~ d4 g4 f#4 ~ d4 g4 f#4 ~ d4", Y: "g4 f#4 ~ d4 g4 f#4 ~ d4 g4 f#4 ~ d4 d4@2 ~@2",
  Z: "a4 g4 ~ d4 a4 g4 ~ d4 a4 g4 ~ d4 a4 g4 ~ d4", AA: "a4 g4 ~ d4 a4 g4 ~ d4 a4 g4 ~ d4 d4@2 ~@2",
  AB: "e4!2 ~ e4 g4!2 ~ g4 b4 g4 ~ g4 a4 g4 ~ f#4", AC: "e4!2 ~ e4 g4!2 ~ g4 b4 g4 ~ g4 f#4 g4 ~ a4",
  AD: "[d#4,a#4,d#5]@2 ~ [d#4,a#4,d#5]@2 [d#4,a#4,d#5] ~ [d#4,a#4,d#5] [d#4,a#4,d#5]@2 ~ [d#4,a#4,d#5]@2 [d#4,a#4,d#5] ~ [d#4,a#4,d#5]", // D#5
  AE: "[d#4,a#4,d#5]@2 ~ [d#4,a#4,d#5]@2 [d#4,a#4,d#5] ~ [d#4,a#4,d#5]!3 ~ [d#4,a#4,d#5]!3 ~ [d#4,a#4,d#5]", // D#5
  AF: "[d#4,a#4,d#5]!2 ~ [d#4,a#4,d#5]!3 ~ [d#4,a#4,d#5]!3 ~ [d#4,a#4,d#5]!3 ~ [d#4,a#4,d#5]", // D#5
  AG: "[f4,c5,f5]@2 ~ [f4,c5,f5]@2 [f4,c5,f5] ~ [f4,c5,f5] [f4,c5,f5]@2 ~ [f4,c5,f5]@2 [f4,c5,f5] ~ [f4,c5,f5]", // F5
  AH: "[f4,c5,f5]@2 ~ [f4,c5,f5]@2 [f4,c5,f5] ~ [f4,c5,f5]!3 ~ [f4,c5,f5]!3 ~ [f4,c5,f5]", // F5
  AI: "[f4,c5,f5]!2 ~ [f4,c5,f5]!3 ~ [f4,c5,f5]!3 ~ [f4,c5,f5]!3 ~ [f4,c5,f5]", // F5
  AJ: "[f4,c5,f5]!2 ~ [f4,c5,f5]!3 ~ [f4,c5,f5]!3 ~ [f4,c5,f5] [f4,c5,f5]@4", // F5
  AK: "c5 a#4 ~ a4 g4 a4 ~ a#4 c5 a#4 ~ a4 g4 a4 ~ a#4", AL: "c5 a#4 ~ a4 g4 a4 ~ a#4 c5 a#4 ~ a4 g4@2 ~@2",
})).s("gm_distortion_guitar").gain(0.05).pan(0.3)

// bass · electric bass finger · "Bass"
const bass = note(`<
  ~@2 A@3 B A@3 B C D C E C D C F A@3 B A@3 B C D C E C D C F G@2 H I J K G L G@2 H I J K G L M N O P J Q G@2 M N O P J
  Q G@2 H@2 G@2 R@2 S T H@2 G@2 R@2 S T M N O P M N O P M N O P M N O P U V U V U V U V U V U V U V U V W X W Y Z AA Z
  AB W X W Y Z AA Z AC A@3 B A@3 B C D C F C D C F A@3 B A@3 B C D C F C D C F G@2 H I J K G L G@2 H I J K G L AD AE
>`.pickRestart({
  A: "a1!2 ~ a1!3 ~ a1!3 ~ a1!3 ~ a1", B: "a1!2 ~ a1!3 ~ a1 c2@2 ~ c2@2 c2@2 ~",
  C: "e1!2 ~ e1!3 ~ e1 g1@2 ~ g1@2 g1@2 ~", D: "e1!2 ~ e1!3 ~ e1 a1!2 ~ a1!2 g1 ~ f#1",
  E: "e1!2 ~ e1!3 ~ e1 a1!2 ~ a1 a1@4", F: "e1!2 ~ e1!3 ~ e1 a1!2 ~ a1!3 ~ a1", G: "c2@2 ~ c2!3 ~ c2 c2@2 ~ c2!3 ~ c2",
  H: "d2@2 ~ d2!3 ~ d2 d2@2 ~ d2!3 ~ d2", I: "f#2!2 ~ f#2 g2!2 ~ g2 a2!2 ~ a2!2 g2 ~ f#2",
  J: "d#2@2 ~ d#2!3 ~ d#2 d#2@2 ~ d#2!3 ~ d#2", K: "a#1@2 ~ a#1!3 ~ a#1 a#1@2 ~ a#1!3 ~ a#1",
  L: "e2!2 ~ e2 g2!2 ~ g2 c3!2 ~ c3!3 ~ c3", M: "g2 f#2 ~ d2 g2 f#2 ~ d2 g2 f#2 ~ d2 g2 f#2 ~ d2",
  N: "g2 f#2 ~ d2 g2 f#2 ~ d2 g2 f#2 ~ d2!3 ~ d2", O: "a2 g2 ~ d2 a2 g2 ~ d2 a2 g2 ~ d2 a2 g2 ~ d2",
  P: "a2 g2 ~ d2 a2 g2 ~ d2 a2 g2 ~ d2 c2!2 ~ c2", Q: "a#1@2 ~ a#1!3 ~ a#1 a#1@2 ~ c2@2 d2@2 ~",
  R: "a1@2 ~ a1!3 ~ a1 a1@2 ~ a1!3 ~ a1", S: "f1@2 ~ f1!3 ~ f1 f1@2 ~ f1!3 ~ f1",
  T: "g1@2 ~ g1!3 ~ g1 g1@2 ~ g1!3 ~ g1", U: "e2!2 ~ e2 g2!2 ~ g2 b2 g2 ~ g2 a2 g2 ~ f#2",
  V: "e2!2 ~ e2 g2!2 ~ g2 b2 g2 ~ g2 f#2 g2 ~ a2", W: "d#1@2 ~ d#1@2 d#1 ~ d#1 d#1@2 ~ d#1@2 d#1 ~ d#1",
  X: "d#1@2 ~ d#1@2 d#1 ~ d#1!3 ~ d#1!3 ~ d#1", Y: "d#1!2 ~ d#1!3 ~ d#1!3 ~ d#1!3 ~ d#1",
  Z: "f1@2 ~ f1@2 f1 ~ f1 f1@2 ~ f1@2 f1 ~ f1", AA: "f1@2 ~ f1@2 f1 ~ f1!3 ~ f1!3 ~ f1",
  AB: "f1!2 ~ f1!3 ~ f1!3 ~ f1!3 ~ f1", AC: "f1!2 ~ f1!3 ~ f1!3 ~ f1 f1@4",
  AD: "c2!2 ~ c2 c3!2 ~ c3 c2!2 ~ c2 c3!2 ~ c3", AE: "c2!2 ~ c2 c3!2 ~ c3 c2!2 ~ c2 c3@2 ~@2",
})).s("gm_electric_bass_finger").gain(0.11)

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

// drums · low tom
const low_tom = s("lt").struct(`<
  ~ A B@8 C D C E C D C E B@8 C D C E C D C E B@81 F B ~ B F B ~ B F B ~ B F B G B@8 C D C E C D C E B@8 C D C E C D C E
  B@16 H I
>`.pickRestart({
  A: "~@11 x ~@4", B: "x ~@2 x ~@4 x ~@2 x ~@4", C: "x ~@2 x ~@4 x ~@2 x ~ x ~@2", D: "x ~@2 x ~@4 x ~@3 x ~@3",
  E: "x ~@2 x ~@7 x!2 ~@3", F: "x ~@2 x ~@12", G: "~@3 x", H: "x!2 ~ x!3 ~ x!3 ~ x!3 ~ x",
  I: "x!2 ~ x!3 ~ x!3 ~ x!2 ~@3",
})).gain(0.72)

// drums · pedal hat
const pedal_hat = s("hh").struct(`<
  A B C@8 D E D E D E D E C@8 D E D E D E D E C@80 ~@16 C@8 D E D E D E D E C@8 D E D E D E D E C@16 ~@2
>`.pickRestart({
  A: "x!2", B: "x!3 ~", C: "x!2 ~ x!3 ~ x!3 ~ x!3 ~ x", D: "x!2 ~ x!3 ~ x!2 ~@2 x ~ x ~@2", E: "x!2 ~ x!3 ~ x ~@8",
})).gain(0.72)

// drums · splash
const splash = s("cr").struct(`<
  ~ A ~@3 B ~@3 B ~@3 A ~@3 A ~@3 B ~@3 B ~@3 A ~@3 A C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~@2 A ~ A C D C ~@2 A ~ A C D C ~@2
  A ~ A C D C ~@2 A ~ A C D C ~@33 E F E ~ E F E ~ E F E ~ E F E A ~@3 B ~@3 B ~@3 A ~@3 A ~@3 B ~@3 B ~@3 A ~@3 A C ~ C
  ~ C ~ C ~ C ~ C ~ C ~ C ~@2 A
>`.pickRestart({
  A: "~@3 x", B: "~@8 x ~@2 x ~ x ~@2", C: "x", D: "x ~@7 x ~@2 x ~ x ~@2", E: "x ~@2 x ~@4 x ~@2 x ~@4",
  F: "x ~@2 x ~@12",
})).gain(0.72)

stack(distortion_guitar, bass, snare, low_tom, pedal_hat, splash)

More by Iron Maiden