Strudelify

The Story in Your Eyes

The Moody Blues

KeyD majorTempo180 bpm
0:00/0:00
// The Story in Your Eyes — The Moody Blues
// 180 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 9 "Bass 2" acoustic bass (copy of ch 3 "Bass 1" acoustic bass)
// note: Full arrangement: all 134 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(180/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 · overdriven guitar · "Electric"
const overdriven_guitar = note(`<
  A B@8 C@6 D E F G F H F I@2 J F G F H F I@2 J K L M N O P M Q R@2 S R O M T U F G F H F I@2 J F G F H F I@2 J K L M N
  O P M Q R@2 S R O M T U F G F H F I@2 J F G F H F I@2 V W@32 X@5
>`.pickRestart({
  A: "~@5 e2 g2 a2", B: "[a2@59 ~@2 e2 g2 a2, ~@59 [e3,g#3,d4]@5, ~@59 b2@4 ~]/8",
  C: "[~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2, a2@15 ~ a2@15 ~ a2@15 ~, ~@11 [a3,d4,f#4]@7 ~@9 [f#3,b3,d4]@7 ~@9 [a3,d4,f#4]@4 ~]/6", // Am Bm C Am Bm C Am Bm …
  D: "a2 b2 c3 d3 e3 d3 c3 b2", E: "a2@3 ~@2 e2 g2 a2, ~@3 b2@4 ~, ~@3 [e3,g#3,d4]@3 ~@2",
  F: "a2@2 [a2,e3,a3,c4,e4] ~@2 [b2,d3,g3,b3] ~@2", G: "~@2 b2 d3 e3 d3 b2 d3, [a3,d4,f#4]@3 ~, d3@3 ~@5",
  H: "~@5 e2 g2 a2, [d3,a3,d4,f#4]@3 ~", // D
  I: "[d3@2 ~ d3 e3 d3 b2 ~ g2@2 b2 d3 ~ d3 b2 d3, [a3,d4,f#4]@3 ~@13, ~@2 b2@4 ~ d3@4 ~ c3@2 ~@2]/2", // D
  J: "g2@4 b2@2 d3@2 e3@2 d3@2 b2 a2 g2@2", K: "~@2 [b2,e3,g3] e2 ~ [b2,e3,g3] ~ [b2,e3,g3], e2@3 ~ e2@2 e2@2",
  L: "e2 ~ [b2,e3,g3] e2 ~ [b2,e3,g3] e2 [e2,b2,e3,g3], ~ e2@2 ~ e2@2 ~@2", // Em
  M: "~@2 [c#3,f#3,a3] f#2 ~ [c#3,f#3,a3] ~ [c#3,f#3,a3], f#2@3 ~ f#2@2 f#2@2", // F#m
  N: "f#2 ~ [c#3,f#3,a3] f#2 ~ [c#3,f#3,a3] f#2 [f#2,c#3,f#3,a3], ~ f#2@2 ~ f#2@2 ~@2", // F#m
  O: "~@2 [d3,g3,b3] g2 ~ [d3,g3,b3] ~ [d3,g3,b3], g2@3 ~ g2@2 g2@2", // G
  P: "g2 ~ [d3,g3,b3] g2 ~ [d3,g3,b3] g2 [g2,d3,g3,b3], ~ g2@2 ~ g2@2 ~@2", // G
  Q: "f#2 ~ [c#3,f#3,a3] ~ [c#3,f#3,a3] f#2 [g2,d3,g3,b3] ~, ~ f#2@2 f#2@2 ~@3", // F#m G
  R: "~@2 [e3,a3,c#4] a2 ~ [e3,a3,c#4] ~ [e3,a3,c#4], a2@3 ~ a2@2 a2@2", // A
  S: "~@2 [f#3,b3,d4] b2 ~ [f#3,b3,d4] ~ [f#3,b3,d4], b2@3 ~ b2@2 b2@2", // Bm
  T: "~@2 [b2,e3,g#3] e2 ~ [b2,e3,g#3] ~ [b2,e3,g#3], e2@3 ~ e2@2 e2@2", // E
  U: "e2 ~ [b2,e3,g#3] e2 [e2,b2,e3,g#3] e2 g2 a2, ~ e2@2 ~@5", V: "g2@2 b2@2 b2 e2 g2 a2",
  W: "[~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2, a2@15 ~ a2@15 ~, ~@11 [a3,d4,f#4]@7 ~@9 [f#3,b3,d4]@5]/4", // Am Bm C Am Bm C D Bm
  X: "[~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 a2@8, a2@15 ~ a2@15 ~@9, ~@11 [a3,d4,f#4]@7 ~@9 [f#3,b3,d4]@13]/5", // Am Bm C Am Bm C D Bm
})).s("gm_overdriven_guitar").gain(0.58)

// chords · acoustic guitar steel · "Acoustic"
const acoustic_guitar_steel = note(`<
  ~ A B@3 C D@2 E@6 F@3 G@6 H I@7 H J K@2 L@2 M@2 N@6 O@2 P@8 H I@7 H J K@2 L@2 M@2 N@6 O@2 P@8 H I@7 H Q@8 R@7 S@8 T@8
  U@7
>`.pickRestart({
  A: "~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~", // Am Bm
  B: "[[g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2, ~@3 [a3,d4,f#4]@7 ~@9 [f#3,b3,d4]@5, ~@8 a2@15 ~]/3", // C Am Bm C D Bm
  C: "~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~, a2", // Am Bm
  D: "[[g3,c4,e4]@2 ~@3 e2 g2 a2 a2 b2 ~ d3 e3 ~ c3 b2, ~@3 [d4,f#4]@13, ~@3 a3@8 ~@2 d3@3, ~@5 c3@2 ~]/2", // C D
  E: "[a2@3 ~@2 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~, ~ g4@15, ~@3 [e3,g#3,d4]@7 ~@9 [a3,d4,f#4]@7 ~@9 [f#3,b3,d4]@7 ~@6, ~@3 b2@4 ~ a2@15 ~ a2@15 ~ a2@8]/6", // Am Bm C Am Bm C Am Bm …
  F: "[[g3,c4,e4]@2 ~@3 e2 g2 a2 a2 b2 ~ d3 e3 ~ c3 b2 ~@5 e2 g2 a2, ~ [d4,f#4]@7, ~@3 a3@8 ~@2 d3@11, ~@10 c3@4 ~@2 a2@7 ~]/3", // C D
  G: "[a2@2 [a2,e3,a3,c4,e4]@3 [b2,d3,g3,b3,g4]@3 [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4] [d3,a3,d4,f#4]@7 [a2,e3,a3,c4,e4]@3 [b2,d3,g3,b3,g4]@3 [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4] [d3,a3,d4,f#4]@7 [a2,e3,a3,c4,e4]@3 [b2,d3,g3,b3,g4]@3 [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4] [d3,a3,d4,f#4]@5, ~@5 g2@16 g2@16 g2@11]/6", // Am G D Am G D Am G …
  H: "[b2,d3,g3,b3,g4] [c3,e3,g3,c4,e4], g2", // G C
  I: "[b2@8 a2@2 [a2,e3,a3,c4,e4]@3 [b2,d3,g3,b3,g4]@3 [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4] [d3,a3,d4,f#4]@7 [a2,e3,a3,c4,e4]@3 [b2,d3,g3,b3,g4]@3 [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4] [d3,a3,d4,f#4]@7 [a2,e3,a3,c4,e4]@3 [b2,d3,g3,b3,g4]@3 [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4] [d3,a3,d4,f#4]@5, g2@13 g2@16 g2@16 g2@11, [d3,g3,b3,g4]@5 ~@23]/7", // Am G D Am G D Am G …
  J: "[g2,b2,d3,g3,b3,g4]", K: "[e2,b2,e3,g3,b3,e4]/2", L: "[f#2,c#3,f#3,a3,c#4,f#4]/2", M: "[g2,b2,d3,g3,b3,g4]/2",
  N: "[[f#2,c#3,f#3,a3,c#4,f#4]@6 [f#2,c#3,f#3,a3,c#4,f#4] [b2,d3,g3,b3,g4] [a2,e3,a3,c#4,e4]@8 [b2,f#3,b3,d4,f#4]@4 [a2,e3,a3,c#4,e4]@4, ~@7 g2@17]/6", // F#m G A Bm A
  O: "[[g2,d3,g3,b3,g4] [f#2,d3,a3,d4,f#4], b2]/2", // G D
  P: "[e2@13 e2 g2 a2 a2@2 [a2,e3,a3,c4,e4]@3 [b2,d3,g3,b3,g4]@3 [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4] [d3,a3,d4,f#4]@7 [a2,e3,a3,c4,e4]@3 [b2,d3,g3,b3,g4]@3 [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4] [d3,a3,d4,f#4]@7 [a2,e3,a3,c4,e4]@3 [b2,d3,g3,b3,g4]@3 [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4] [d3,a3,d4,f#4]@5, [e3,g#3,b3,e4]@9 ~@23, b2@15 ~@6 g2@16 g2@16 g2@11]/8", // Am G D Am G D Am G …
  Q: "[[d3,g3,b3]@10 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 ~@3 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~, g4, b2@23 ~ a2@15 a2@16 ~ a2@8, g2@21 ~@43, ~@19 [a3,d4,f#4]@7 ~@9 [f#3,b3,d4]@7 ~@9 [a3,d4,f#4]@7 ~@6]/8", // G Am Bm C Am Bm C Am …
  R: "[[g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2, ~@3 [f#3,b3,d4]@7 ~@9 [a3,d4,f#4]@7 ~@9 [f#3,b3,d4]@7 ~@9 [a3,d4,f#4]@5, ~@8 a2@15 ~ a2@15 ~ a2@15 ~]/7", // C Am Bm C Am Bm C Am …
  S: "[~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 ~@3 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2, a2@15 ~ a2@15 ~ a2@15 a2@16 ~, ~@11 [f#3,b3,d4]@7 ~@9 [a3,d4,f#4]@7 ~@9 [f#3,b3,d4]@7 ~@9 [a3,d4,f#4]@5]/8", // Am Bm C Am Bm C Am Bm …
  T: "[~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2, a2@15 ~ a2@15 ~ a2@15 ~ a2@15 ~, ~@11 [f#3,b3,d4]@7 ~@9 [a3,d4,f#4]@7 ~@9 [f#3,b3,d4]@7 ~@9 [a3,d4,f#4]@5]/8", // Am Bm C Am Bm C Am Bm …
  U: "[~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 ~@2 [e3,a3,c4]@2 ~ [f#3,b3,d4]@2 ~ [g3,c4,e4]@2 ~@3 e2 g2 a2 a2@8, a2@15 ~ a2@15 ~ a2@15 ~@9, ~@11 [f#3,b3,d4]@7 ~@9 [a3,d4,f#4]@7 ~@9 [f#3,b3,d4]@13]/7", // Am Bm C Am Bm C Am Bm …
})).s("gm_acoustic_guitar_steel").gain(0.56).pan(0)

// bass · acoustic bass · "Bass 1"
const bass = note(`<
  ~@7 A B C D C D C D A B E F E F E F G H E F E F E F G I J K L M N O P Q R S T U V W X Y E F E F E F G H E F E F E F G
  I J K L M N O P Q R S T U V W X Y E F E F E F G H E F E F E F G Z C D C D C D C D C D C D C D C D C D C D C D C D C D
  C D C D C D C D C D AA
>`.pickRestart({
  A: "a2 b2 c3 d3 e3 d3 c3 b2", B: "a2 ~@2 e2@2 e2 g2 a2", C: "a2@2 a2@2 ~ a2@2 ~", D: "a2@2 ~ a2@2 e2 g2 a2",
  E: "a2@3 a2 g2 e2 g2 a2", F: "d2@2 f#2 a2 b2 a2 f#2 a2", G: "g2@2 b2 d3 c3 b2 a2 b2", H: "g2 f#2 g2 g#2",
  I: "g2@3 g2 g2@2 f#2@2", J: "e2@3 e2 b1@4", K: "e1@3 e1 b1@2 e2@2", L: "f#2@3 f#2 c#2@4", M: "f#1@3 f#1 c#2@2 f#2@2",
  N: "g2@3 g2 d2@4", O: "g1@3 g1 d2@2 g2@2", P: "f#2@3 f#2 f#2@3 f#2", Q: "f#2@3 f#2 f#2@2 g2@2", R: "a2@3 a2 a2@3 a2",
  S: "a2@3 a2 e2 d2 c#2@2", T: "b2@3 b2 b2@4", U: "a2@3 a2 a2@4", V: "g2@3 g2 g2@4", W: "f#2@3 f#2 f#2@4",
  X: "e2@3 e2 e2@3 e2", Y: "e2@3 e2!3 g2 a2", Z: "g2@5 e2 g2 a2", AA: "a2",
})).s("gm_acoustic_bass").gain(0.52).pan(0.6)

// chords · string ensemble 1 · "Strings"
const string_ensemble_1 = note("<~@41 A@2 B C D E F@2 ~@24 A@2 B C D E F@2 ~@53>".pickRestart({
  A: "[a4,c#5,e5]/2", B: "[b4,d5,f#5]", C: "[a4,c#5,e5]", D: "[g4,b4,d5]", E: "[f#4,a4,d5]", F: "[g#4,b4,e5]/2",
})).s("gm_string_ensemble_1").gain(0.52)

// chords · piano
const piano = note("<~@49 A B A B A B C D ~@24 A B A B A B C D ~@12 E@7 F@2 ~@24>".pickRestart({
  A: "[e5,g5,c6,e6] [e5,g5,c6,e6]@2 [e5,g5,c6,e6]!2 [e5,g5,c6,e6]@2 [e5,g5,c6,e6]", // C
  B: "[f#5,a5,d6,f#6] [f#5,a5,d6,f#6]@2 [f#5,a5,d6,f#6]!2 [f#5,a5,d6,f#6]@2 [f#5,a5,d6,f#6]", // D
  C: "[g5,b5,d6,g6]@3 [g5,b5,d6,g6] [e5,g5,c6,e6]@3 [e5,g5,c6,e6]", D: "[g5,b5,d6,g6]@15 ~",
  E: "[c6,e6,a6,c7] e6 ~ g6 [c6,e6,a6,c7] e6 ~ g6, ~ [c6,c7]@3 ~ [c6,c7]@3, ~ a6@2 ~@2 a6@2 ~, ~ e6 ~ e6", // Am C
  F: "[[c6,e6,a6,c7] e6 ~ g6 [c6,e6,a6,c7] [c6,c7]@7 ~@4, ~ [c6,c7]@3 ~@12, ~ a6@2 ~@2 a6@2 ~@9, ~@2 e6@2 ~ e6 ~@10]/2", // Am C
})).s("gm_piano").gain(0.46)

// other · distortion guitar · "Lead"
const distortion_guitar = note("<~@57 A B C@2 D E F G@2 ~@42 H@5 I J@2 K L M@2 N@8 O@2 ~@4>".pickRestart({
  A: "a3@2 a3@2 a3@2 d#4 d4@3 c4@2 [d4,f#4]@2 [c4,e4]@2", B: "[d4,f#4] [c4,e4] [d4,f#4]@3 a4 f#4 a4",
  C: "[a4@2 a4@2 d#5@2 d5@2 c5@2 a4@2 c5@2 g#4 a4@16 g#4]/2", D: "a4@2 g4@2 e4@2 g4@2 d#4 d4@2 c4 d4 c4 a3@2",
  E: "c4@2 d4@2 d#4 d4 c4 g#3 a3@8", F: "g3!2 b3 d4 e4 d4 b3 d4",
  G: "[~@4 a#4 b4 d5@2 d5@2 d5@2 b4 a4 g4@6 ~@12, g3@7 ~@9]/2",
  H: "[~@12 a3@2 c4@14 a3@2 d4@14 a3@2 c4@6 a3@2 d4@6 a3@2 c4@12 d4 e4 g4@2 e4@2]/5", I: "g4",
  J: "[f#4@2 g4@3 ~ a4@3 ~ g4@2 b4@6 a4@2 f#4@2 g4@2 f#4@2 b4@2 a4@2 g4@2]/2", K: "f#4",
  L: "d#4 d4@3 c4 d4 c4 g3 a3@2 e3@2 g3@2 a3@2", M: "[c4 ~@7 g2 a2 c3 d3 e3 d3 e3 g3, ~ a3@14 ~]/2",
  N: "[a3 c4 a3 g3 a3 e3 g3 a3@6 e3 g3 a3@6 e3 c4 ~@15 e5@4 d5 c5 d5@2 c5 b4 c5@2 b4 a4 b4 a4 g4 a4@5 e4 g4 a4 c5, ~@23 a3@41]/8",
  O: "[a4@2 g4@2 d#4 d4 c4 g3 a3@16 ~@8]/2",
})).s("gm_distortion_guitar").gain(0.58)

// drums · kick
const kick = s("bd").struct("<~@9 [x ~@3 x!2 ~@2]!6 ~@2 [x ~@3 x!2 ~@2]!16 [~@4 x!2 ~@2] [x ~@3 x!2 ~@2]!99 x>")
  .gain(0.56)

// drums · snare
const snare = s("sd").struct("<~@9 [~ x ~ x]!6 ~@2 [~ x ~ x]!116 ~>").gain(0.56)

// drums · mid tom
const mid_tom = s("mt").struct("<~@7 [x!8] [x ~@2 x ~@4] ~@6 [x!8] [x ~@2 x ~@4] ~@117>").gain(0.7)

// drums · crash
const crash = s("cr").struct("<~@8 [~@3 x ~@4] ~@7 [~@3 x ~@4] ~@117>").gain(0.7)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@9 [~ x ~ x]!6 ~@2 [~ x ~ x]!116 ~>").gain(3.56)

stack(
  overdriven_guitar, acoustic_guitar_steel, bass, string_ensemble_1, piano, distortion_guitar, kick, snare, mid_tom,
  crash, cabasa
)

More by The Moody Blues