Strudelify
She's Leaving Home cover art

Sgt. Pepper's Lonely Hearts Club Band

She's Leaving Home

The Beatles

KeyE majorTempo125 bpm
0:00/0:00
// She's Leaving Home — The Beatles
// 125 bpm, 3/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 2 "Flute 2" named as a pipe, played on flute (its oboe patch is not one)
// note: duplicate parts dropped: ch 8 "Contrabas" contrabass (copy of ch 9 "Acc Bass" synth bass 2)
// note: Full arrangement: all 154 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(125/3)

// 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.

// other · flute · "Flute 1"
const flute = note(`<
  ~@5 A B C@4 ~@2 D E F@2 G@2 H I J B K L M ~@3 N O@3 N E P ~ Q@4 R@4 S@2 T@2 H U V@2 W@2 ~ A B X L Y ~@3 D Z AA ~ AB E
  AC@2 A B K AD AE@2 ~@2 G@2 H ~ G@2 AF ~ Q@4 R@4 S@2 T@2 H U AG U AH@2 ~ A B AI@2 M ~@3 AJ@4 G@2 AK ~ Q@4 R@4 S@2 T@2 H
  U AL@2 W@2 ~@2 AM AN P AO AP@2 ~@5
>`.pickRestart({
  A: "b4@11 b4@5", B: "a4@5 g#4@5 ~ f#4@5", C: "[e5@11 d5@2 c#5@8 b4@5 ~ a4@2 g#4@8 c#5@3 c#5@13 ~@11]/4",
  D: "a4@5 b4@5 ~ c#5@5", E: "e5@5 c#5@5 ~ a4@5", F: "[c#5@5 c#5@5 ~ c#5@11 ~@10]/2",
  G: "[a4@5 b4@5 ~ c#5@2 e5@8 c#5@5 ~ a4@5]/2", H: "c#5@5 c#5@5 ~ c#5@5", I: "c#5@5 ~@3 b4@3 a4@5", J: "b4",
  K: "e5@11 d5@5", L: "c#5@5 b4@5 ~ a4@5", M: "g#4@5 c#5@3 c#5@8", N: "a4@3 b4@8 c#5@5",
  O: "[e5@5 c#5@5 ~ a4@2 c#5@8 c#5@5 ~ c#5@11 ~@10]/3", P: "c#5", Q: "[g#5@59 e5@5]/4", R: "[f#5@5 g#5@59]/4",
  S: "b5/2", T: "g#5/2", U: "c#5@5 d#5@5 ~ e5@5", V: "[c#5@3 c#5@8 c#5@2 c#5@8 d#5@5 ~ e5@5]/2",
  W: "[c#5@3 d#5@5 e5@24]/2", X: "e5@11 c#5@5", Y: "g#4@3 c#5@5 c#5@8", Z: "e5@3 c#5@8 a4@5", AA: "c#5@3 b4@2 c#5@11",
  AB: "a4@5 b4@3 c#5@8", AC: "[c#5@3 c#5@8 b4@2 c#5@8 ~@3 b4@3 a4@5]/2", AD: "c#5@3 b4@8 a4@5",
  AE: "[g#4@5 c#5@5 ~ c#5@21]/2", AF: "c#5@11 ~@5", AG: "c#5@3 c#5@8 c#5@5", AH: "[c#5@5 d#5@5 ~ e5@21]/2",
  AI: "[e5@11 d5@2 c#5@8 b4@5 ~ a4@5]/2", AJ: "[a4@5 b4@5 ~ c#5@2 e5@8 c#5@5 ~ a4@2 c#5@8 c#5@5 ~ c#5@2 c#5@13 ~@6]/4",
  AK: "c#5@5 b4@3 c#5@8", AL: "[c#5@5 c#5@5 ~ c#5@2 c#5@8 d#5@5 ~ e5@5]/2", AM: "g#5", AN: "e5@11 f#5@5", AO: "g#4",
  AP: "e4/2",
})).s("gm_flute").gain(0.64).pan(0.6)

// other · flute · "Flute 2"
const flute_2 = note(`<
  ~@38 A B C ~ A B D ~ A B E F ~@2 G F ~@35 A B C ~ A B D ~ H I J F ~@2 G F ~@19 A B C ~ K L D ~ A L M F ~@2 G F ~@14
>`.pickRestart({
  A: "b4@5 a4@5 ~ g#4@5", B: "f#4@5 g#4@3 g#4@8", C: "g#4@11 ~@5", D: "g#4@3 a4@2 g#4@5 ~@6", E: "g#4@3 a4@5 g#4@8",
  F: "e4", G: "g#4", H: "b4@5 a4@3 g#4@8", I: "f#4@5 g#4@5 ~ g#4@5", J: "g#4@8 a4@3 g#4@5", K: "b4@8 a4@3 g#4@5",
  L: "f#4@5 g#4@5 ~ a4@5", M: "g#4@3 a4@8 g#4@5",
})).s("gm_flute").gain(0.72).pan(0.4)

// chords · orchestral harp · "Harp"
const orchestral_harp = note(`<
  A@5 B C D@2 E@2 F@2 G@2 H@2 I@2 J@2 B C D@2 E@2 F@2 I@2 J@2 I@2 J@2 ~@10 K L M ~ M ~@8 N@2 O@2 I@2 P@2 I@2 P Q R S T@2
  U@3 V W@2 J@2 W@2 X Y ~@10 Z AA AB@2 AC@2 AD@2 AE B C D@2 E@2 F@2 I@2 P@2 I@2 P@2 ~@12 AD@2 AC@2 AF@2 AG@2 M@2 AH@2 AI
  AJ AK@5
>`.pickRestart({
  A: "[~@16 g#4@3 b4@2 e5@3 b4@3 e5@2 b4@2 ~ g#5@3 e5@2 c#5@3 b4@3 a4@2 b4@2 ~ g#4@3 b4@2 e5@3 b4@3 e5@2 b4@2 ~ g#5@3 e5@2 c#5@3 b4@3 a4@2 b4@3, ~@15 g#3@16 b3@16 g#3@16 b3@16 ~, ~ [b3,e4] [e4,g#4] [b3,e4] [e4,g#4]]/5", // E5 E E5 E
  B: "[b4,e5,g#5]@3 ~@2 [b4,e5,g#5]@3 ~@3 [b4,e5,g#5]@3 ~@2", // E
  C: "[b4,d5,f#5,a5]@3 ~@2 [b4,d5,f#5,a5]@3 ~@3 [b4,d5,f#5,a5]@3 ~@2", // Bm7
  D: "[a4,c#5,e5,f#5,a5]@3 ~@2 [a4,c#5,e5,f#5,a5]@3 ~@3 [a4,c#5,e5,f#5,a5]@3 ~@2", // F#m7
  E: "[g#4,b4,c#5,e5,g#5]@3 ~@2 [g#4,b4,c#5,e5,g#5]@3 ~@3 [g#4,b4,c#5,e5,g#5]@3 ~@2", // C#m7
  F: "[f#4,a#4,c#5,e5,g#5]@3 ~@2 [f#4,a#4,c#5,e5,g#5]@3 ~@3 [f#4,a#4,c#5,e5,g#5]@3 ~@2", // F#7
  G: "[b4,e5,f#5,a5]@3 ~@2 [b4,e5,f#5,a5]@3 ~@3 [b4,e5,f#5,a5]@3 ~@2", // Bsus4
  H: "[b4,d#5,f#5]@3 ~@2 [b4,d#5,f#5]@3 ~@3 [b4,d#5,f#5]@3 ~@2", I: "[b4,e5,f#5,a5]@11 [b4,e5,f#5,a5]@5",
  J: "[b4,d#5,f#5]@11 [b4,d#5,f#5]@5", K: "b4@3 b4@2 g#5@3 b4@3 b4@5", L: "g#5@3 d5@2 c#5@5 ~ b4@5", M: "[c#5,e5,g#5]",
  N: "~@5 [e5,g#5]@5 ~ [e5,g#5]@5", O: "~@5 [f#4,a#4,c#5,e5]@5 ~ [f#4,a#4,c#5,e5]@5",
  P: "[b4,d#5,f#5,a5]@11 [b4,d#5,f#5,a5]@5", Q: "[b4,d#5,f#5,a5]@3 [b4,d#5,f#5,a5]@5 [b4,d#5,f#5,a5]@8",
  R: "[b4,e5,g#5]@11 [b4,e5,g#5]@5", S: "[b4,d5,f#5,a5]@11 [b4,d5,f#5,a5]@5", T: "[c#5,e5,f#5,a5]@11 [c#5,e5,f#5,a5]@5",
  U: "~@5 [g#4,g#5]@5 ~ [g#4,g#5]@5", V: "~@5 [g#4,g#5]@11", W: "[b4,e5]@11 [b4,e5]@5", X: "[b4,f#5]@11 [b4,f#5]@5",
  Y: "a5@3 f#5@2 d#5@3 b4@3 a4@2 f#4@3", Z: "g#4@3 b4@2 d5@3 b4@3 d5@2 b4@3", AA: "d5@3 d5@2 c#5@5 ~ b4@5",
  AB: "[a4,c#5,e5]/2", AC: "[a#4,c#5,e5]/2", AD: "[g#4,c#5,e5]/2", AE: "[a#4,c#5,e5,f#5,g#5]", AF: "[c#5,e5,g#5]/2",
  AG: "[a#4,c#5,e5,g#5]/2", AH: "[a#4,c#5,e5,g#5]", AI: "c#4@3 e4@2 a4@3 e4@3 a4@5", AJ: "c#5@3 b4@2 f#4@5 ~ e4@5",
  AK: "[~ e5@32 ~@7, e4@4 ~, ~ [g#4,b4]@64 ~@15]/5", // G#m
})).s("gm_orchestral_harp").gain(0.4).pan(0.6)

// other · tremolo strings · "Violin 2"
const tremolo_strings = note(`<
  ~@13 A@2 B C A@2 D C ~@8 E@2 F G E@2 H G I@3 J I@3 J I@2 K@2 J@6 L M N O J@5 P@2 F G P@2 H G M N O B Q R S M T J H U O
  J V W I@3 J I@3 J I@4 J@6 L ~@5 X Y Z ~@2 AA G L@2 AB@2 ~ AC ~ AD AE AC AE AD AE AC AF AD A@8 U@2 AG@2 E@2 AH@4 ~
>`.pickRestart({
  A: "e4/2", B: "f#4", C: "f#4@3 f#4@5 f#4@8", D: "f#4@11 f#4@5", E: "c#4/2", F: "d#4", G: "d#4@3 d#4@5 d#4@8",
  H: "d#4@11 d#4@5", I: "e4@3 ~@2 e4@3 ~@3 e4@3 ~@2", J: "e4", K: "g#4@3 ~@2 g#4@3 ~@3 g#4@3 ~@2",
  L: "c#5@3 ~@2 c#5@3 ~@3 c#5@3 ~@2", M: "g#4@11 g#4@5", N: "d4", O: "a4@11 a4@5", P: "c#4",
  Q: "g#4@2 g#4@2 g#4 g#4@3 g#4@3 g#4@2 g#4@3", R: "g#4@3 g#4@2 g#4@3 g#4@3 g#4 g#4@2 g#4@2",
  S: "g#4@3 g#4@2 g#4@3 g#4@3 g#4@2 g#4@3", T: "c#5@11 c#5@5", U: "b4", V: "d#4@11 d#5@5", W: "d#5",
  X: "c#5@5 b4@5 ~ a#4@5", Y: "g#4@5 f#4@5 ~ e4@5", Z: "f#4@5 e4@5 ~ c#4@5",
  AA: "c#4 [d#4,e4] d#4 [d#4,e4] e4 [d#4,e4] d#4 [d#4,e4] e4 [d#4,e4] d#4 [d#4,e4] e4 [d#4,e4] d#4 [d#4,e4]", // Emaj7
  AB: "d#5@3 ~@2 d#5@3 ~@3 d#5@3 ~@2", AC: "g#4@3 g#4@2 c#4@5 ~ b3@5", AD: "g#4@4 g#4 c#4@5 ~ b3@5",
  AE: "g#3@3 b3@2 e4@3 b3@3 e4@5", AF: "g#3@3 b3@2 d4@3 b3@3 d4@5", AG: "a#4", AH: "e4/4",
})).s("gm_tremolo_strings").gain(0.4).pan(0.8)

// other · viola
const viola = note(`<
  ~@13 A@2 B C A@2 D C ~@8 E@2 F G E@2 H G I@3 F I@3 F ~@10 J K F K L ~@12 K F K M ~@2 N K O L H B K L P Q R S R S R S R
  S R S T U V W V W H W X ~@5 Y Z AA AB@2 F G ~@4 R AC R AD AE AC AE AD AE AC AE AF AG@2 AH@2 AG@2 AH@2 AI@2 AJ@2 E@2
  AK@4 ~
>`.pickRestart({
  A: "c#4/2", B: "d#4", C: "d#4@3 d#4@5 d#4@8", D: "d#4@11 d#4@5", E: "a3/2", F: "b3", G: "b3@3 b3@5 b3@8",
  H: "b3@11 b3@5", I: "b3@3 ~@2 b3@3 ~@3 b3@3 ~@2", J: "f#4@3 ~@2 f#4@3 ~@3 f#4@3 ~@2", K: "e4@11 e4@5", L: "c#4",
  M: "c#4@5 a3@5 ~ c#4@5", N: "e4@3 e4@2 e4@3 e4@3 e4@2 e4@3", O: "a4@11 a4@5", P: "b3@11 a4@5", Q: "a4",
  R: "g#3@3 b3@2 e4@3 b3@3 e4@5", S: "e4@5 c#4@5 ~ b3@5", T: "g#3@3 b3@2 d4@3 b3@3 d4@5", U: "d4@5 a3@5 ~ b3@5",
  V: "c#3@11 g#3@5", W: "c#4@5 g#3@5 ~ c#4@5", X: "g#4@3 ~@2 g#4@3 ~@3 g#4@3 ~@2", Y: "g#4@5 f#4@5 ~ e4@5",
  Z: "e4@5 d#4@5 ~ c#4@5", AA: "c#4@5 b3@5 ~ a#3@5", AB: "a3", AC: "e4@3 e4@2 a3@5 ~ g#3@5", AD: "e4@4 e4 a3@5 ~ g#3@5",
  AE: "e3@3 g#3@2 b3@3 g#3@3 b3@5", AF: "d4@4 d4 a3@5 ~ g#3@5", AG: "b3/2", AH: "a#3/2", AI: "g#4", AJ: "e4",
  AK: "b3/4",
})).s("gm_viola").gain(0.4).pan(0.3)

// other · cello
const cello = note(`<
  ~@13 A@2 B C A@2 D C ~@5 E F G H@2 I J H@2 K J L@3 M L@3 M N@2 O@2 P Q P Q P Q R ~@4 B@2 S@2 T@2 B C T@2 D C ~@4 U E F
  V W T ~ B X@4 Y Z Y Z Y Z Y Z Y Z O@2 ~@4 P B ~ AA I AB U AC E F AD ~@7 AE AF@3 AG AF@3 AG H@2 AB AH AI@2 AJ@2 AI@2
  AJ@2 ~@11
>`.pickRestart({
  A: "a3/2", B: "b3", C: "b3@3 b3@5 b3@8", D: "b3@11 b3@5", E: "c#3@5 d#3@5 ~ e3@5", F: "f#3@5 g#3@5 ~ a#3@5",
  G: "g#3@5 f#3@5 ~ e3@5", H: "b2/2", I: "b2", J: "b2@3 b2@5 b2@8", K: "b2@11 b2@5", L: "e3/3",
  M: "e3@3 b2@2 b2@3 e3@8", N: "b2@3 ~@2 b2@11", O: "f#3@3 ~@2 f#3@11", P: "c#3@11 g#3@5", Q: "c#4@5 g#3@5 ~ c#4@5",
  R: "c#4@3 ~@2 c#4@3 ~@3 c#4@3 ~@2", S: "c#4@5 c#4@5 ~ c#4@5", T: "a3", U: "c#3", V: "f#3@11 f#3@5", W: "e4@11 e4@5",
  X: "b3@3 ~@2 b3@3 ~@3 b3@3 ~@2", Y: "e3@3 g#3@2 b3@3 g#3@3 b3@5", Z: "b3@5 a3@5 ~ g#3@5", AA: "e3", AB: "f#3",
  AC: "g#3", AD: "g#3@5 f#3@5 ~ c#3@5", AE: "b2@3 f#3@2 b3@3 f#3@3 b2@2 f#3@3", AF: "g#2/3",
  AG: "b2@4 b2 b2@5 ~ b2@4 b2", AH: "f#3@4 f#3 f#3@5 ~ f#3@5", AI: "c#3/2", AJ: "f#3/2",
})).s("gm_cello").gain(0.4).pan(0.7)

// bass · synth bass 2 · "Acc Bass"
const bass = note(`<
  ~@10 A B C D@2 E F D@2 G F H E I J K L I J M@8 N@3 H N@3 H O@2 P@2 Q@2 R@2 Q@2 I S T U V W A B X E@3 F E@2 G F Y Z AA
  AB J L AC AD G E G E AE@4 N@3 AF N@3 AF O@2 AG@2 Q@2 R@2 AH J ~ H M I J K L AC AI E@3 F AE@4 N@3 AJ N@3 AJ AK@2 M AL
  AM@2 AN@2 AM@2 AN@2 AO@2 AP AN AQ@2 AR@4 ~
>`.pickRestart({
  A: "c#3@5 d#3@5 ~ e3@5", B: "f#3@5 g#3@5 ~ a#3@5", C: "g#3@5 f#3@5 ~ e3@5", D: "b2/2", E: "b2", F: "b2@3 b2@5 b2@8",
  G: "b2@11 b2@5", H: "e2", I: "f#2", J: "c#2", K: "g#2", L: "c#2@5 d#2@5 ~ e2@5", M: "b1", N: "e2/3",
  O: "e2@3 ~@2 e2@11", P: "b2@3 ~@2 b2@11", Q: "c#2/2", R: "f#2/2", S: "e2@3 ~@2 g#2@3 ~@3 b2@3 ~@2",
  T: "d3@3 ~@2 f#3@3 ~@3 b2@3 ~@2", U: "f#2@3 ~@2 a2@3 ~@3 c#3@3 ~@2", V: "e3@3 ~@2 a3@3 ~@3 c#4@3 ~@2", W: "c#3",
  X: "g#3@5 f#3@5 ~ c#3@5", Y: "e2@5 g#2@5 ~ b2@5", Z: "d3@5 f#3@5 ~ b2@5", AA: "f#2@5 a2@5 ~ c#3@5",
  AB: "e3@5 a3@5 ~ c#4@5", AC: "f#2@5 g#2@5 ~ a#2@5", AD: "f#2@11 f#2@5", AE: "b2@3 ~@2 b2@3 ~@3 b2@3 ~@2",
  AF: "e2@3 e2@5 e2@3 e2@5", AG: "d3@3 ~@2 d3@11", AH: "c#2@11 c#2@5", AI: "g#2@5 f#2@5 ~ c#2@5",
  AJ: "e2@4 e2 e2@5 ~ e2@4 e2", AK: "e2/2", AL: "b1@4 b1 b1@5 ~ b1@5", AM: "c#2@5 c#2@11", AN: "f#2@5 f#2@5 ~ f#2@5",
  AO: "~@5 c#2@5 ~ c#2@5", AP: "~@5 f#2@5 ~ f#2@5", AQ: "a2/2", AR: "e1/4",
})).s("gm_synth_bass_2").gain(0.28).pan(0.6)

stack(flute, flute_2, orchestral_harp, tremolo_strings, viola, cello, bass)

More by The Beatles