Strudelify
The Saints cover art

The Beatles - And So It Begins

The Saints

The Beatles

KeyF majorTempo184 bpm
0:00/0:00
// The Saints — The Beatles
// 184 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 96 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(184/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · "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, A@4 for four bars: edit a riff to change every repeat.

// bass · acoustic bass · "BASS"
const bass = note(`<
  A@3 B A C D E A F G H I J A K A@3 B A C D E A F G H I J A K A@3 B A C D E A F G H I J A K A@3 B A C D E A F G H I J A
  L M@3 N M O P Q M R D S T U M V M@3 N M O P Q M R D S T ~@3
>`.pickRestart({
  A: "f2@3 ~@5 c2@3 ~@5", B: "f2 f2@3 e2 ~@3 d2 ~@3 c2 ~@3", C: "f2 ~@2 f2 e2 ~@3 d2 ~@3 c2 ~@3",
  D: "c2@3 ~@5 g1@3 ~@5", E: "c2@3 ~@4 c2 d2 ~@3 e2 ~@3", F: "f1@3 ~@4 f1 g1@3 ~ a1 ~@3", G: "bb1@3 ~@5 f1@3 ~@5",
  H: "bb1@3 ~@5 a1@3 ~ g1@3 ~", I: "f1@3 ~@4 a1 bb1@3 ~ b1@3 ~", J: "c2@3 ~@4 c2 d2@3 ~ e2@3 ~",
  K: "f1@3 ~@4 c2 d2@3 ~ e2@3 ~", L: "f1@3 ~@4 d2 e2@3 ~ gb2@3 ~", M: "g2@3 ~@5 d2@3 ~@5",
  N: "g2 g2@3 gb2 ~@3 e2 ~@3 d2 ~@3", O: "g2 ~@2 g2 gb2 ~@3 e2 ~@3 d2 ~@3", P: "d2@3 ~@5 a1@3 ~@5",
  Q: "d2@3 ~@4 d2 e2 ~@3 gb2 ~@3", R: "g1@3 ~@4 g1 a1@3 ~ b1 ~@3", S: "c2@3 ~@5 b1@3 ~ a1@3 ~",
  T: "g1@3 ~@4 b1 c2@3 ~ db2@3 ~", U: "d2@3 ~@4 d2 e2@3 ~ gb2@3 ~", V: "g1@3 ~@4 d2 e2@3 ~ gb2@3 ~",
})).s("gm_acoustic_bass").gain(0.8).pan(0.3)

// other · tenor sax · "SAX"
const tenor_sax = note(`<
  ~@3 A@6 B@4 C@7 D E@4 F G@3 H@3 I@4 D J@3 K@4 D L M@2 ~@15 N O@5 P@4 Q@4 R@7 S T@3 ~@8
>`.pickRestart({
  A: "[~@2 f3@6 a3@4 bb3@2 c4@20 f3@5 ~ a3@4 bb3@2 c4@20 ~ a3@5 a3@3 ~ g3@2 f3@13 ~ f3@4, ~@12 a3 ~@83]/6",
  B: "[a3@6 ~@2 c4@4 c4@2 ~ c4@3 bb3@21 ~ a3@4 bb3@2 c4@10 a3@8, ~@46 bb3 ~@17]/4",
  C: "[g3@11 ~ g3@3 f3@19 f3@5 ~ a3@4 bb3@2 c4@20 f3@5 ~ a3@4 bb3@2 c4@20 f3@6 a3@4 bb3@4]/7", D: "c4 a3",
  E: "[f3@12 a3@3 g3@21 a3@3 ~ a3@4 g3@2 f3@13 ~ f3@4]/4", F: "a3@4 c4@2 c4!2",
  G: "[~@2 bb3@21 ~ a3@4 bb3@2 c4@10 a3@8]/3", H: "[g3@11 ~ g3@3 f3@19 f3@5 ~ a3@3 ~ bb3@3 ~]/3",
  I: "[c4@9 f3@3 a3@2 bb3@2]/2", J: "[f3@12 a3@2 g3@20 a3@5 ~ a3@4 g3@3 ~]/3",
  K: "[f3@11 ~ f3@8 a3@6 ~ c4 c4@2 ~ c4@3 bb3@21 ~ a3@4 bb3@4]/4", L: "g3@11 ~ g3@4", M: "[f3@19 ~@13]/2",
  N: "~@2 g3@6 a3@4 b3@3 ~", O: "[d4@18 g3@5 ~ b3@4 c4@3 d4@19 g3@5 ~ b3@4 c4@2 ~ d4@9 b3@8]/5",
  P: "[g3@12 b3@3 a3@19 b3@5 ~ b3@4 a3@2 ~ g3@12 ~ g3@4]/4",
  Q: "[b3@10 d4 ~ d4@2 d4@4 c4@21 ~ b3@3 ~ c4@2 d4@10 b3@8, ~@18 d4 ~@45]/4",
  R: "[a3@12 a3@3 g3@18 ~ g3@5 ~ b3@4 c4@3 d4@19 g3@6 b3@3 ~ c4@2 d4@21 ~ g3@4 b3@4 c4@4]/7", S: "~@3 b3, d4",
  T: "[g3@12 b3@3 a3@19 ~@14]/3",
})).s("gm_tenor_sax").gain(0.46)

// other · piano
const piano = note(`<
  A B A B A C D E F G H I J K L B M B N B O B P Q R S T U O V W X Y Z AA Z AB AC AD AE AF AG AH AI AB AJ AK ~@17 AL AM
  AL AM AL AN AO AP AQ AR AS AT AU AV AW AM AX AM AY AM AZ AM BA BB BC BD BE BF AZ ~@3
>`.pickRestart({
  A: "~@2 f5@4 d5 ~", B: "f5 ~@3", C: "f5@4 ~@7 c5 d5@3 eb5", D: "e5@3 c6 e5@3 eb5 d5@3 bb5 d5@3 db5",
  E: "c5@3 a5 c5@3 b4 bb4 ~@2 g5 bb4 ~@2 g4", F: "a4@2 ~@10 a5 bb5 ~ b5",
  G: "c6 ~@2 b5 bb5 ~@3 a5 ~@2 f5 d5@2 ~ c5, ~@7 ab5@2 ~@7", H: "bb4@3 ~@4 db5 d5@2 ~ f5 g5@2 ~@2",
  I: "ab5@2 ~ d5 g5@2 ~ f5@5 g5@2 ~@2", J: "~@3 f4 a4 ~@2 d5 c5@4 a4@2 ~ c5", K: "~@3 c4 e4 ~@2 a4 g4@4 e4@2 ~ g4",
  L: "~@3 f4 g4@2 ~ ab4 a4@2 ~ c5 d5@2 ~ c5", M: "~@4 ab5@2 a5@2 ~@2 c6 ~ a5@2 ~@2", N: "~@4 ab5@3 a5 ~@3 c6 a5@2 ~@2",
  O: "~@4 ab5@3 a5 ~@3 c6 a5 ~@3", P: "c5@3 b5 c6 ~@2 c5 gb5 ~@2 g5 g4 eb5@3", Q: "e5 ~@2 c4 b4 ~@2 c5 c4@3 gb4 g4 ~@3",
  R: "~@4 ab4 ~@2 a4 ~@3 c5 d5 ~@3", S: "f5@3 ~ e5@3 eb5@4 ~@5",
  T: "a5@2 ~@2 bb4@2 ~ e5 f5@2 bb4 ~ db5@2 d5 ~, ~@3 bb5@2 ~@11", U: "f4@2 ~ f4 a4 ~@2 bb4 ~@3 e4 f4 ~@3",
  V: "g5@3 ~@5 ab5 ~@2 a5 ~@4", W: "g5 ~@2 f5 ~@4 ab5 ~@2 f5 d5 ~@2 c5", X: "f5@3 f4 ~@3 f4 ~ a4 ~ a4 bb4@2 ~@2",
  Y: "c5@5 ~@11", Z: "~@3 f4 ~@3 f4 ~ a4 ~ a4 bb4@2 ~@2", AA: "c5@7 ~@9", AB: "c5 ~ a4 ~",
  AC: "f4@2 ~@2 ab4@2 a4@2 ~@3 c5 a4@3 ~", AD: "g4@5 ~@11", AE: "~@4 ab4@2 ~ a4@2 ~@2 c5 a4@2 ~@2", AF: "f4@2 ~@4 f4 ~",
  AG: "a4@2 ~@2 c5 ~ c5 ~", AH: "c5@2 ~ bb4@3 ~@10", AI: "~@3 f4@2 ~@2 f4 a4 ~@2 a4 bb4@2 ~@2",
  AJ: "g4@3 ~ ab4@2 ~ a4@2 ~@2 c5 a4@2 ~@2", AK: "f4 ~@3", AL: "~@2 g5@4 e5 ~", AM: "g5 ~@3", AN: "g5@4 ~@7 d5 e5@3 f5",
  AO: "gb5@3 d6 gb5@3 f5 e5@3 c6 e5@3 eb5", AP: "d5@3 b5 d5@3 db5 c5 ~@2 a5 c5 ~@2 a4", AQ: "b4@2 ~@10 b5 c6 ~ db6",
  AR: "d6 ~@2 db6 c6 ~@3 b5 ~@2 g5 e5@2 ~ d5, ~@7 bb5@2 ~@7", AS: "c5@3 ~@4 eb5 e5@2 ~ g5 a5@2 ~@2",
  AT: "bb5@2 ~ e5 a5@2 ~ g5@5 a5@2 ~@2", AU: "~@3 g4 b4 ~@2 e5 d5@4 b4@2 ~ d5", AV: "~@3 d4 gb4 ~@2 b4 a4@4 gb4@2 ~ a4",
  AW: "~@3 g4 a4@2 ~ bb4 b4@2 ~ d5 e5@2 ~ d5", AX: "~@4 bb5@2 b5@2 ~@2 d6 ~ b5@2 ~@2",
  AY: "~@4 bb5@3 b5 ~@3 d6 b5@2 ~@2", AZ: "~@4 bb5@3 b5 ~@3 d6 b5 ~@3", BA: "d5@3 db6 d6 ~@2 d5 ab5 ~@2 a5 a4 f5@3",
  BB: "gb5 ~@2 d4 db5 ~@2 d5 d4@3 ab4 a4 ~@3", BC: "~@4 bb4 ~@2 b4 ~@3 d5 e5 ~@3", BD: "g5@3 ~ gb5@3 f5@4 ~@5",
  BE: "b5@2 ~@2 c5@2 ~ gb5 g5@2 c5 ~ eb5@2 e5 ~, ~@3 c6@2 ~@11", BF: "g4@2 ~ g4 b4 ~@2 c5 ~@3 gb4 g4 ~@3",
})).s("gm_piano").gain(0.64).pan(0.4)

// other · electric guitar clean · "GUITAR"
const electric_guitar_clean = note("<~@47 A B A B A C D E@2 F G H A C I J K ~@32>".pickRestart({
  A: "~@3 f4 ~@3 f4 a4 ~@2 a4 bb4@2 ~@2", B: "c5@3 ~@13", C: "c5@3 ~@5 a4@3 ~@5",
  D: "f4@2 ~@2 ab4@2 ~ a4@2 ~@2 c5 a4@2 ~@2", E: "[g4@3 ~@5 eb4@2 ~ c4 d4@2 ~ c4@3 ~@6 a4@2 ~@2 g4@2 ~@2]/2",
  F: "f4@2 ~@4 f4 ~", G: "a4@3 ~@5 c5@2 ~@2 c5@2 ~@2", H: "c5@2 ~ bb4@2 ~@11", I: "g4@3 ~@5 ab4@2 ~ f4 g4@3 ~",
  J: "f4@2 ~@2 c4 ~ d4 f4 ab4@2 ~ f4 d4@2 ~ c4", K: "f4 ~@7",
})).s("gm_electric_guitar_clean").gain(0.72).pan(0.6)

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

// drums · snare
const snare = s("sd").struct("<[~ x ~ x]!92 ~@4>").gain(0.5)

// drums · ride
const ride = s("rd").struct("<[x ~@3 x ~@2 x!2 ~@3 x ~@2 x]!91 [x ~@3 x ~@2 x!2 ~@3 x ~@3] ~@4>").gain(0.57)

stack(bass, tenor_sax, piano, electric_guitar_clean, kick, snare, ride)

More by The Beatles