Strudelify
I'll Follow The Sun cover art

Beatles For Sale

I'll Follow The Sun

The Beatles

KeyC majorTempo117 bpm
0:00/0:00
// I'll Follow The Sun — The Beatles
// 117 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 61 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(117/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 · acoustic guitar nylon · "Gtr Nylon Bnk 32"
const acoustic_guitar_nylon = note(`<
  A B C D E F G@2 H I C D E F G@2 J@2 K L M@2 K L N O P Q R S T U V W X@2 Y Z AA AB AC@2 K L M@2 K L N O P Q R S T U AD
  AE@4
>`.pickRestart({
  A: "~@5 [g3,c4]@2 [g3,c4], c3!2 g2@2, ~ [g3,c4]@2 [c4,e4]@2 ~@3", // C5 C
  B: "~@2 c4 ~@3 c3@2, [a3,c4] a3 c3 ~, ~ f3@2 [c4,e4]@2 [g3,c4]@3", C: "g2@2 ~ [d4,g4]@2 [b3,d4]!3, ~ g2@3",
  D: "f2@2 ~ [c4,f4]@2 [a3,c4]!2 [g3,b3], ~ f2@3", E: "[c3,e3,g3]!4 g3 [c4,e4] [c4,e4]@2, ~ [c3,e3]",
  F: "~@3 [a3,d4,f#4]@2 [a3,d4,e4]@2 [a3,d4,e4], d3", // D Asus4
  G: "[~ [g3,c4]@2 ~@2 [g3,b3]@2 ~@8 e4, c3 b2 d3 g2, ~@3 [c4,e4]@2 ~@2 [b3,e4]@2 f#4@3 ~@4, ~@11 b3@2 b3@3]/2", // C5 G C E5
  H: "[c3,e3,g3]!2 g3 [g3,c4]@2 [c4,e4]@2 [g3,b3], ~ c3@3, ~ e3@2 ~", // C C5 C G
  I: "~ [a3,c4,f4]@2 ~@2 [g3,c4,e4]@3, f3 c3, ~@3 [b3,e4]@2 ~@3", // F C E5
  J: "[[c3,e3,g3]!2 [e3,g3] [g3,c4]@2 [g3,c4]@2 [e3,a#3,c4]@2 [e3,a#3,c4]@2 [e3,a#3,c4]@2 [e3,a#3,c4]@2 [e3,a#3,c4], ~ c3@7, ~@3 e4@4 ~@9]/2", // C Em C5 C7
  K: "d3@2 ~ [a3,d4,f4]@2 [a3,d4,f4]@3, ~ d3@3", L: "f3@2 f3 [f3,g#3,d4]@2 [f3,g#3,d4] [f3,g#3,d4]@2",
  M: "[c3@2 ~ [g3,c4]@2 [g3,c4,e4]@2 [e3,a#3]@3 [c3,e3,a#3]!4 [c3,e3,a#3]@2, ~ c3@4 ~@3, ~@7 c4@9]/2", // C5 C Edim C7
  N: "c3@2 ~ [g3,c4]@2 ~@2 [g3,b3], ~ c3@2 c3, ~@5 [g3,c4]@2 ~", // C5 G C5
  O: "~@3 [a3,d4,f4]@2 a3 [d3,a3]@2, d3@3 ~, ~@5 [d4,f4]@3", P: "~@3 [d4,g4]@2 d4 [b3,d4]@2, g2, ~@5 g4@3",
  Q: "~@3 [c4,f4]@2 [c4,f4]@2 [b3,e4], f2", R: "~@3 c4@2 [g3,c4]@2 [g3,b3], c3, ~@3 e4@5",
  S: "d3@2 ~@5 [g3,b3], ~ d3 a2 [a2,d3], ~@3 [d4,f#4]@2 [a3,d4]@2 ~", // G D5 D D5
  T: "[c3,e3]@2 [c3,e3] c3 ~ b3@2 [b3,e4], ~@3 e3@2 g3@3, ~ b2", // C E5
  U: "~ [d4,f#4]@2 ~@2 [b3,g4]@2 [b3,e4], d3 g2, ~@3 [b3,e4]@2 ~@3", // D Em E5
  V: "c3@2 ~@3 [c4,e4]@2 [c4,e4], ~ c3 c3@2, ~@3 [g3,c4]@2 ~@3", // C C5
  W: "~ [c4,e4]@2 ~@2 [g3,c4]@2 [g3,b3], [f3,a3] c3, ~@3 [c4,e4]@2 ~@3", // C C5 G F C
  X: "[~@7 [b3,d4] ~@7 [a3,c4,g4], g2!4 f2!4, ~ [b3,d4,g4]@2 [b3,d4,g4]@2 [b3,d4,g4]@2 g4@2 [a3,c4,g4]@2 [a3,c4,g4]@2 [a3,c4,g4]@2 ~]/2", // Bm Am7 G Am7
  Y: "~@7 [g3,b3], c3!4, ~ [g3,c4]@2 [c4,e4]@2 [g3,c4]@2 ~", // G C5 C C5
  Z: "~@7 [b3,e4], d3!4, ~ [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 ~", // E5 D
  AA: "~ [g3,c4]@2 ~@2 [b3,e4]@2 c4, c3 b2, ~@3 [b3,e4]@2 ~@3", // C5 E5
  AB: "d3 a3@2 ~@2 b3@2 b3, a2 g2, ~ [d4,f#4]@3 ~@4, ~@3 b3@2 ~@3", // D
  AC: "[~ c4@2 c4@2 ~@2 a#3@2 [a#3,c4]@2 [a#3,c4]@2 [a#3,c4] [a#3,c4]@2, c3, ~ g3@4 g3@11, ~@3 e4@4 ~@9, ~@5 c4@4 ~@7]/2", // A#sus2
  AD: "c3@2 ~@5 [g3,c4], ~ c3!3, ~@3 [g3,c4]@2 [g3,c4]@2 ~", AE: "[~@2 [a3,c4,e4]@6 ~ c4@55, f3 [c3,e3,g3]@7]/4",
})).s("gm_acoustic_guitar_nylon").gain(0.35).pan(0.8)

// bass · fretless bass · "Fretless E. Bass"
const bass = note(`<
  A B C B A D E F A B C B A D E F A G D B A@2 D B A H C B A D E F A B C B A D E F A@2 D B A@2 D B A H C B A D E F A I@4
>`.pickRestart({
  A: "c2 g2", B: "f2 c2", C: "g2 d2", D: "d2 a2", E: "c3 b2", F: "d2 g2", G: "c2 g1", H: "d2!2", I: "[f2 c2@7]/4",
})).s("gm_fretless_bass").gain(0.35)

// chords · electric guitar jazz · "Lead Gtr (Jazz)"
const electric_guitar_jazz = note("<A@2 B ~@2 C@2 ~ A@2 B ~@2 C@2 ~ D@2 ~@16 E F G H ~@18 I@5>".pickRestart({
  A: "[~@14 g3 ~@15 g3@2, c4!2 d4!2 c4!4, ~@2 g3@4 g3@4 g3@4 ~ a3@3 a3@4 a3@4 g3@4 ~@2]/2", B: "[g3,b3]",
  C: "[~@3 d4@2 d4@6 ~@5, ~@3 e4@5 ~@8]/2", D: "[~@7 a#3@9, ~@4 g3@3 ~@9, ~@5 c4@11]/2",
  E: "~@6 [d#4,e4] [f4,f#4] g4@8, d4 ~", F: "~@6 [e4,f4] [f#4,g4] a4@8, d#4@8 g#4 ~@7",
  G: "~@4 g4@3 [g#4,a4,a#4] c5@4 b4@3 [c5,c#5], ~@8 b4 ~@7", H: "d5",
  I: "[~@11 a3 [g3,c4]@28, c4!2 d4!2 c4!2 ~@14, ~ g3@2 g3@2 g3@2 g3@2 a3@2 ~@29]/5", // C5
})).s("gm_electric_guitar_jazz").gain(0.33).pan(0.3)

// chords · electric guitar muted · "Rythm Gtr (Muted)"
const electric_guitar_muted = note("<~@18 A B C@2 A B D E ~@16 A B C@2 A B D E ~@11>".pickRestart({
  A: "[d3,a3,d4,f4]@2 [d3,a3,d4,f4] [d3,a3,d4,f4]@2 [d3,a3,d4,f4]@2 [d3,a3,d4,f4]", // Dm
  B: "[f3,g#3,d4,f4]@2 [f3,g#3,d4,f4] [f3,g#3,d4,f4]@2 [f3,g#3,d4,f4]@2 [f3,g#3,d4,f4]", // Ddim
  C: "[[c3,e3,g3,c4,e4]@2 [c3,e3,g3,c4,e4] [c3,e3,g3,c4,e4]@2 [c3,e3,g3,c4,e4]@2 [c3,e3,g3,c4,e4]@3 [c3,e3,a#3,c4,e4]@4 [c3,e3,a#3,c4,e4]@2]/2", // C C7
  D: "[c3,e3,g3,c4,e4]@2 [c3,e3,g3,c4,e4] [c3,e3,g3,c4,e4]@2 [c3,e3,g3,c4,e4]@2 [c3,e3,g3,c4,e4]", // C
  E: "[d3,a3,d4,f4]@2 [d3,a3,d4,f4] [d3,a3,d4,f4]@2 [d3,a3,d4,f4] [d3,a3,d4,f4]@2", // Dm
})).s("gm_electric_guitar_muted").gain(0.3).pan(0.3)

// drums · snare
const snare = s("sd").struct("<A@18 B@7 C A@16 B@7 C A@7 D ~@3>".pickRestart({
  A: "x!2 ~ x!3 ~ x", B: "x!2 ~@2 x!2 ~ x", C: "x!2 ~ x ~ x ~ x", D: "~ x ~ x ~@4",
})).gain(0.3)

// drums · clap
const clap = s("cp").struct("<A@18 B@7 C A@16 B@7 C A@7 D ~@3>".pickRestart({
  A: "~ x ~ x", B: "~@2 x!2 ~@2 x ~", C: "~ x!3", D: "x!3 ~",
})).gain(0.3)

stack(acoustic_guitar_nylon, bass, electric_guitar_jazz, electric_guitar_muted, snare, clap)

More by The Beatles