Strudelify

Dizzy Miss Lizzy

The Beatles

KeyA majorTempo125 bpm
0:00/0:00
// Dizzy Miss Lizzy — The Beatles
// 125 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 97 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(125/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 · drawbar organ · "Organ"
const drawbar_organ = note(`<
  ~ A@4 B@2 C@2 D B C E C@4 B@2 C@2 D B C F C@4 B G C@2 D B C F A@4 B@2 C@2 H ~ I E C@4 B@2 C@2 D B C F A@3 J B K C@2 D
  B C E C@4 L B C@2 D B C F C@4 M N O P D B C Q
>`.pickRestart({
  A: "[a4,c#5,e5]!8", B: "[a3,d4,f#4]!8", C: "[a3,c#4,e4]!8", D: "[b3,d4,e4,g#4]!8",
  E: "[g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]@2 [g#3,b3,d4,e4]@2 [d4,e4,f4,g4,a4,b4,c5,d5,e5,f5,g5,a5,b5] [f3,g3,a3,b3,c4] [c3,d3,e3] [g2,a2,b2]", // E7 Dm7 F C G
  F: "[g#3,b3,d4,e4]!8", G: "[a3,d4,f#4]!2 ~ [a3,d4,f#4]!5", H: "[b3,d4,e4,g#4]!6 ~@2", I: "~@4 [a3,c#4,e4]!4",
  J: "[a4,c#5,e5]@2 [a4,c#5,e5]@2 [a4,c#5,e5]@2 [a4,c#5,e5]@2 [b3,c4,d4,e4,f4,g4] [d3,e3,f3,g3,a3] [g2,a2,b2,c3] [c2,d2,e2,f2] [f1,g1,a1,b1] e1 [a4,c#5,e5]@2, ~@4 [a4,c#5,e5]!3 ~", // A Cmaj7 Dm Cmaj7 Dm7 G7 A
  K: "[a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 [d4,g4] [d4,e4,f4] [f3,f#3,g3,b3,c4] [d3,d#3,e3] [a2,b2,c3] [e2,f2,g2] [a3,d4,f#4]@2, ~@8 [a3,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 [c2,d2] ~", // D G5 Dm Fsus2 Am Em D Csus2
  L: "[a3,d4,f#4]!2 ~ [a3,d4,f#4]!3 ~ [a3,d4,f#4] [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2", // D
  M: "[a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4]!2 ~ [a3,d4,f#4]!3 ~ [a3,d4,f#4]", // D
  N: "[a3,d4,f#4]!2 ~ [a3,d4,f#4]!3 ~ [a3,d4,f#4]!3 ~ [a3,d4,f#4] f#4 [c4,d#4,e4,f4] [a3,b3,c4,d4] g3", // D F7 D7
  O: "[a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]!2 ~ [a3,c#4,e4]!3 ~ [a3,c#4,e4]", // A
  P: "[a3,c#4,e4]!2 ~ [a3,c#4,e4]!3 ~ [a3,c#4,e4]!3 ~ [a3,c#4,e4]!3 ~ [a3,c#4,e4]", Q: "[a3,c#4,e4]",
})).s("gm_drawbar_organ").gain(0.36)

// other · electric guitar clean · "Guitar 1"
const electric_guitar_clean = note(`<
  A B A B A B A B A C A B ~ D 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 C A B E F A G B A B A B A C
  A@2 B A B A B A B A C A H@2 D B A B A B A B A B A B A B A B A B A B A B I J
>`.pickRestart({
  A: "~@2 [b4,c5]@2 c5@2 c5@2 c5 b4 a4@2 c5@4, ~@12 b4 ~@3", B: "a4", C: "b4",
  D: "~@4 [b4,c5]@2 c5@2 c5 b4 a4@2 c5@4, ~@12 b4 ~@3", E: "d5 c5 b4@2 a4 e4@2 d4, ~@10 d4 ~@5", F: "c4 ~",
  G: "~@2 [b4,c5]@2 c5@2 c5@2 c5 b4 ~@2 c5@4, a4@5 a4@3, ~@12 b4 ~@3", // Cmaj7
  H: "[a4@2 d5 [b4,c5] b4@2 a4 e4@2 d4 c4@2 ~@4, ~@14 d4 ~@17]/2", I: "d5@2 b4 c5 b4@2 ~@2 a4@2 d4 e4 d4@4", J: "a3",
})).s("gm_electric_guitar_clean").gain(0.49).pan(0.7)

// other · overdriven guitar · "Guitar 2"
const overdriven_guitar = note(`<
  ~ A@4 B@2 A@2 C B A D A@4 B@2 A@2 C B A D A@4 B@2 A@2 C B E D A@4 B@2 A@2 C B A D A@4 B@2 A@2 C B A D A@4 B@2 A@2 C B
  A D A@4 B@2 A@2 C B A D A@4 B@2 A@2 C B A F
>`.pickRestart({
  A: "a2!2 c3 c#3 e3!2 f#3 e3", B: "d3!2 f3 f#3 a3!2 b3 a3", C: "e3!2 g3 g#3 b3!2 c#4 b3", D: "[e3,b3]!8",
  E: "a2!2 [c3,c#3] ~ e3!2 f#3 e3", F: "[a2,e3,a3,c#4,f#4]",
})).s("gm_overdriven_guitar").gain(0.4).pan(0.7)

// bass · electric bass pick · "Bass"
const bass = note(`<
  ~ A@4 B@2 A@2 C B A D A@4 B@2 A@2 C B A D A@4 B@2 A@2 C B A E A@4 B@2 A@2 C B A F A@4 B@2 A@2 C B A F A@4 B@2 A@2 C B
  A D A@4 B@2 A@2 C B A F A@4 B@2 A@2 C B A G
>`.pickRestart({
  A: "a1!2 c2 c#2 e2!2 f#2 e2", B: "d2!2 f2 f#2 a2!2 b2 a2", C: "e2!2 g2 g#2 b2!2 c#3 b2", D: "e2!6 d2 c#2",
  E: "~ e2!7", F: "e2!8", G: "a1",
})).s("gm_electric_bass_pick").gain(0.45).pan(0.3)

// drums · kick
const kick = s("bd").struct("<~ A@11 B A@11 B A@11 B A@11 B A@11 B A@11 B A@11 B A@11 B>".pickRestart({
  A: "x ~@3 x!2 ~ x", B: "x",
})).gain(0.36)

// drums · snare
const snare = s("sd").struct("<~ A@11 B A@11 B A@11 C A@11 B A@11 B A@11 B A@11 B A@11 ~>".pickRestart({
  A: "~ x ~ x", B: "x!5 ~ x!7 ~ x ~", C: "~ x!3",
})).gain(0.36)

// drums · open hat
const open_hat = s("oh").struct("<~ A@11 ~ A@11 ~ A@23 ~ A@11 ~ A@11 ~ A@11 ~ A@11 ~>".pickRestart({
  A: "x!8",
})).gain(0.36)

// drums · crash
const crash = s("cr").struct("<~@96 x>").gain(0.4)

stack(drawbar_organ, electric_guitar_clean, overdriven_guitar, bass, kick, snare, open_hat, crash)

More by The Beatles