Strudelify

The Girl I Knew Somewhere

The Monkees

KeyC majorTempo200 bpm
0:00/0:00
// The Girl I Knew Somewhere — The Monkees
// 200 bpm, 4/4, key C 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(200/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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.

// other · piano
const piano = note(`<
  A B C@4 D E@3 F@4 G H@3 I@4 J K@3 A L@3 D E@3 M@2 N@2 O P@3 Q@4 R S@3 T U@3 V W@3 X@4 D E@3 M@2 N@2 O P@3 Q@4 R S@3 A
  Y@3 A Z
>`.pickRestart({
  A: "c3@7 c3@2 c3@7", B: "c3 c3@7", C: "[c3@2 c3@7 c3@2 c3@7 c3@2 ~ c3@6 c3@2 ~ c3@13 c3@2 ~ c3@7 c3@2 c3@7 c3@2]/4",
  D: "c3@9 c3@7", E: "[c3@2 c3@9 c3@7 c3@2 ~ c3@9 c3@7 c3@2 c3@9]/3",
  F: "[c3@7 c3@2 c3@9 c3@7 c3@2 c3@9 ~ c3@6 c3@2 ~ c3@4 g2@5 c3@7 a#2@2]/4", G: "a2@5 g2@4 f2@7",
  H: "[f2@2 f2@9 f2@7 f2@2 ~ f2@9 f2@7 f2@2 f2@9]/3",
  I: "[c3@7 c3@2 c3@9 c3@7 c3@2 c3@9 ~ c3@6 c3@2 ~ c3@9 d3@7 d3@2]/4", J: "d3@9 g2@7",
  K: "[g2@2 g2@9 c3@7 c3@2 ~ c3@4 g2@5 c3@7 c3@2 c3@7 c3@2]/3",
  L: "[c3@2 c3@7 c3@2 c3@7 c3@2 ~ c3@6 c3@2 ~ c3@9 c3@7 c3@2]/3", M: "[c3@7 c3@2 c3@9 c3@7 c3@2 c3@5]/2",
  N: "[g2@5 c3@6 a#2@2 ~ a2@4 g2@5 f2@7 f2@2]/2", O: "f2@9 f2@7", P: "[f2@2 f2@9 f2@7 f2@2 ~ f2@9 c3@7 c3@2 c3@9]/3",
  Q: "[c3@7 c3@2 c3@9 c3@7 c3@2 c3@9 ~ d3@6 d3@2 ~ d3@9 g2@7 g2@2]/4", R: "g2@9 c3@7",
  S: "[c3@2 c3@5 g2@4 c3@7 c3@2 ~ c3@6 c3@2 ~ c3@7 c3@2 c3@7 c3@2]/3", T: "e2@7 e2@2 e2@7",
  U: "[e2@2 e2@7 e2@2 e2@7 e2@2 ~ a#2@6 a#2@2 ~ a#2@9 b2@7 b2@2]/3", V: "b2@5 b2@4 g#2@7",
  W: "[g#2@2 g#2@7 c3@2 g#2@7 c3@2 ~ c3@6 c3@2 ~ g2@7 g2@2 g2@9]/3",
  X: "[g2@18 c3@7 c3@2 c3@7 c3@2 ~ c3@6 c3@2 ~ c3@9 c3@7 c3@2]/4",
  Y: "[c3@2 c3@7 c3@2 c3@7 c3@2 ~ c3@6 c3@2 ~ c3@7 c3@2 c3@7 c3@2]/3", Z: "c3@2 c3@7 c3@2 ~@5",
})).s("gm_piano").gain(0.36)

// other · piano
const piano_2 = note(`<
  A B@4 C@5 D@8 E@4 F@4 A G@4 H@3 I@8 J@3 K L M@3 N@8 O@5 H@3 I@8 J@3 K L M@3 A P@2 Q R@2
>`.pickRestart({
  A: "g4@9 ~@2 a4@5", B: "[~@2 g4@9 ~@3 f4@5 ~@8 g4@9 ~@3 a4@5 ~@2 g4@9 ~@2 f4@5 ~@2]/4",
  C: "[~@7 g4@18 g4@18 g4@7 ~@12 e4@14 ~@4]/5",
  D: "[g4@18 g4@18 ~ g4@6 c5@2 ~ g4@9 g4@14 a#4@4 a4@18 a4@18 ~ g#4@18]/8", E: "[g4@18 g4@18 ~ g4@18 ~@9]/4",
  F: "[~@9 f4@9 g4@9 e4@7 g4@2 ~ e4@9 g4@9 ~@2 f4@5 ~@2]/4", G: "[~@2 g4@9 ~@3 f4@5 ~@2 g4@18 g4@18 g4@7]/4",
  H: "[~@11 e4@14 ~@5 g4@18]/3", I: "[g4@18 g4@7 c5@2 g4@9 ~ g4@13 a#4@5 a4@18 a4@18 g#4@18 ~ g4@18]/8",
  J: "[g4@3 g4@3 ~@2]/3", K: "~@7 f4@9", L: "g4@9 e4@7", M: "[g4@2 e4@9 g4@9 ~@3 f4@5 ~@2 g4@9 ~@2 a4@5 ~@2]/3",
  N: "[f#4@9 f#4@9 f#4@9 f#4@9 ~ f4@18 f4@18 g#4@9 g#4@9 g#4@9 ~ g#4@9 f4@4 f4@5 f4@2 a4@7]/8",
  O: "[b4@18 g4@9 ~@3 f4@5 ~@2 g4@18 g4@18 g4@7]/5", P: "[~@2 g4@9 ~@3 f4@5 ~@2 g4@9 ~@2]/2", Q: "f4@5 ~@2 g4@9",
  R: "[~@2 f4@5 ~@2 g4@9 ~@3 f4@5 ~@6]/2",
})).s("gm_piano").gain(0.36)

stack(piano, piano_2)

More by The Monkees