Strudelify

monster

Imagine Dragons

KeyE♭ majorTempo90 bpm
0:00/0:00
// monster — IMAGINE DRAGONS
// 90 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Electric Guitar" named as a guitar, played on electric guitar clean (its lead 2 sawtooth patch is not one)
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/5952215; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 92 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(90/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 · "Electric Guitar"
const electric_guitar_clean = note(`<
  A@4 B C@2 D B C@2 D ~@16 E F E G E G E ~@17 E F E G E G E ~@5 H I H I H I H I H I J@2 E F E G E G E K E K E K E K E K
>`.pickRestart({
  A: "[[ab4,c5]@3 ab4@3 [f4,ab4]@3 [f4,ab4]@7 [f4,ab4]@3 ~@3 [eb4,g4]@3 ~@7 [ab4,c5]@3 ab4@3 [f4,ab4]@3 [f4,ab4]@7 [f4,ab4]@3 ~@3 [eb4,g4]@3 [eb4,g4]@7, ~@3 c5@29 ~@3 c5@29, ~@19 f4@19 ~@13 [f4,ab4]@13, ~@19 ab4@13 ~@32, ~@25 [eb4,g4]@29 ~@10]/4", // Ab Fm Eb Ab Fm Eb Fm Eb
  B: "[ab4,c5] ~@2 [f4,ab4,bb5] ~ c5!3, f5 ~, ~ g5@3 ~@4, ~@3 c5@5 ~ [f4,ab4]@7, ~@3 ab4 ab5@4 ab5@8", // Ab Bb7 Fm
  C: "[[f4,ab4,g5] ~ g5 [eb4,g4,g5] ~ eb5!2 ~ [ab4,c5] ~@2 [f4,ab4,bb5] ~ c5!3, ~@2 g5@2 ~@4 g5@6 eb5@5 [ab4,c5] ab5@4 ab5@8, ~@3 [f4,ab4]@5 ~ [eb4,g4]@15 ~ [f4,ab4]@7, ~@2 f5 ~, ~@9 g5@3 ~@4]/2", // Fm Eb Ab Bb7 Ab Fm Eb Fm
  D: "[f4,ab4,g5] ~ g5 [eb4,g4,g5] ~ eb5!3, ~ g5 ~@2 g5@4, ~@3 [f4,ab4]@5 ~ [eb4,g4]@7", // Fm Eb Fm Eb
  E: "[ab4,c5]@3 ab4@3 [f4,ab4]@2 ab4 [f4,ab4]@7, [f2,c4], f4@3 ~ [ab2,eb4,c5,eb5]@4, ~@3 c5@5 ~@8", // Ab Fm F5 Ab
  F: "[f4,ab4]@3 ~@3 [eb4,g4]@2 ~ [eb4,g4]@7, [bb2,d5], bb4 ~, ~@3 ab4@13, ~@3 f4@5 [d3,d4,f4,bb4,c5]@8", // Fm Eb Bb
  G: "[f4,ab4]@3 [f4,ab4]@3 [eb4,g4]@2 ~ [eb4,g4]@7, [bb2,bb4,d5] [d3,d4,f4,bb4,c5]", H: "c5 eb5", I: "g4 c5",
  J: "[f4,ab4]/2", K: "[f4,ab4]@3 [f4,ab4]@3 [eb4,g4]@2 ~ [eb4,g4]@7, [bb4,d5] [d4,f4,bb4,c5]",
})).s("gm_electric_guitar_clean").gain(0.2)

// bass · electric bass finger · "Electric Bass"
const bass = note(`<
  ~@12 A B A B A B A B A B A B A B A ~ A B A B A B A ~ A B A B A B A B A B A B A B A ~ A B A B A B A ~@17 A B A B A B A
  B A B A B A B A B
>`.pickRestart({
  A: "f1!2 f2@2 ab1!2 ab2@2", B: "eb1!2 eb2@2 bb1!2 ab1 g1",
})).s("gm_electric_bass_finger").gain(0.3)

// chords · piano
const piano = note(`<
  ~@12 A@4 B@4 C D C E C F G H I@2 J@2 K L K M A@4 B@4 C D C E C F G H I@2 J@2 K L K M N O N O N O N O N O N O N O N P
  I@2 J@2 K L K M ~@8
>`.pickRestart({
  A: "[~@4 ab3!3 ab3@2 ab3@2 ab3 ab3@2 g3@6 g3 ab3@2 g3@2 f3@2 g3@2 f3@2 ab3@5 ~@2 c4@2 eb4 c4@2 bb3@2 bb3 bb3@4 ~@4 eb4 c4 ~@2 bb3 ab3 ~@2 bb3 f3]/4",
  B: "[~@4 ab3!3 ab3@2 ab3@2 ab3 ab3@2 g3@6 g3 ab3@2 g3@2 ab3@2 g3@2 f3@2 ab3@5 ~@2 c4@2 eb4 c4@2 bb3@2 bb3 bb3@4 ~@4 eb4 c4 ~@2 bb3 ab3 ~@2 bb3 f3]/4",
  C: "~@2 [f3,f4,ab4]!2 [f3,f4,ab4]@2 [g3,f4,ab4]@2 [ab3,eb4,ab4]@2 [c4,eb4,ab4]@2 [ab3,c4,ab4]@4", // Fm Db Ab5 Ab
  D: "~@2 [eb3,eb4,g4]!2 [eb3,eb4,g4]@2 [g3,eb4,g4]@2 [bb3,d4,bb4]@2 [d4,bb4]@2 [bb3,d4,bb4]@4", // Eb Cm Bb Gm Bb
  E: "~@2 [eb3,eb4,g4] [g3,eb4,g4]@2 [c4,eb4,g4]@2 [bb3,d4,f4,bb4]@8 ~", // Eb Cm Bb
  F: "[eb3,eb4,g4]!4 [g3,eb4,g4]@2 [bb3,eb4] [c4,eb4] [bb3,d4,bb4]@2 [bb3,eb4,bb4]@2 [bb3,d4,bb4]@4, ~@3 g4 ~@4", // Eb Cm Eb5 Cm Bb Eb5 Bb
  G: "~@2 [f3,f4,ab4] [g3,f4,ab4] [ab3,eb4,ab4] [c4,eb4,ab4] [ab3,eb4,ab4] [c4,eb4,ab4]", // Fm Db Ab5 Ab Ab5 Ab
  H: "[eb4,bb4]@11 ~@3 [g4,g5]@2", // Eb5 G
  I: "[[g4,g5] [ab4,ab5] [g4,g5] [f4,f5]@2 [f4,f5] [c5,c6] c5 ~ [bb4,bb5] ~@3 [g4,g5]@2 [g4,g5], ~@7 c6@9, ~ c5, ~@5 [bb4,bb5]@3, ~@11 [ab4,ab5]@5]/2", // G Ab G F C Bb G Bb …
  J: "[[g4,g5] [ab4,ab5] [g4,g5] [f4,f5]@2 [f4,f5] [c5,c6] c5 ~@2 [ab4,ab5] ~@4 [g4,g5], ~@7 c6@9, ~ c5, ~@9 [bb4,bb5]@4 [bb4,bb5]@3, ~@11 [ab4,ab5]@5]/2", // G Ab G F C Ab G Bb …
  K: "[ab4,ab5]@2 [f4,f5] [g4,g5] [ab4,ab5]@2 [eb4,eb5] [ab4,ab5]", L: "[g4,g5]!4 g4 f4 [f4,f5] [g4,g5], ~@2 g5 ~",
  M: "[g4,g5]!4 ~ f4 [f4,f5]@2, ~@2 [g4,g5] ~", N: "[f2,f3,c4,f4,ab4] [ab2,ab3,c4,eb4,ab4]",
  O: "[eb2,eb3,bb3,eb4,g4] [bb2,f3,bb3,eb4,f4]", P: "[eb2,eb3,bb3,eb4,g4]@4 ~@3 [g4,g5], ~ [bb2,f3,bb3,eb4,f4]",
})).s("gm_piano").gain(0.45)

// chords · piano
const piano_2 = note(`<
  ~@20 A B A B A B A ~ C@4 A B A ~@9 A B A B A B A ~ C@4 A B A ~@9 A B A B A B A B C@4 A B A B A B A B A B A B
>`.pickRestart({
  A: "f4 ab4 [c5,f5] ab4!2 c5 [eb5,ab5] c5", B: "bb4 eb5 [f5,g5] eb5 bb4 d5 [d5,f5] d5",
  C: "[~@3 ab4 ~@9 d5!2 ~@4 ab4 ~@9 d5!3, f4@8 bb4 eb5 g5@8 c5@2 ab4@4 bb4 eb5 [f5,g5] eb5 bb4@2 f5@2, ~ ab4@2 ~ ab4@6 f5 eb5@3 f5 d5@7 eb5 c5@9, ~@2 f5@4 eb5 c5@5 bb4@5 ab4 f5@3 c5 ab5@10, ~@2 c5@3 c5 ab5@10 f4@16]/4", // Fsus2
})).s("gm_piano").gain(0.4)

// chords · acoustic guitar steel · "Acoustic Guitar (Tablature)"
const acoustic_guitar_steel = note(`<
  ~@12 A B A B A B A B A B A B A B A ~ C D C D C D C ~ A B A B A B A B A B A B A B A ~ C D C D C D C ~@9 C D C D C D ~@2
  C D C D C D C D C D C D C D C D
>`.pickRestart({
  A: "~ [f2,c3,f3,ab3,c4,f4]@2 [ab2,c3,eb3,ab3,c4,ab4]", B: "~ [g3,bb3,eb4,g4]@2 [bb2,f3,bb3,d4,f4]",
  C: "[f2,c3,f3,ab3,c4,f4]@2 [f2,c3,f3,ab3,c4,f4]@3 [f2,c3,f3,ab3,c4,f4]!3 [ab2,c3,eb3,ab3,c4,ab4]@2 [ab2,c3,eb3,ab3,c4,ab4]@3 [ab2,c3,eb3,ab3,c4,ab4]!3", // Fm Ab
  D: "[g3,bb3,eb4,g4]@2 [g3,bb3,eb4,g4]@3 [g3,bb3,eb4,g4]!3 [bb2,f3,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@3 [bb2,f3,bb3,d4,f4]!2 [f2,bb2,f3,bb3,d4,f4]", // Eb Bb
})).s("gm_acoustic_guitar_steel").gain(0.25)

// drums · kick
const kick = s("bd").struct("<~@8 A@19 ~ A@7 B A@15 ~ A@7 B A@14 ~@2 A@16>".pickRestart({
  A: "x ~ x ~@10 x ~@2", B: "x!2 ~@2",
})).gain(0.45)

// drums · snare
const snare = s("sd").struct(`<
  ~@8 A B A B A B A B A B A B A B A B A B A ~ A B A B A B A ~ A B A B A B A B A B A B A B A ~ A B A B A B A ~ A B A B A
  B A B A B A B A B ~@2 A B A B A B A B A B A B A B A B
>`.pickRestart({
  A: "~@4 x ~@7 x ~@2 x", B: "~@4 x ~ x ~@5 x ~@2 x",
})).gain(0.45)

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

// drums · crash
const crash = s("cr").struct(`<
  ~@28 A ~ A ~ A ~ A ~@17 A ~ A ~ A ~ A ~@17 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~
>`.pickRestart({
  A: "x",
})).gain(0.45)

stack(electric_guitar_clean, bass, piano, piano_2, acoustic_guitar_steel, kick, snare, hihat, crash)

More by Imagine Dragons