Strudelify

It's All Too Much

The Beatles

KeyG majorTempo100 bpm
0:00/0:00
// It's All Too Much — The Beatles
// 100 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 3 "piano" named as a piano, played on piano (its violin patch is not one); ch 4 "piano" named as a piano, played on piano (its electric guitar muted patch is not one); ch 5 "piano" named as a piano, played on piano (its electric guitar clean patch is not one)
// note: Full arrangement: all 77 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(100/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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.

// other · piano · "1 voz"
const piano = note(`<
  A ~ B C@2 A D E F A D E F A D E F G H ~@2 G H ~@2 I@2 J@2 I@2 K@2 L M N O P M N Q ~ I@2 J@2 I@2 K@2 L M N O P M N Q
  ~@4 R S R T ~@11
>`.pickRestart({
  A: "e5 e5@2 d5@5", B: "e5 e5@2 d5@3 ~@2", C: "[b4 b4@7]/2", D: "a4 a4@2 b4@5", E: "e5@2 e5@4 d5@6 a4@3 g4",
  F: "b4 b4@3", G: "~@7 e3", H: "e4 e4@2 d4@3 b3@2", I: "[~ g3 a3@2 a3 b3@2 b3@2 d4@2 d4@3 ~ f#4]/2",
  J: "[f#4@2 d4 d4@3 b3 b3@2 a3 d4 b3@3 ~@2]/2", K: "[f#4@2 d4 d4@3 b3 b3@2 a3 d4 b3@3 ~ g3]/2", L: "e4 e4@2 d4@3 ~ g3",
  M: "d4 d4@2 b3@3 ~ g3", N: "e4 e4@2 d4@2 b3 a3 g3", O: "b3@2 b3@4 ~ g3", P: "e4 e4@2 d4@3 ~ b3", Q: "b3",
  R: "e3@3 d3@5", S: "c3@3 d3@5", T: "a2 b2@3",
})).s("gm_piano").gain(0.41).pan(0.1)

// other · overdriven guitar · "2 voz"
const overdriven_guitar = note(`<
  A B C D@2 A E F G A E F G A E F G H I J K H I L@2 M@2 N@2 M@2 N@2 O P Q R O P Q S@2 M@2 N@2 M@2 N@2 O P Q R O P Q S T
  U V W X Y Z AA AB@8 AC ~@2
>`.pickRestart({
  A: "c5 c5@2 b4@5", B: "a4@3 g4 a4@3 g4 b4@8", C: "c5@2 c5@4 b4@6 a4@3 g4", D: "[g4 g4@7]/2", E: "g4 g4@2 g4@5",
  F: "c5 c5@2 b4@3 e4@2", G: "g4 g4@3", H: "e5 e5@2 d5@5", I: "e5 e5@2 d5@3 b4@2", J: "e5 e5@2 d5@2 g4 e4 g4",
  K: "b4 b4@3", L: "[b4 b4@15]/2", M: "[d4@4 g4@3 b4@2 d5@2 d5@3 ~ f#5]/2",
  N: "[f#5@2 d5 d5@3 b4 b4@2 a4 d5 b4@3 ~@2]/2", O: "e5 e5@2 d5@3 ~@2", P: "d5 d5@2 b4@3 ~@2",
  Q: "e5 e5@2 d5@2 b4 a4 g4", R: "b4 b4@2 ~", S: "b4", T: "e4@3 d4@5", U: "g4@3 g4@5", V: "c5@3 b4@2 g4 a4 g4",
  W: "b4@5 b4!2 c5", X: "c5 d5 d5@2 d5 g5@2 d5", Y: "g5@2 d5 g5@3 d5 g5", Z: "g5 e5@2 g5@2 e5 g5 e5", AA: "a4 b4 b4@6",
  AB: "[e4@3 d4@4 c4@4 d4@5]/2", AC: "d4",
})).s("gm_overdriven_guitar").gain(0.41)

// other · piano
const piano_2 = note(`<
  A B C ~@2 A D E F A D E F A D E F G H I J G H K@2 L@2 M@2 L@2 M@2 N O N P N Q N R@2 L@2 M@2 L@2 M@2 N O N P N Q N R S
  T U R V W X J Y@8 Z ~@2
>`.pickRestart({
  A: "g4 g4@2 g4@5", B: "e4 g4", C: "g4 g4@2 g4@3 e4@2", D: "e4 e4@2 d4@5", E: "g4 g4@2 g4 g4@2 ~@2", F: "d4 d4@3",
  G: "c5 c5@2 b4@5", H: "c5 c5@2 b4@3 g4@2", I: "c5 c5@2 b4@2 ~@3", J: "g4 g4@3", K: "[g4 g4@15]/2",
  L: "[b3@4 d4@3 d4@4 b4@5]/2", M: "[b4@3 b4@4 b4@2 ~@2 g4@5]/2", N: "c5 c5@2 b4@3 ~@2", O: "a4 a4@2 g4@3 ~ g4",
  P: "g4 g4@2 ~", Q: "a4 a4@2 g4@3 ~@2", R: "g4", S: "c4@3 b3@5", T: "b3@3 c4@5", U: "g4@3 g4@5", V: "g4 b4",
  W: "c5@3 b4@5", X: "c5 b4", Y: "[c4@3 b3@4 a3@4 b3@5]/2", Z: "b3",
})).s("gm_piano").gain(0.36)

// other · piano
const piano_3 = note(`<
  A B C@3 D@15 E D@2 F G H@2 I@2 H@2 J@2 K L K M K L K B N H@2 I@2 H@2 J@2 K L K M K L K B O P Q B R S T U V@8 W ~@2
>`.pickRestart({
  A: "e4 e4@2 d4@5", B: "d4", C: "[e4 e4@2 d4@7 d4@14]/3", D: "g2 g2@3 g2 g2@3", E: "g2@2 g2!6",
  F: "g2@2 g2@2 g2!2 g2@2", G: "g2 g2@3", H: "[~ g4 a4@2 a4 b4@2 d4@4 g4@5]/2", I: "[g4@3 g4@4 d4@2 ~@2 d4@5]/2",
  J: "[g4@3 g4@4 d4@2 ~@2 d4@3 ~@2]/2", K: "g4 g4@2 g4@3 ~@2", L: "g4 g4@2 d4@3 ~@2", M: "d4 d4@2 ~", N: "d5",
  O: "~@10 g4@2 c5 b4 g4@2", P: "a4@3 b4@5", Q: "e4@3 d4@5", R: "e4 g4", S: "a4@3 g4@5", T: "a4 g4", U: "d4 d4@3",
  V: "[g3@3 g3@4 g3@4 g3@5]/2", W: "g3",
})).s("gm_piano").gain(0.46).pan(0)

// other · reed organ
const reed_organ = note(`<
  A B C B@2 D E F G D E F G D E F G H I J K H I L@2 M@3 N M@3 O M@3 P M@3 Q R M@3 N M@3 O M@3 P M@3 S M@3 T M@3 P ~@11
>`.pickRestart({
  A: "g3@2 g3@3 ~ g3@10", B: "g3", C: "g3 g3@2 g3@5", D: "e4@2 e4@3 ~ d4@10", E: "a3 a3@2 b3@5",
  F: "e4@2 e4@4 d4@6 a3@3 g3", G: "b3", H: "g4 g4@2 g4 g4@3 e4", I: "g4 g4@2 g4@3 ~@2", J: "g4 g4@2 g4@2 ~@3",
  K: "d4 d4@3", L: "[d4 d4@7]/2", M: "g2@2 ~@2 g2 g2@3", N: "g2@2 ~@2 g2 g2@2 d2", O: "g2@2 ~@2 g2!2 g2@2",
  P: "g2@2 ~@2 g2!4", Q: "g2 ~@3", R: "g2!8", S: "g2@2 g2@2 g2!4", T: "g2@4 ~@4 g2 ~ g2 ~ g2 ~ g2 ~",
})).s("gm_reed_organ").gain(0.41).pan(0.9)

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

// drums · snare
const snare = s("sd").struct("<~@13 [~ x ~ x]!64>").gain(0.41)

// drums · mid tom
const mid_tom = s("mt").struct("<~@9 [x!4]!68>").gain(0.36)

// drums · ride bell
const ride_bell = s("rd").struct("<~@11 [x!4]!66>").gain(0.46)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@13 [x!8]!64>").gain(1.82)

stack(piano, overdriven_guitar, piano_2, piano_3, reed_organ, kick, snare, mid_tom, ride_bell, cabasa)

More by The Beatles