Strudelify
Baby You're a Rich Man cover art

Yellow Submarine Songtrack

Baby You're a Rich Man

The Beatles

KeyG majorTempo103 bpm
0:00/0:00
// Baby You're a Rich Man — The Beatles
// 103 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 81 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(103/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
const bass = note(`<
  A B C D E F G@2 H@5 I J K L M J N J O@3 I J K L M J P Q P R S T O U P V P J N@2 H@3 I J K L M J P Q P R S T O U P V P
  W P X P Y P X P Y P X P Y P X P Y
>`.pickRestart({
  A: "g2@2 d2!3 ~ d2!3 ~ d2!3 ~ d2!2", B: "d2 ~ d2!3 ~ d2!3 ~ d2!3 ~ d2!2", C: "d2 ~ d2!3 ~ d2!2 g2!5 d2@2 [b1,c2,c#2]",
  D: "g1@2 g1!2 g1@2 g1!2 g2@2 d2!2 g2@2 g2@2, a#1 ~@15", E: "g2@2 g2!2 g2@2 g2!7 d2@2 [b1,c2,c#2]",
  F: "g1@2 g1!2 g1@2 g1!2 g1@2 g1@2 g1@2 g1@2, a#1 ~@15", G: "g1@3 g1 g1@2 g1!2 g1@2 g1!2 g1@2 g1@2",
  H: "g1@3 g1 g1@2 g1!2 g1@2 g1@2 g1@2 g1@2", I: "f1!4 g1!4", J: "c2", K: "g1@3 g1 g1@3 g1 g1@3 g1 g1@3 g1",
  L: "g1@3 g1 g1@2 g1@2 g1@2 g1@2 g1@2 g1@2", M: "f1@2 f1@2 f1@2 f1@2 g1@2 g1@2 g1@2 g1!2", N: "g1", O: "g1!8",
  P: "g1 b1 d2 b1 g1 b1 d2 b1", Q: "c2 e2 g2 e2 c2 e2 g2 e2", R: "c2 e2 g2 e2 c3!2 a2 g2",
  S: "a#1@2 a#1@2 a#1@2 a#1!2 b1@2 b1@2 b1@2 b1@2", T: "c2@2 c2@2 c2@2 c2@2 b1 c2!3 c2@2 c2@2", U: "c2@4 c2!2 b1 a1",
  V: "c2 e2 g2 e2 c2!2 b1 a1", W: "c2!2 c2@3 c2 b1 a1", X: "c2 e2 g2 e2 c2 c3 a2 g2", Y: "c2!5 g2!3",
})).s("gm_fretless_bass").gain(0.54).pan(0.4)

// other · violin
const violin = note(`<
  ~@2 A@2 B C D E F ~@3 G ~ H ~ I ~@6 G ~ H ~ I ~@5 J ~@2 K L ~@8 G ~ H ~ I ~@5 J ~@2 K L ~@3 M N O P Q N O P Q N O P Q
  N O P R
>`.pickRestart({
  A: "[~@14 b4@4 b4 a4 g4 a4 b4@2 a4@2 g4@2 f4 a4 g4@2, ~@14 a4 ~@17]/2", B: "f4@2 a4@2 a4 b4 a4 g4 g4@4 a4@4",
  C: "g4@2 g4@2 g4 a4 g4@2 a4 [a4,b4] c5 [d5,e5] d5 [b4,c5] c5 b4", // Asus2 Dsus2 Cmaj7
  D: "a4@3 g4 g4@2 f4 [f4,g4] g4@2 f4 [f4,g4] g4 [f4,g4] f4 [f4,g4]", // Fsus2
  E: "g4 f4 e4 f4@3 g4 a4 g4@2 g4 [g4,a4] a4@2 g4 [g4,a4]", F: "b4 a4 g4@4 ~@2",
  G: "~@2 b4 c5 d5 [b4,c5] c5 [a4,b4] a4 b4 a4@6", H: "~@2 b4@4 c5 [a4,b4] c5 [d5,e5] f5 [d5,e5] e5 [c5,d5] d5 [b4,c5]",
  I: "~@2 a4 c5 b4@4 a4 b4 a4@2 a4 [a4,b4] g4@2", J: "~@4 c5@3 b4 a4 [a4,b4] b4 [a4,b4] a4 [a4,b4] b4 [a4,b4]",
  K: "~@2 a4 [b4,c5] d5 [b4,c5] c5 [a4,b4] a4@2 b4 g4@2 a4 ~@2", L: "~@4 d5@3 c5@3 b4 a4!2 [a4,b4] b4 [a4,b4]",
  M: "~@4 c5@2 b4 a4 g4 [g4,a4] a4 [g4,a4] g4 [g4,a4] a4 [g4,a4]", N: "g4@8 d5@2 c5 b4 c5@2 b4 a4",
  O: "g4@10 b4@4 a4 g4", P: "g4@8 ~@6 g4 [a4,c5]", Q: "g4@2 a4 [a4,b4] a4@5 [a4,b4] b4 [a4,b4] c5 [a4,b4] b4 [g4,a4]",
  R: "g4@2 a4 [a4,b4] a4@5 [a4,b4] b4 [a4,b4] c5 [a4,b4] b4 a4", // Asus2
})).s("gm_violin").gain(0.35).pan(0.8)

// other · electric guitar muted · "Muted Gtr"
const electric_guitar_muted = note(`<
  A@6 B C A@2 D A D E F G@2 E F A@2 D A D E F G@2 E F H I H J K I H I H L M F A@2 D A D E F G@2 E F H I H J K I H I H L
  M F G N G N G N G N G N G N G N G O
>`.pickRestart({
  A: "g2 ~ g2!3 ~ g2!3 ~ g2!3 ~ g2!2", B: "g2 ~ g2!3 ~ g2!8 ~@2", C: "g2 ~ g2!3 ~ g2!3 ~ g2!4 ~@2",
  D: "g2 ~ g2!3 ~ g2!2 g2@2 g2!2 g2@2 g2@2", E: "f2@2 f2!2 f2@2 f2!2 g2@2 g2!2 g2@2 g2!2", F: "c3",
  G: "g2@2 g2!2 g2@2 g2!2 g2@2 g2!2 g2@2 g2!2", H: "d3@2 d3!2 e3@2 d3@2 d3@2 d3!2 e3@2 d3@2, g2!2",
  I: "g3@2 g3!2 a3@2 g3@2 g3@2 g3!2 a3@2 g3@2, c3!2", J: "g3@2 g3!2 a3@2 g3@2 a#3@2 g3@2 a3 g3 a3 g3, c3",
  K: "a#2@2 a#2!2 a#2@2 a#2@2 b2@2 b2@2 b2@2 b2@2", L: "g3@2 g3!2 a3@2 g3@2 g3@2 g3!2 [a#3,d4]@4, c3@2 c3 ~",
  M: "[g2,d3]@2 [g2,d3] d3 e3@2 [g2,d3] ~ [g2,d3]@2 [g2,d3] d3 f3@4, ~@3 g2@3 ~@5 g2@5", // G5
  N: "c3@2 c3!2 c3@2 c3!2 c3@2 c3!2 c3@2 c3!2", O: "c3@2 c3!2 c3@2 c3!2 c3@2 c3!2 c3@2 c3 ~",
})).s("gm_electric_guitar_muted").gain(0.45).pan(1)

// chords · piano · "Piano 1"
const piano = note(`<
  A B C D E@2 F G H I J H K L M H N O P Q P J H K L M H N O P R S R S T S U S R S R V Q W J H K L M H N O P R S R S T S
  U S R S R X R S R S R S R S R S R S R S R Y
>`.pickRestart({
  A: "g2!8, [g3,b3,d4]", B: "g2!8, [g3,c4,e4]", C: "g2!8, [b3,d4,g4] [b3,d4,g4]@3", D: "g2!8, [c4,e4,g4] [c4,e4,g4]@3",
  E: "[g2!8 g2!3 [g2,c4,e4,g4] g2!4, [b3,d4,f4]@2 [b3,d4,f4]@2 [b3,d4,f4]@3 [c4,e4,g4]@2 [c4,e4,g4]@2 ~ [c4,e4,g4]@4]/2", // C Bdim C
  F: "g2!8, [b3,d4,f4]@3 [b3,d4,f4]@5", G: "g2!8, [c4,e4,g4]@2 [c4,e4,g4]@3 [c4,e4,g4]@3", H: "g2!8, [b3,d4,g4]",
  I: "g2!8, [c4,e4,g4]", J: "g2!8, [b3,d4,f4,g4]!4", K: "g2!8, [a3,c4,f4,g4] [a3,c4,f4,g4]@3",
  L: "f2!4 g2!4, [a3,c4,f4]!2 [b3,d4,g4]!2", M: "c3@4 c3!4, [c4,e4,g4]", N: "g2!8, [b3,d4,g4]@2 [a3,c4,f4]!2",
  O: "f2!4 g2!4, [a3,c4,f4] [b3,d4,g4]", P: "[c3,c4,e4,g4]", Q: "[g2,b3,d4,g4]", R: "g2!8, [b3,d4,g4]!4",
  S: "c3!8, [c4,e4,g4]!4", T: "a#2!4 b2!4, [a#3,d4,f4,g4]!2 [b3,d4,f4,g4]!2", U: "b2!8, [b3,d4,f4,g4]!4",
  V: "[c4,e4,g4]@4 [e4,g4,c5]!4, c3", W: "[g2,c4,e4,g4]", X: "[c3,c4,e4,g4]@4 [c3,c4,e4,g4]!4",
  Y: "c3!6 [c3,c4,e4,g4] ~, [c4,e4,g4]!3 ~", // C
})).s("gm_piano").gain(0.59).pan(0.1)

// chords · epiano2 · "Electric Piano 2"
const epiano2 = note("<~@18 A ~@6 B ~@3 C ~@22 C ~@28>".pickRestart({
  A: "~@3 [g3,e4]!5", B: "~@10 [g3,c4,e4]!4 [g3,c4,e4]@2", C: "~@5 e4 [c4,e4]!2, ~ g4",
})).s("gm_epiano2").gain(0.59).pan(0.1)

// drums · kick
const kick = s("bd").struct(`<
  ~@4 A@8 B@2 C A@3 C A@4 B@2 C A@3 C B@3 C B A B@5 C A@4 B@2 C A@3 C B@3 C B A B@5 C B@3 C B@3 C B@3 C B@3 C
>`.pickRestart({
  A: "x!2", B: "x ~@3 x!2 ~@2", C: "x",
})).gain(0.52)

// drums · snare
const snare = s("sd").struct(`<
  A@3 B A@10 ~ A@3 ~ C D A@4 ~ A@3 E A@3 F A@7 ~ C D A@4 ~ A@3 E A@3 F A@7 G A@3 H A@3 H A@3 H A@3 H
>`.pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@5 x ~ x!3 ~", C: "~@9 x!6 ~", D: "~@2 x ~ x ~ x!3 ~ x!3 ~ x ~", E: "~@8 x ~ x ~ x!3 ~",
  F: "~@2 x ~ x!4", G: "~@10 x!6", H: "~@4 x ~@5 x!6",
})).gain(0.46)

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

// drums · open hat
const open_hat = s("oh").struct("<~@14 A ~@3 A ~@6 A ~@3 A ~@3 B ~@7 A ~@6 A ~@3 A ~@3 B ~@24>".pickRestart({
  A: "x", B: "~@3 x!5",
})).gain(0.46)

// drums · crash
const crash = s("cr").struct("<~@19 A ~ A ~@8 A ~@7 A ~@3 A ~ A ~@12 A ~@11 A ~@3 A ~@3 A ~@3>".pickRestart({
  A: "x",
})).gain(0.46)

// drums · ride
const ride = s("rd").struct("<~@13 A ~@3 A B ~@5 A ~@3 A B ~@10 A B ~@5 A ~@3 A B ~@28>".pickRestart({
  A: "~@15 x", B: "x",
})).gain(0.46)

// drums · tambourine
const tambourine = s("tb").struct("<~@14 [x!8] ~@10 [x!8] ~@22 [x!8] ~@32>").gain(0.52)

stack(bass, violin, electric_guitar_muted, piano, epiano2, kick, snare, hihat, open_hat, crash, ride, tambourine)

More by The Beatles