Strudelify

I'll Cry Instead

The Beatles

KeyG majorTempo176 bpm
0:00/0:00
// I'll Cry Instead — The Beatles
// 176 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 88 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(176/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.

// bass · fretless bass · "Fretless E Bass"
const bass = note(`<
  ~@2 A B@5 C D E F G@2 H I J K L M@5 C N E O P G H I J K Q R S T U N V W X B@2 M B@2 C N E F G Y Z AA J K AB R S T U N
  AC AD AE B@5 C D E F G Y Z I J K AF@5 ~
>`.pickRestart({
  A: "~@15 f#2", B: "g2@7 ~ d2@4 f#2@2 ~ d2", C: "g2@7 ~ f#2@4 e2@4", D: "d2@7 ~ a1@4 c2@2 ~ a1", E: "d2@7 ~ a1@4 d2@4",
  F: "c2@7 ~ g1@7 ~", G: "c2!2 g1!2", H: "c2!2 d2 f2", I: "g2!2 d2 f#2", J: "d2!2 a2 d2", K: "g2@7 ~ d2@7 ~",
  L: "g2 d2 e2 f#2", M: "g2@6 ~ d2 d2@7 ~", N: "d2@7 ~ a1@6 ~ a1", O: "c2@7 ~ g1@6 ~ g1", P: "c2@6 ~ c2 g1@4 c2@4",
  Q: "g2@7 ~ d2@4 c2@4", R: "b1@7 ~ f#2@6 ~ b1", S: "b1@7 ~ f#2@4 b1@4", T: "a1@7 ~ e2@7 ~", U: "a1@7 ~ e2@4 d#2@4",
  V: "d2@6 ~ d2 a1@7 ~", W: "e2@7 ~ b1@7 ~", X: "a1@7 ~ d2@7 ~", Y: "c3@4 b2@4 g2@4 f2@2 ~ d2",
  Z: "d2@2 ~ d2 c2@4 a#1@4 a1@4", AA: "g1@7 ~ d2@4 g1@4", AB: "g2 f#2 e2 d2", AC: "d2@6 ~ d2 a1@4 d2@4",
  AD: "e2@7 ~ b1@4 a#1@4", AE: "a1@7 ~ d2@4 d2@4", AF: "g2/5",
})).s("gm_fretless_bass").gain(0.54).pan(0.6)

// chords · electric guitar muted · "Lead Gtr Muted"
const electric_guitar_muted = note(`<
  A B@8 C D E F G H I J K@2 B@6 C D E F G H I J K@2 L@2 M N O@2 P Q B@6 C D E F G H I J K@2 L@2 M N O@2 P Q B@6 C D E F
  G H I J K R@5 ~
>`.pickRestart({
  A: "~@15 f#2", B: "g2@4 [g3,b3,d4,g4]@3 ~ [b3,d4,g4]@3 [c4,e4,a4] [c4,e4,a4]@3 ~, ~@8 g3@7 ~",
  C: "~@4 [a3,d4]@7 [a3,d4] [a3,d4]@4, d3", D: "~@7 [a3,d4]@4 e4@5, e4@11 ~@5", E: "c4@11 c4@5, [e3,a#3]",
  F: "~@11 c4@5, a#3, ~ e3@3, ~@7 c3@9", G: "~@3 c3, c3@11 c4@5, ~ g4@3", H: "~@7 c4@9, g4, ~ c3@3",
  I: "g2@4 [g3,b3,d4,g4]@3 ~ [b3,d4,g4]@3 [c4,e4,a4] [c4,e4,a4]@4, ~ g3", // G Am
  J: "~@4 [a3,d4,f#4]@4 ~@3 [a3,d4,f#4] [a3,d4,f#4]@3 ~, d3 ~", K: "g2@4 [b3,d4,g4]@7 [c4,e4,a4] [c4,e4,a4]@4, ~ g3@3",
  L: "[~@23 b3@8 g#2, b2@11 d4@5 ~@4 d4@12, ~ f#3@3 ~@4, ~ b3 ~@2, ~@3 f#4@5]/2", M: "~@4 e4@7 e4@5, a2, ~ a4@3",
  N: "g4@7 ~@4 e4@5, ~@7 g4@9",
  O: "[[d4,f#4]@4 d4@7 ~@12 a3@4 ~ a3@4, ~@4 f#4@11 d3@5 d3@12, ~@11 d4@16 d4@5, ~@12 a3@11 ~@9, ~ f#4]/2", // D
  P: "~@11 d4@4 b3, e2, ~ e4@3, ~@8 b3@7 ~", Q: "~@3 d3, c#4@7 d4@9, ~ a2@3, ~@11 a3@5", R: "[g3,b3,d4,g4]/5",
})).s("gm_electric_guitar_muted").gain(0.42).pan(1)

// chords · acoustic guitar nylon · "Rythm Gt Nylon Bk32"
const acoustic_guitar_nylon = note(`<
  ~ A@8 B@2 C@4 A B A@8 B@2 C@4 A B A@2 D@2 E@2 F@2 G H A@6 B@2 C@2 I ~ A B A@2 D@2 E@2 F@2 G H A@6 B@2 C@2 I ~ A B A
  J@5 ~
>`.pickRestart({
  A: "[g2,b2,d3,g3,b3,g4]@3 [g3,b3,g4] [g2,b2,d3,g3,b3,g4]@3 [g3,b3,g4] [g2,b2,d3,g3,b3,g4]@3 [g3,c4,g4] [g2,e3,g3,c4,g4]@3 [g3,c4,g4]", // G C5 C C5
  B: "[d3,a3,c4,f#4]@3 [c4,f#4] [d3,a3,c4,f#4]@3 [c4,f#4] [d3,a3,c4,f#4]@3 [c4,f#4] [d3,a3,c4,f#4]@3 [c4,f#4]", // D7 Cdim D7 Cdim D7 Cdim D7 Cdim
  C: "[c3,e3,g3,c4,g4]@3 [g3,c4,g4] [c3,e3,g3,c4,g4]@3 [g3,c4,g4] [c3,e3,g3,c4,g4]@3 [g3,c4,g4] [c3,e3,g3,c4,g4]@3 [g3,c4,g4]", // C C5 C C5 C C5 C C5
  D: "[b2,f#3,b3,d4,f#4]@3 [b3,d4,f#4] [b2,f#3,b3,d4,f#4]@3 [b3,d4,f#4] [b2,f#3,b3,d4,f#4]@3 [b3,d4,f#4] [b2,f#3,b3,d4,f#4]@3 [b3,d4,f#4]", // Bm
  E: "[a2,e3,g3,c#4,e4]@3 [g3,c#4,e4] [a2,e3,g3,c#4,e4]@3 [g3,c#4,e4] [a2,e3,g3,c#4,e4]@3 [g3,c#4,e4] [a2,e3,g3,c#4,e4]@3 [g3,c#4,e4]", // A7 C#dim A7 C#dim A7 C#dim A7 C#dim
  F: "[d3,a3,d4,f#4]@3 [a3,d4,f#4] [d3,a3,d4,f#4]@3 [a3,d4,f#4] [d3,a3,d4,f#4]@3 [a3,d4,f#4] [d3,a3,d4,f#4]@3 [a3,d4,f#4]", // D
  G: "[e2,b2,e3,g3,b3,e4]@3 [g3,b3,e4] [e2,b2,e3,g3,b3,e4]@3 [g3,b3,e4] [e2,b2,e3,g3,b3,e4]@3 [g3,b3,e4] [e2,b2,e3,g3,b3,e4]@3 [g3,b3,e4]", // Em
  H: "[a2,e3,g3,c#4,e4]@3 [g3,c#4,e4] [a2,e3,g3,c#4,e4]@3 [g3,c#4,e4] [d3,a3,c4,f#4]@3 [c4,f#4] [d3,a3,c4,f#4]@3 [c4,f#4]", // A7 C#dim A7 C#dim D7 Cdim D7 Cdim
  I: "[c3,e3,g3,c4,g4] ~@3", J: "[g2,b2,d3,g3,b3,g4]/5",
})).s("gm_acoustic_guitar_nylon").gain(0.35).pan(0.2)

// drums · kick
const kick = s("bd").struct(`<
  ~@3 A@6 B A C A@6 B D A@15 D A@9 E B E A D A D E A@6 E B E A@15 F G A@3 H ~@5
>`.pickRestart({
  A: "x!2", B: "x ~@7 x ~@6 x", C: "x ~@2 x ~@4 x ~@7", D: "x ~@7 x ~@2 x ~@4", E: "x ~@7 x ~@2 x ~@3 x",
  F: "~@8 x ~@6 x", G: "x!4", H: "x",
})).gain(0.45)

// drums · snare
const snare = s("sd").struct(`<
  ~@3 A@7 B C A@2 D A@19 E A@7 E A@7 D A@2 F G A@3 D A@7 E A@10 H I A@2 D ~@6
>`.pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@7 x ~@2 x", C: "~@4 x ~@2 x ~@4 x ~@3", D: "~@4 x ~@6 x!3 ~ x", E: "~@4 x ~@6 x!2 ~@2 x",
  F: "~@3 x ~@3 x ~@3 x ~@3 x", G: "~@4 x ~@7 x!2 ~ x", H: "x ~@6 x ~@4 x ~@3", I: "~@3 x ~@3 x ~@3 x!3 ~ x",
})).gain(0.4)

// drums · hihat
const hihat = s("hh").struct("<~@3 A@32 ~@8 B A@7 B A ~@2 B A@3 ~@8 B A@9 ~@2 B A@2 ~@6>".pickRestart({
  A: "x ~@3 x ~@2 x!2 ~@3 x ~@2 x", B: "~@4 x ~@2 x!2 ~@3 x ~@2 x",
})).gain(0.4)

// drums · low tom
const low_tom = s("lt").struct("<~@53 [~@3 x] [~@11 x ~@4] ~@33>").gain(0.4)

// drums · mid tom
const mid_tom = s("mt").struct("<~@53 [~ x ~@2] [~@3 x ~@3 x ~@8] ~@33>").gain(0.4)

// drums · open hat
const open_hat = s("oh").struct("<~@77 [x ~@6 x ~@4 x ~@3] [~@3 x ~@3 x ~@3 x ~@4] ~@9>").gain(0.4)

// drums · crash
const crash = s("cr").struct("<~@35 A ~@7 A ~@7 A ~ A ~ A ~@3 A ~@7 A ~@11 A ~@2 A ~@5>".pickRestart({
  A: "x",
})).gain(0.35)

// drums · ride bell
const ride_bell = s("rd").struct(`<
  ~@35
  [~@4 x ~@2 x!2 ~@3 x ~@2 x]
  [x ~@3 x ~@2 x!2 ~@3 x ~@2 x]!7
  ~@16
  [~@4 x ~@2 x!2 ~@3 x ~@2 x]
  [x ~@3 x ~@2 x!2 ~@3 x ~@2 x]!7
  ~@21
>`).gain(0.4)

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

stack(
  bass, electric_guitar_muted, acoustic_guitar_nylon, kick, snare, hihat, low_tom, mid_tom, open_hat, crash, ride_bell,
  tambourine
)

More by The Beatles