Strudelify

The Girl I Love

The Beatles

KeyA minorTempo98 bpm
0:00/0:00
// The Girl I Love — The Beatles
// 98 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "ACCORDS" named as an organ, played on accordion (its acoustic guitar steel patch is not one); ch 6 "ACCORDS AIGUS" named as an organ, played on accordion (its acoustic guitar steel patch is not one)
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 62 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(98/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · accordion · "ACCORDS"
const accordion = note(`<
  ~@2 A B C D A B C E F G H G A B C D A B C E F G H G I J I J I J K L H G H G M N O P Q R O S F G H G Q R O P T R O S F
  G H G
>`.pickRestart({
  A: "[c4,e4]@4 [c4,e4]@2 [a3,c4,e4]@2 ~@2 [c4,e4] ~ [d4,e4]@4 [d4,e4]@2 [g#3,d4,e4]@2 ~@2 [d4,e4] ~, [a2,e3]@2 ~ [b2,e3]@2 ~, a3 ~ g#3 ~", // C Am C Dsus2 E7 Dsus2 A5 E5
  B: "[a3,c4,e4]@6 [a3,c4,e4]@2 ~@4 [a3,c4,g4]@6 [a3,c4,g4]@2 ~@2 [c4,g4] ~, [a2,e3]@2 ~ [a2,e3]@2 ~", // Am Am7 C5 A5
  C: "[d4,f4]@4 [d4,f4]@2 [a3,d4,f4]@2 ~@2 [d4,f4] ~ [d4,f4]@4 [d4,f4]@2 [a3,d4,f4]@2 ~@2 [d4,f4] ~, d3@2 ~ d3@2 ~, a3 ~ a3 ~", // Dm
  D: "[c4,e4]@4 [c4,e4]@2 [g3,c4,e4]@2 ~@2 [c4,e4] ~ [d4,e4]@4 [d4,e4]@2 [g#3,d4,e4]@2 ~@2 [d4,e4] ~, e3@2 ~ e3@2 ~, g3 ~ g#3 ~", // C Dsus2 E7 Dsus2
  E: "[a3,c4,e4]@3 [a3,c4,e4] ~@2 [c4,e4]@2 [c4,e4] [c4,e4]@2 [c4,e4], e3@2 ~ e3@3, ~@2 a3!2", // Am C
  F: "[e3,g3,c4,e4]@4 [c4,e4]@2 [g3,c4,e4]@2 ~@2 [c4,e4] ~ [b3,e4]@4 [b3,e4]@2 [g3,b3,e4]@2 ~@2 [b3,e4] ~, ~@3 e3@2 ~, ~@2 g3 ~", // C E5 Em E5
  G: "[d4,f4]@4 [d4,f4]@2 [a3,d4,f4]@2 ~@2 [d4,f4] ~ [b3,f4]@4 [b3,f4]@2 [g3,b3,f4]@2 ~@2 [b3,f4] ~, d3@2 ~ d3@2 ~, a3 ~ g3 ~", // Dm Bdim G7 Bdim
  H: "[c4,e4]@4 [c4,e4]@2 [g3,c4,e4]@2 ~@2 [c4,e4] ~ [b3,e4]@4 [b3,e4]@2 [g3,b3,e4]@2 ~@2 [b3,e4] ~, e3@2 ~ e3@2 ~, g3 ~ g3 ~", // C E5 Em E5
  I: "[a3,d4,f4]!4", J: "[a3,c#4,e4]!4", K: "[a3,c4,d4]!4", L: "[a3,c4,f4]!4",
  M: "[a2,e3,a3,e4] ~@3 [c4,e4]@2 [c4,e4]@2 ~@2 [c4,e4] ~ [d4,e4]@4 [d4,e4]@2 [g#3,d4,e4]@2 ~@2 [d4,e4] ~, c4@2 ~ a3@3 [b2,e3]@4 ~@2, ~@2 g#3 b3", // A5 C Dsus2 E7 Dsus2 E5
  N: "[a3,c4,e4]@6 [a3,e4]@2 ~@4 [a3,c4,g4]@6 [a3,c4,g4]@2 ~@2 [c4,g4] ~, [a2,e3]@2 ~ [a2,e3,f4]@2 ~, ~@3 c4@3 ~@3 e4@2 ~", // Am A5 Am7 C5 A5 Fmaj7
  O: "[d4,f4]@4 [d4,f4]@2 [a3,d4]@2 ~@2 [d4,f4] ~ [d4,f4]@4 [d4,f4]@2 [a3,f4]@2 ~@2 [d4,f4] ~, d3@2 ~ [d3,e4]@2 ~, a3@3 f4@2 ~ a3@3 d4@2 ~", // Dm D5 Dm Dsus2
  P: "[c4,e4]@4 [c4,e4]@2 [g3,c4,e4]@2 ~@2 [c4,e4] ~ [d4,e4]@4 [d4,e4]@2 [g#3,d4,e4]@2 ~@2 [d4,e4] ~, e3@2 ~ [e3,c4]@2 ~, g3 d4 g#3 b3", // C Dsus2 E7 Dsus2 C
  Q: "[c4,e4]@4 [c4,e4]@2 [c4,e4]@2 ~@2 [c4,e4] ~ [d4,e4]@4 [d4,e4]@2 [g#3,d4,e4]@2 ~@2 [d4,e4] ~, [a2,e3]@2 ~ [b2,e3]@2 ~, a3!2 g#3 b3", // C Dsus2 E7 Dsus2 A5 E5
  R: "[a3,c4,e4]@6 [a3,e4]@2 ~@4 [a3,c4,g4]@6 [a3,c4,g4]@2 ~@2 [c4,g4] ~, [a2,e3]@2 ~ [a2,e3,f4]@2 ~, ~ c4 ~ e4", // Am A5 Am7 C5 A5 Fmaj7
  S: "[a3,c4,e4]@3 [a3,c4,e4] ~@2 [c4,e4]@2 [c4,e4] [c4,e4]@2 [c4,e4], e3@2 ~ e3@3, ~ d4 a3!2", // Am C
  T: "[c4,e4]@4 [c4,e4]@2 [c4,e4]@2 ~@2 [c4,e4] ~ [d4,e4]@4 [d4,e4]@2 [g#3,d4,e4]@2 ~@2 [d4,e4] ~, [a2,e3]@2 ~ [b2,e3]@2 ~, a3@3 a3@3 g#3@3 b3@2 ~", // C Dsus2 E7 Dsus2 A5 E5
})).s("gm_accordion").gain(0.3)

// other · accordion · "ACCORDS AIGUS"
const accordion_2 = note(`<
  ~@2 A B C D A B E F G H I J A B C K A B E F G H I J ~@8 G H I J A B C K A B E F G H I J ~@8 G H I J
>`.pickRestart({
  A: "[e4,a4]!2 [e4,b4]!2", B: "[e4,a4]@3 [e4,a4]@3 e4@3 [e4,a4]@2 e4", C: "~@4 f4@3 ~@3 f4@3 ~@3 f4@3 ~@3 f4@2",
  D: "e4@2 g4 g4@2 a4 b4@2 b4 b4@3", E: "~@2 f4@3 f4@3 f4@3 f4", F: "e4 a4!3", G: "g4@2 g4 g4@2 g4 g4@2 g4 g4@3",
  H: "a4@2 a4 a4@2 a4 b4@3 b4@3", I: "g4!4", J: "a4!2 b4!2", K: "e4@2 e4 e4@2 a4 b4@2 b4 b4@3",
})).s("gm_accordion").gain(0.35)

// other · acoustic guitar steel · "SOLO 2"
const acoustic_guitar_steel = note("<~@50 A B C D A B C D ~@4>".pickRestart({
  A: "e4 ~@2 e4 ~@2 c4 ~@2 c4 ~@2 f4 ~@2 f4 ~@2 d4 ~@2 d4 ~@2",
  B: "g4 ~@2 g4 ~@2 e4 ~@2 e4 ~@2 a4 ~@2 a4 ~@2 g4 ~@2 g4 ~@2",
  C: "f4 ~@2 f4 ~@2 a4 ~@2 a4 ~@2 g4 ~@2 g4 ~@2 f4 ~@2 f4 ~@2",
  D: "e4 ~@2 e4 ~@2 f4 ~@2 f4 ~@2 e4 ~@2 e4 ~@2 d4 ~@2 d4 ~@2",
})).s("gm_acoustic_guitar_steel").gain(0.4)

// bass · acoustic bass · "BASSE"
const bass = note(`<
  ~@2 A B C D A B C E F G F G A B C D A B C E F G F G H I J K L M N O F G F G A B C D A B C E F G F G A B C D A B C E F
  G F G
>`.pickRestart({
  A: "a1 e2", B: "a1@2 a1 g2", C: "d2!2", D: "c2 e2", E: "c2 d2 c2 a1", F: "c2 e1", G: "d2 g2",
  H: "d2@6 d2@3 ~@3 d2@3 ~@3 d2@2 ~@2 d2 ~", I: "a1@4 ~@2 a1@3 ~@3 a1@2 ~@4 a1@2 ~@2 a1 ~",
  J: "d2@4 ~@2 d2@3 ~@3 d2@3 ~@3 d2@2 ~@2 d2 ~", K: "a1@3 ~@3 a1@2 ~@4 a1@2 ~@4 a1 ~@3 a1 ~",
  L: "d2@3 ~@3 d2@2 ~@4 d2@2 ~@4 d2 ~@3 d2 ~", M: "a1@2 ~@4 a1@2 ~@4 a1@2 ~@4 a1 ~@5", N: "d2@2 ~ c2 ~@2 d2 ~@2 c2 ~@2",
  O: "d2 ~@5 c2@2 ~@4 f2@2 ~@4 f2 ~@5",
})).s("gm_acoustic_bass").gain(0.35)

// chords · synth brass 2 · "VOIX"
const synth_brass_2 = note("<~@26 A B A B A B A C ~@28>".pickRestart({
  A: "[d4,f4] ~@2 [d4,f4] ~@2 [d4,f4] ~@2 [d4,f4] ~@2 [d4,f4] ~@2 [d4,f4] ~@2 [d4,f4] ~@2 [d4,f4] ~@2", // Dm
  B: "[c#4,e4] ~@2 [c#4,e4] ~@2 [c#4,e4] ~@2 [c#4,e4] ~@2 [c#4,e4] ~@2 [c#4,e4] ~@2 [c#4,e4] ~@2 [c#4,e4] ~@2", // C#m
  C: "[c4,f4] ~@2 [c4,f4] ~@2 [c4,f4] ~@2 [c4,f4] ~@2 [f4,a4] ~@2 [f4,a4] ~@2 [f4,a4] ~@2 [f4,a4] ~@2", // F5 F
})).s("gm_synth_brass_2").gain(0.41)

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

// drums · snare
const snare = s("sd").struct("<~@2 [~ x ~ x]!60>").gain(0.35)

// drums · pedal hat
const pedal_hat = s("hh").struct("<[x!2] [x!4] [~ x ~ x]!60>").gain(0.5)

// drums · tambourine
const tambourine = s("tb").struct("<~@2 [~ x ~ x]!60>").gain(0.3)

// drums · crash
const crash = s("cr").struct("<~@50 [~ x ~ x]!8 ~@4>").gain(0.35)

// drums · ride
const ride = s("rd").struct("<~@26 [x!4]!8 ~@28>").gain(0.5)

stack(
  accordion, accordion_2, acoustic_guitar_steel, bass, synth_brass_2, kick, snare, pedal_hat, tambourine, crash, ride
)

More by The Beatles