Strudelify

Judy's Turn to Cry

Lesley Gore

KeyE♭ majorTempo136 bpm
0:00/0:00
// Judy's Turn to Cry — Lesley Gore
// 136 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 53 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(136/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · clavinet
const clavinet = note(`<
  A B C D E F G H I J K L M B C N O P Q R S F G H I J K L M B C N O P Q R S F G H I J K L M B C N O P Q R T
>`.pickRestart({
  A: "~@4 f4@3 ~ g4@3 ~ f4@3 ~", B: "g4@2 ~@6 eb4@3 ~ g4@2 ~@2", C: "g4@2 ~@2 eb4@3 ~ g4@2 ~@6",
  D: "~@4 eb4@7 ~ eb4@2 eb4@2", E: "eb4@2 eb4@2 eb4@2 f4@2 ~@2 f4@3 ~@3", F: "eb4 ~@3 eb4 ~@3",
  G: "c4@2 bb3@5 ~@7 bb3@2", H: "bb3@3 ~ bb3@3 ~ eb4@2 eb4@2 g4@2 ab4@2", I: "ab4@15 ~", J: "eb4@2 ~@6 eb4@3 ~ eb4@3 ~",
  K: "e4@5 ~ b3@2 b3@3 ~@5", L: "db4@3 ~ db4@2 db4@2 db4@2 db4@3 ~ d4@2", M: "d4@3 ~ f4@3 ~ g4@3 ~ f4@3 ~",
  N: "~@4 eb4@11 ~", O: "c4@7 ~@5 eb4@3 ~", P: "eb4@2 eb4@2 eb4@3 ~ f4@3 ~ f4@2 f4@2", Q: "f4@2 f4@2 ~@2 f4@2 f4@3 ~@5",
  R: "~@4 bb3@11 ~", S: "~ bb4!6 gb4", T: "~@4 ab4@2 ab4@2 g4@3 ~@5",
})).s("gm_clavinet").gain(0.35).pan(0.7)

// other · electric guitar jazz
const electric_guitar_jazz = note(`<
  A B C D E F G F G F H I J B C K D L M B N F G F G F H I J B C K D L M B N F G F G F H I J B C K D L M B O
>`.pickRestart({
  A: "~@4 bb2@3 ~ bb2@3 ~ bb2@3 ~", B: "eb2@3 ~@3 bb2@2 bb2@3 ~ bb2@3 ~", C: "eb2@3 ~@3 bb2@2 bb2@3 ~ eb2@3 ~",
  D: "c2@3 ~@3 g2@2 g2@3 ~ c3@2 bb2@2", E: "ab2@2 ab2@2 ab2@2 bb2@2 ~@2 bb2@3 ~@3", F: "eb2@3 ~@3 bb2@2 bb2@3 ~@5",
  G: "f2@3 ~@3 bb2@2 bb2@3 ~ bb2@3 ~", H: "e2@3 ~@3 b2@2 b2@3 ~ e2@3 ~", I: "a2@3 ~@3 e3@2 e3@3 ~ a2@2 bb2@2",
  J: "a2@3 ~ bb2@3 ~ bb2@3 ~ bb2@3 ~", K: "c2@3 ~@3 g2@2 g2@3 ~ g2@3 ~", L: "ab2@3 ~@3 ab2@2 bb2@3 ~ f2@3 ~",
  M: "bb2@3 ~@3 f2@2 bb2@3 ~ bb2@3 ~", N: "f2 bb2!6 ~", O: "eb2@3 ~ bb2@2 bb2@2 eb2@3 ~@5",
})).s("gm_electric_guitar_jazz").gain(0.35).pan(0.3)

// other · electric bass finger
const electric_bass_finger = note(`<
  A B C D E F G H I J K L M B C N O P Q R S F G H I J K L M B C N O P Q R S F G H I J K L M B C N O P Q R T
>`.pickRestart({
  A: "~@4 d4@3 ~ d4@3 ~ d4@3 ~", B: "eb4 ~@5 eb4 ~", C: "eb4 ~@3 eb4 ~@3", D: "~@4 c4@7 ~ c4@2 c4@2",
  E: "c4@2 c4@2 c4@2 d4@2 ~@2 d4@3 ~@3", F: "bb3 ~@3 bb3 ~@3", G: "~@2 ab3@5 ~@7 bb3@2",
  H: "g3@3 ~ g3@3 ~@5 eb4@2 d4@2", I: "d4@15 ~", J: "bb3@2 ~@6 bb3@3 ~ bb3@3 ~", K: "b3@5 ~ ab3@2 ab3@3 ~@5",
  L: "a3@3 ~ a3@2 a3@2 a3@2 a3@3 ~ ab3@2", M: "ab3@3 ~ d4@3 ~ d4@3 ~ d4@3 ~", N: "~@4 c4@11 ~", O: "g3@7 ~@5 c4@3 ~",
  P: "c4@2 c4@2 c4@3 ~ d4@3 ~ d4@2 d4@2", Q: "d4@2 d4@2 ~@2 d4@2 d4@3 ~@5", R: "~@4 g3@11 ~", S: "~ d4!6 gb4",
  T: "~@4 d4@2 d4@2 eb4@3 ~@5",
})).s("gm_electric_bass_finger").gain(0.35)

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

// drums · snare
const snare = s("sd").struct("<~ [~ x ~ x]!52>").gain(0.3)

// drums · hihat
const hihat = s("hh").struct("<~ [x!8]!52>").gain(0.35)

// drums · tambourine
const tambourine = s("tb").struct("<~ [~ x ~ x]!52>").gain(0.4)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~ [x!3 ~@13]!52>").gain(1.76)

stack(clavinet, electric_guitar_jazz, electric_bass_finger, kick, snare, hihat, tambourine, cabasa)

More by Lesley Gore