Strudelify

Step Inside Love Los Paranoias

The Beatles

KeyC majorTempo118 bpm
0:00/0:00
// Step Inside Love   Los Paranoias — The Beatles
// 118 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 48 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(118/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 steel · "GUITAR"
const acoustic_guitar_steel = note("<A B@2 C@2 D@5 E@4 F@6 G H I@7 J@7 K@8 L@4>".pickRestart({
  A: "~@9 e4@3 [d#3,g4]@2 [d#3,d#4,g4] ~@5 [a#3,f4,a#4,d5]@2 ~@2, ~@3 g3@10 ~@11, ~@6 c4@7 ~@11", // D# A#
  B: "[~@10 f4@3 ~@6 f4@3 ~@11 g3@3 [d#3,d#4,a#4]@2 ~ [g4,a#4] ~@4 [a#3,d4,f4,a#4,d5]@2 ~@2, ~ f3@21 [c3,e4]@14 ~@2 [d#3,d#4]@2 ~@8, ~ c5@12 c5@8 ~@27, ~ f4@9 ~@3 f4@6 ~@10 g4@6 ~@13, ~@7 c4@9 c4@6 ~@26]/2", // D#5 Gm A# C D#
  C: "[~@12 f4@3 ~@3 c4@3 ~@8 [c4,g4]@5 ~ [d#3,g4,a#4]@2 ~ [d#3,d#4,g4,a#4] ~@5 [a#3,d4,f4,a#4,d5]@2 ~@2, ~ f3@10 ~ c3@5 ~@7, ~@2 c5@13 ~@33, ~@2 f4@10 ~@3 [f4,c5]@8 ~@25, ~@9 c4@9 ~@3 c4@8 ~@19]/2", // C5 D# A# F5
  D: "[~@2 f4@6 ~@4 f4@3 ~@3 c4@2 ~@4 b2@2 ~@28 c4@3 ~@21 c4@3 c4@5 ~@16 c4@3 ~@9 g3@3 [f3,g3]@3, ~@2 f3@20 ~@2 c3@24 ~@9 c4@12 c4@9 ~@9 e4@18 e4@14 ~, ~@2 c5@13 [f4,c5]@7 ~@5 g3@6 g3@9 ~@9 g3@9 ~@6 g3@5 ~ c3@21 c4@6 g3@6 c4@3 g3@6 ~@6, ~@8 c4@9 ~@3 c4@15 ~@4 g4@18 g4@14 ~@10 g4@30 [c4,g4]@8 ~, ~@29 e4@15 ~ e4@18 e4@8 ~@4 g3@8 ~@7 g3@6 [c3,c5]@24]/5", // Fsus2 F5 C5 C
  E: "[~@9 g3@5 ~@19 f#3@6 ~@5 f3@2 ~@11 f3@6 ~@5 f3@3 ~@9 [f3,c4]@6 ~@7 e3@3, g2@20 f#3@9 ~@12 c#3@5 ~@19 c3@6 f3@4 c3@8 ~@6 c3@6 ~, a#3@14 a#3@9 a#3@15 ~ a#3@8 a3@16 a3@8 g#3@14 ~ [f3,g#3,c4]@10, ~@3 d3@8 ~@6 d3@6 f#2@24 f2@24 f2@24 ~, ~@9 d4@14 ~@10 c#4@14 ~@10 c4@14 c4@9 ~@16]/4", // F5 Fm
  F: "[~@5 e3@3 e3@6 ~@6 d#3@3 ~@6 d#3@3 ~@12 f3@3 ~@9 a3@3 [g2,g3,b3]@2 ~ [c3,g3,c4]@2 ~@41 d4@6 ~@5 d4@2 ~@7 d4@3 d4@6 ~@7 a3@2 ~, g#2@23 d#2@24 f2@12 ~@9 g2@28 ~@3 a3@9 ~@3 d4@2 a3@5 ~ g3@24 ~, g#3@14 g#3@9 g3@14 d#3@3 a#2@6 ~@5 c3@8 ~@13 d3@9 d3@9 d3@5 ~ d3@23 ~@3 b3@10 ~@3 [d4,g4]@9, ~@3 c3@9 ~@5 c3@5 ~@4 a#2@6 d#3@2 a#2@4 g3@9 ~@6 f3@6 ~@8 [g3,d4]@10 g3@7 ~@3 [g3,b3]@8 ~ f4@15 f4@8 g4@16 ~@3 b3@6, ~@8 b3@14 ~@10 a#3@15 a3@9 ~@21 d4@16 d4@12 a4@14 d4@6 ~@3 b4@15 ~]/6", // G C5 G5 G
  G: "d4@2 ~@6 d#4@2 ~ [d#3,d#4,g4,a#4]@2 ~ [d#3,d#4,g4,a#4] ~@5 [a#3,d4,f4,a#4,d5]@2 ~@2, e4@11 ~@13, c4@6 [c4,g4]@5 ~@13, f4 ~@2 g3@8 ~@13", // D# A# C5
  H: "~@10 f4@3 ~@2 c4@3 c4@3 c3@3, ~ f3@20 ~@3, ~ c5@12 ~@11, ~ f4@9 ~@3 [f4,c5]@8 ~@3, ~@7 c4@8 ~@9", // F5
  I: "[~@7 d#4@2 [d#3,d#4,g4,a#4]@2 ~ [d#3,d#4,g4,a#4] ~@4 [a#3,d4,f4,a#4,d5]@2 ~@13 f4@4 ~@3 c4@3 ~@15 [d#3,d#4,g4,a#4]@3 a#4@5 f4@6 ~@7 c4 ~@2 f4 f4@2 ~@3 c4@2 ~@19 c4@6 ~@9 c4@3 ~@24 c4@6 ~@9 c3@3, ~@3 [c4,g4]@6 ~@14 [f3,a4]@20 ~@2 c3@47 c3@25 c3@20 c4@9 ~@10 e4@6 c4@6, ~@23 c5@12 ~@30 [a#3,d4,a#4,d5]@6 [f4,c5]@8 c4@5 [f4,c5]@5 c4@15 ~@4 g4@10 ~@8 g4@15 ~@9 g4@15 ~@3, ~@23 f4@9 ~@4 [f4,c5]@8 ~@16 [d#3,d#4,g4]@32 ~@9 g3@10 ~@3 c4@9 ~@3 c4@9 g3@6 c3@24 ~@3, ~@29 c4@10 ~@3 c4@29 [f3,a4]@20 ~@7 e4@19 ~@3 g3@9 ~@3 e4@9 ~@3 g3@9 ~@6 g3@6 ~@3]/7", // D# A# D# C5 F A# F5 D# …
  J: "[~@6 c4@6 ~@3 g3@3 [g3,a3]@2 ~@10 g3@6 ~@18 f#3@6 ~@9 a3@4 ~@4 f3@7 ~@39 e3@3 e3@5 ~@18 d#3@5 ~@6 f3@3 ~ [f2,f3,a3]@4, ~@6 g4@14 a#3@16 [g3,a#3]@9 a#3@15 ~@6 f3@6 ~@15 c3@6 ~@3 c3@6 c4@9 c3@3 e3@9 ~@3 b3@14 g3@14 [d#3,g3]@9 ~@5, ~@12 e4@8 g2@22 f#3@6 ~@12 [f#3,a#3]@8 ~@16 a3@32 ~@4 c3@9 ~@2 [e3,g#3]@6 d#3@6 ~@6 a#3@14 ~@5, ~@30 d4@15 ~@9 c#4@14 ~@9 c4@13 f3@9 g#3@3 f3@3 c3@3 g#3@8 ~ g#3@14 ~@3 c3@5 ~@4 a#2@9 ~@5 a#2@6 ~@5, ~@39 d3@5 ~ f#2@23 ~ f2@24 f2@23 ~ g#2@23 d#2@23 ~@5]/7", // Gsus2 F Gm D# F# E
  K: "[~@2 f3@6 [g2,d3,g3,b3]@2 ~ [c3,g3,c4]@2 ~@13 g3@2 ~@12 c4@3 ~@15 d4@3 d4@3 a3@3 d4@8 d4@5 ~@18 d#4@2 ~ [d#3,d#4,g4,a#4]@2 ~ [d#3,d#4,g4,a#4] ~@4 [a#3,d4,f4,a#4,d5]@2 ~@12 f4@3 ~@3 c4@2 ~@12 d#4@2 ~ [d#3,d#4,g4,a#4] ~ [d#3,d#4,g4,a#4] ~@5 [a#3,d4,f4,a#4,d5]@2 ~@11 f4@3 ~@3 c4@3 ~@9 [c4,e4,g4]@3 d#4@2 ~ [d#3,d#4,g4,a#4], ~@16 d4@12 ~ d4@15 ~@5 d4@9 ~@3 a4@6 g4@14 [d4,g4]@5 c4@9 [c4,g4]@5 ~@14 f4@9 ~@3 [f4,c5]@8 ~@25 f4@8 ~@4 [f4,c5]@8 ~@13, ~@16 g3@9 ~@3 g3@9 d3@6 d3@25 ~@15 b3@5 ~@32 c4@8 ~@3 c4@9 [c4,g4]@5 ~@19 c4@9 ~@3 c4@9 ~@7, ~@17 g2@27 ~@11 a3@8 ~ d4@2 ~ g3@21 ~ [c3,e4]@11 ~@14 f3@19 ~ c3@11 ~@14 f3@19 ~ c3@9 ~@4, ~@23 d3@8 d3@3 b3@9 ~@9 f4@16 ~@7 b4@13 ~@26 c5@11 ~@34 c5@12 ~@21]/8", // G C5 D# A# D# A# C D# …
  L: "[~ [d#3,d#4,g4,a#4] ~@5 [a#3,d4,f4,a#4,d5]@2 ~@12 f4@3 ~@3 c4@3 ~@9 c4@3 ~@24 e4@3 [c4,e4]@21 ~@6, ~@12 [f3,a4]@19 ~ c3@24 ~ c3@12 c3@23 ~@4, ~@6 c5@6 ~@13 g3@3 ~@20, ~@12 f4@8 ~@4 [f4,c5]@7 ~@4 g3@9 ~@4 c4@5 c4@9 c4@7 ~@27, ~@18 c4@9 ~@3 c4@9 ~@3 e4@14 ~@40]/4", // D# A# C F F5
})).s("gm_acoustic_guitar_steel").gain(0.36)

// chords · acoustic guitar steel · "GUITAR" · soft notes
const acoustic_guitar_steel_2 = note(`<
  A ~ B ~ C ~ D@2 E ~ F G@2 H I@3 J K L M N ~@3 O@2 P Q R@2 S@2 T U V@2 ~ W@3 ~@4 X@2 ~
>`.pickRestart({
  A: "c3@6 d#4 ~@5", B: "~@17 a#3 ~@6", C: "~@11 d#4@2 ~@11",
  D: "[~@6 g3 ~, ~@11 c4@18 ~@19, ~@6 g3@3 ~@7, ~@24 c3@23 ~]/2", E: "~@7 c4@3 ~@2, ~@11 g3@6 ~@7",
  F: "~@6 g3@3 ~@5 g3@9 ~, ~@11 d3@6 ~@7",
  G: "[~@5 f#3@3 ~@7 f#3@8 ~@6 f3@3 ~@7 f3@5 ~@4, ~@3 c#3@8 c#3@6 ~@6 f3@6 ~@19, ~@26 c3@10 c3@5 ~@7]/2",
  H: "~@5 f3@3 ~@3 c3@6 ~@7", I: "[~@14 e3@9 d#3@6 ~@18 f3@4 ~@21, ~@12 c3@5 ~@55]/3", J: "~@4 g3 ~@3",
  K: "~@12 a3@5 ~@7", L: "~@2 b3 ~", M: "c3@11 ~@13", N: "~@19 b4@2 ~@3", O: "[~@23 g3@6 ~@3 c4@3 ~@4 g3@6 ~@3]/2",
  P: "~@3 g3@2 ~@3", Q: "~ c4 ~@2 c4@2 ~@2, ~@9 g3@5 ~@10",
  R: "[~@3 c4@3 ~@6 c4@8 ~@6 g3@4 ~@3 d3@6 ~@9, g3@9 g3@6 ~@8 d3@9 ~@16]/2",
  S: "[~@3 f#3@3 ~@9 c#3@5 ~@6 f3@3 ~@7 f3@6 ~@6, c#3@14 ~@9 c3@9 ~ c3@6 ~@9]/2", T: "~@3 f3@2 ~", U: "~@9 c3@5 ~@10",
  V: "[~@2 d#3@3 ~@3 a#2@5 ~@16 g3@3 ~@16, ~@23 c3@9 ~@16]/2", W: "[~@23 b3@12 ~@9 g3@8 ~@20]/3",
  X: "[~@21 g3@5 ~@9 g3@10 ~@3, ~@3 c4 ~@4]/2",
})).s("gm_acoustic_guitar_steel").gain(0.2)

// drums · kick
const kick = s("bd").struct("<~@7 [~@7 x] [x ~@2 x!2 ~@2 x]!39 x>").gain(0.31)

// drums · rim
const rim = s("rim").struct(`<
  ~@8 A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A ~
>`.pickRestart({
  A: "x ~@2 x ~@2 x ~", B: "~@2 x ~@2 x ~@2",
})).gain(0.36)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@8 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~
>`.pickRestart({
  A: "x",
})).gain(0.41)

// drums · ride
const ride = s("rd").struct(`<
  ~@7 A B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B D
>`.pickRestart({
  A: "~@6 x!2", B: "~ x!7", C: "x!8", D: "x",
})).gain(0.36)

// drums · congas
const congas = s("conga:13").struct(`<
  ~@8 A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A ~
>`.pickRestart({
  A: "x ~@2 x ~@4", B: "~ x ~@3 x ~@2",
})).gain(0.82)

// drums · congas
const congas_2 = s("conga:18").struct(`<
  ~@7 A B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B ~
>`.pickRestart({
  A: "~@6 x!2", B: "~ x ~@6", C: "~@4 x ~ x!2",
})).gain(0.82)

stack(acoustic_guitar_steel, acoustic_guitar_steel_2, kick, rim, hihat, ride, congas, congas_2)

More by The Beatles